络腮胡菲菲 发表于 7 天前

SpringMVC的初理解

1. SpringMVC是对表述层(Controller)办理方案
https://i-blog.csdnimg.cn/direct/66183125214b4522ac0e7ebac7569528.png
主要是        1.简化前端参数接收( 形参列表 )
                   2.简化后端数据响应(返回值)
https://i-blog.csdnimg.cn/direct/91ca91a39b814721846a2cc92f02f7f6.png
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中)
   //开启静态资源处理 <mvc:default-servlet-handler/>
    @Override
    public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
      configurer.enable();
    } 3.使用RESTFul的风格:
                1.使用路径的命名
                2.使用什么参数响应
                3.使用什么方式哀求
                https://i-blog.csdnimg.cn/direct/109f3f4b4c2a4cbd8065f1ae6f801641.png
在命名的时间,建议不要去用动词(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(必须要与参数相邻)



                                

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: SpringMVC的初理解