SpringMVC的初理解

**1. SpringMVC是对表述层(Controller)**解决方案

主要是 1.简化前端参数接收( 形参列表 )

2.简化后端数据响应(返回值)

1.数据的接受

1.路径的匹配 使用@RequestMapping(可以在类上或在方法上),支持模糊查询,在内部有method附带请求方式限制(有Post,get ,put delete).有GetMapping,PostMapping

2.接受参数:(如果不是接受视图的,使用@ResponseBody)

1.params的参数:@RequestParam

2.路径的参数:在@RequestMapping使用{},使用@PathVaribale

3.json的数据:@RequestBody(需要配置jackson的Maven包在config中使用@

EnbaleWebMvc)

4.Cookie的数据:@CookieValue

5.获得请求头的数据:@RequestHeader

2.响应数据:1.转发(forward:/*)与重定向(redirect:/*):

2.返回json的数据:@EnableWebMvc,在方法使用@ResponseBody

3.返回静态的资源:(在config中)

java 复制代码
   //开启静态资源处理 <mvc:default-servlet-handler/>
    @Override
    public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
        configurer.enable();
    }

3.使用RESTFul的风格:

1.使用路径的命名

2.使用什么参数响应

3.使用什么方式请求

在命名的时候,建议不要去用动词(URL的路径要求.

总结:使用put与Post使用Json参数请求,而使用delete ,get 使用 param 与路径,返回值只有一个时,使用路径。

4.SpringMvc的其他:

1.全局的异常处理:申明一个advice的类,@ResponseBody与@ControllerAdvicec

在类中写异常信息,使用@ExceptionHandle

2.使用拦截器:(在请求handle前,后与请求视图后),接口是WebMvcConfigurer

使用preHandle ,postHandle,afterCompletion方法,addInterceptRegistry,excludePathpatterns

3.参数校验:使用JSR303,需要区别@NotNull,@NotEmpty,@NotBlank

如果出现了异常,使用BindingResult(必须要与参数相邻)

相关推荐
丘山一郎8 小时前
Spring 中的IOC控制反转 和DI依赖注入
java·后端·spring
码视野8 小时前
基于 Spring Boot + Vue3 的【大学英语四六级 (CET-4/6) 作文智能评分与句式润色系统】设计与实现(含PRD/三端高保真源码/大屏)
java·前端·人工智能·spring boot·后端·vue3
MetaLite8 小时前
Spring-AOP自调用为什么失效-AopContext真能解决吗
java·后端·spring
大模型码小白8 小时前
AI 对话流性能调优:万级消息的虚拟滚动落地
java·大数据·前端·javascript·人工智能·算法·机器学习
m0_547486668 小时前
《JavaScript核心原理 》全套PPT课件2026
开发语言·javascript·ecmascript
许彰午9 小时前
14-字段级SM4加密与SM2签名
java·低代码·架构
MC皮蛋侠客9 小时前
Tauri 2.x 系列(五):调用系统 API——官方插件、Rust crate 与原生能力
开发语言·后端·rust
布莱克60510 小时前
软中断和硬中断的区别
开发语言·操作系统
whcyhhh10 小时前
头歌实践教学平台:数据科学与大数据技术导论(十二)
大数据·开发语言·python·数据清洗
许彰午10 小时前
13-describe元数据输出
java·低代码·架构·状态模式