第1章 Linux 简介
第2章 Linux 命令
第3章 开发相关

处理器方法的参数

  

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

➢ HttpServletRequest

➢ HttpServletResponse

➢ HttpSession

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

 

逐个参数接收(掌握)

 

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

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

 

Step1:修改 index 页面

 

 

Step2:修改处理器类 MyController

 

 

Step3:添加 show 页面

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

 

 


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

 

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

 

 

 

(1) 解决方案

 

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

 

 

(2) 源码分析

 

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

 

 

字符集设置核心方法:

 

 

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

 

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

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

 

Step1:修改 index 页面

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

 

 

Step2:修改处理器类 MyController

 

 

对象参数接收(掌握)

 

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

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

 

Step1:定义类 Student

 

 

Step2:修改处理器类 MyController

 

 

Step3:修改 show 页面

 

  

 

全部教程