java面试题网

普通会员

483

帖子

9

回复

187

积分

楼主
发表于 2019-08-26 15:24:39 | 查看: 5020| 回复: 0

处理器方法的参数

处理器方法的参数

处理器方法可以包含以下四类参数,这些参数会在系统调用时由系统自动赋值,即程序员可在方法内直接使用。

➢ HttpServletRequest

➢ HttpServletResponse

➢ HttpSession

➢ 请求中所携带的请求参数

逐个参数接收(掌握)

只要保证请求参数名与该请求处理方法的参数名相同即可。

项目:receiveParameters-property。在 requestMapping-method 基础上修改。

Step1:修改 index 页面

处理器方法的参数_www.wityx.com

Step2:修改处理器类 MyController

处理器方法的参数_www.wityx.com

Step3:添加 show 页面

在/WEB-INF/jsp 下添加 show.jsp 页面。

处理器方法的参数_www.wityx.com

请求参数中文乱码问题(掌握)

对于前面所接收的请求参数,若含有中文,则会出现中文乱码问题。Spring 对于请求参数中的中文乱码问题,给出了专门的字符集过滤器:spring-web-4.3.9.RELEASE.jar 的org.springframework.web.filter 包下的 CharacterEncodingFilter 类。

处理器方法的参数_www.wityx.com

(1) 解决方案

在 web.xml 中注册字符集过滤器,即可解决 Spring 的请求参数的中文乱码问题。不过,最好将该过滤器注册在其它过滤器之前。因为过滤器的执行是按照其注册顺序进行的。直接在项目 receiveParameters-property 上进行修改。

处理器方法的参数_www.wityx.com

(2) 源码分析

打开 CharacterEncodingFilter 类的源码,发现有三个 set 方法。

处理器方法的参数_www.wityx.com

字符集设置核心方法:

处理器方法的参数_www.wityx.com

校正请求参数名@RequestParam(掌握)

所谓校正请求参数名,是指若请求 URL 所携带的参数名称与处理方法中指定的参数名不相同时,则需在处理方法参数前,添加一个注解@RequestParam(“请求参数名”),指定请求 URL 所携带参数的名称。该注解是对处理器方法参数进行修饰的。value 属性指定请求参数的名称。

项目:receiveParameters-params。在 receiveParameters-property 基础上修改。

Step1:修改 index 页面

将表单中的参数名称修改的与原来不一样。

处理器方法的参数_www.wityx.com

Step2:修改处理器类 MyController

处理器方法的参数_www.wityx.com

对象参数接收(掌握)

将处理器方法的参数定义为一个对象,只要保证请求参数名与这个对象的属性同名即可。

项目:receiveParameters-object。在 receiveParameters-property 基础上修改。

Step1:定义类 Student

处理器方法的参数_www.wityx.com

Step2:修改处理器类 MyController

处理器方法的参数_www.wityx.com

Step3:修改 show 页面

处理器方法的参数_www.wityx.com


文章来自www.wityx.com,转载请注明出处!原文地址http://www.wityx.com/post/1219_1_1.html

您需要登录后才可以回帖 登录 | 立即注册

java面试题网www.wuliaokankan.cnjava建站系统提供技术支持V2.1 网站地图 © 2016-2018