Spring MVC 接收请求参数的注解和响应注解

1.Http请求 的编码方式有3种

当前台界面使用GET或POST方式提交数据时,request的body部分的数据编码格式由header部分的Content-Type指定,有以下几种方式

  1. application/x-www-form-urlencoded(默认)   
  2. multipart/form-data  (form表单里面有文件上传时,必须要指定enctype属性值为multipart/form-data,意思是以二进制流的形式传输文件)
  3.  application/json、application/xml等格式的数据 

 

2.Spring MVC 用来处理请求参数的注解

   @PathVariable  @RequestParam @ModelAttribute  @RequestBody

   Spring MVC 提供了多个注解来获取get,post等请求中的参数。不同注解可以处理的参数是根据请求的编码方式来决定的。即根据request header content-type 值来判断。(换句话理解:Spring MVC项目中 controller中方法接收参数有多种方式,具体采用哪种方式是根据 请求的编码方式来决定的)

@PathVariable 用来获取请求url中的参数

@RequestParam注解   如果get或post请求中 参数是 application/x-www-form-urlencoded或者multipart/form-data编码方式,@RequestParam 可以处理。                                                                                                                                  RequestParam可以接受简单类型的属性,也可以接受对象类型 。                                                                                      RequestParam实质是将Request.getParameter() 中的Key-Value参数Map 利用Spring的转化机制ConversionService配置,转化成参数接收对象或字段。get方式中query String的值,和post方式中body data的值都会被Servlet接受到并转化到Request.getParameter()参数集中,所以@RequestParam可以获取的到

@RequestBody 用来处理以application/json、application/xml等格式提交的数据

@ModelAttribute 注解类型将参数绑定到Model对象


3.Spring MVC  控制器方法的两种返回值

Spring MVC 在使用 @RequestMapping 后,返回值通常解析为跳转路径

但是加上 @ResponseBody 后返回结果不会被解析为跳转路径,会直接返回 json 数据,写入 HTTP response body 中。 比如异步获取 json 数据。
 

     

 

你可能感兴趣的:(Spring,MVC,前后台交互-form)