Spring MVC之@SessionAttributes和@CookieValue
@SessionAttributes注解可以指定将Model中的某些属性转存一份到HttpSession对象中。
@CookieValue注解用于将请求的Cookies数据映射到功能处理方法的参数上。
Spring MVC之@SessionAttributes和@CookieValue
@SessionAttributes注解可以指定将Model中的某些属性转存一份到HttpSession对象中。
@CookieValue注解用于将请求的Cookies数据映射到功能处理方法的参数上。
Spring MVC之@PathVariable和@RequestHeader
@PathVariable注解可以方便地获得请求URL中的动态参数,该注解只支持一个属性value,类型是String, 表示绑定的名称,如果省则默认绑定同名参数。
@RequestHeader注解可以将请求头的信息区数据映射到功能处理方法的参数上。
SpringMVC获取请求参数可以有多种方式实现,对请求方式上也有些差异,现做下总结。
从前端(浏览器)发送请求到后端基本脱离不了POST,GET两种方式,其它方式在应用中几乎绝迹,不参与分析。SpringMVC获取这两种请求的参数有多种方式。
Spring MVC Controller接收多种类型的数据
Spring MVC 接收多种类型的数据,及多种传参方式。
fastjson 相比默认的jackson效率更好,在一些复杂的json结构中更容易操作。
汇总SpringMVC配置文件springmvc.xml相关配置。
当页面提交请求时,提交的数据的编码格式由请求头的contentType指定,SpringMVC根据指定的编码格式对请求提交的数据进行处理。SpringMVC 为方法提供了一些很容易使用的注解来处理请求提交的数据。
ContentType指定的类型,可以分以下几种:
application/x-www-form-urlencoded:发请求的默认类型,可使用 @RequestParam, @ModelAttribute, @RequestBody 来处理。multipart/form-data:@RequestBody 不能处理这种格式数据。application/json,application/xml:必须使用 @RequestBody 来处理。实际开发中,@RequestBody可以很方便地接收JSON格式数据,并转换成对应的数据类型绑定到方法属性上。
Spring MVC之HttpMessageConverter<T>接口
全路径:org.springframework.http.converter.HttpMessageConverter<T>
HttpMessageConverter接口负责将请求信息转换为一个T类型的对象,并将T类型对象绑定到请求方法的参数中或输出为响应信息。
DispatcherServlet默认已经装配配了RequestMappingHandlerAdapter作为HandlerAdapter组件的实现类,即 HttpMessageConvert 由 RequestMappingHandlerAdapter使用,将请求信息转换为对象,或将对象转换为响应信息。
@ModelAttribute注解将请求参数绑定到Model对象,只支持一个value属性,类型是String。
该注解的方法会在所有Controller方法执行前执行,所在一个Controller映射多个URL时,谨慎使用。个人认为该注解有些鸡肋。
SpringMVC为Controller方法提供了多种注解,很方便的可以对请求进行约定和处理。@RequestParam,@PathVariable,@CookieValue,@RequestHeader