1.请求处理方法签名
1)SpringMVC通过分析处理方法的签名,HTTP请求信息绑定到处理方法的相应人参中。
2)SpringMVC对控制器处理方法签名的限制是很宽松的,几乎可以按喜欢的任何方式对方法进行签名。
3)必要时可以对方法及方法入参标注相应的注解(
PathVariable、RequestParam、RequestHeader等)、4)SpringMVC框架会将HTTP请求的信息绑定到相应的方法入参中,并根据方法的返回值类型做出相应的后续处理。
2.
RequestParam注解1)在处理方法入参处使用
RequestParam可以把请求参数传递给请求方法2)value:参数名
3)required:是否必须。默认为true,表示请求参数中必须包含对应的参数,若不存在,将抛出异常
4)defaultValue:默认值,当没有传递参数时使用该值
2.1实验代码
3.
RequestHeader注解1)使用
RequestHeader绑定请求报头的属性值2)请求头包含了若干个属性,服务器可据此获知客户端的信息,通过
RequestHeader即可将请求头中的属性值绑定到处理方法的入参中3.1实验代码
4.
CookieValue注解1)使用
CookieValue绑定请求中的Cookie值2)
CookieValue可让处理方法入参绑定某个Cookie值
4.1实验代码
1)增加控制器方法
5.使用POJO作为参数
1)使用POJO对象绑定请求参数值
2)SpringMVC会按请求参数名和POJO属性名进行自动匹配,自动为该对象填充属性值。支持级联属性。如:deptId、dept.address.tel等
5.1实验代码
4)如果中文有乱码,需要配置字符编码过滤器,且配置其他过滤器之前,
如(HiddenHttpMethodFilter),否则不起作用。(思考method=”get”请求的乱码问题怎么解决的)
6.使用Servlet原生API作为参数
1)MVC的Handler方法可以接受哪些ServletAPI类型的参数
HttpServletRequestHttpServletResponseHttpSessionsecurity.PrincipalLocaleInputStreamOutputStreamReaderWriter2)源码参考:AnnotationMethodHandlerAdapterL
3)
6.1实验代码
文章转载链接: