乱码问题
1、我们首先页编写一个简单的提交的表单
<form action="test" method="get">
<input type="text" name="name">
<input type="submit">
</form>
2、在后台编写对应的处理类
@RequestMapping("/test")
public String test3(@RequestParam("name") String name, Model model){
System.out.println(name);
model.addAttribute("msg",name);
return "test";
}
3、在web.xm中使用spring mvc为我们提供解决乱码问题的类
<filter>
<filter-name>encoding</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!--
注意:其中/和/*的区别:
< url-pattern > / </ url-pattern > 不会匹配到*.jsp,即:*.jsp不会进入spring的 DispatcherServlet类 。
< url-pattern > /* </ url-pattern > 会匹配*.jsp,会出现返回jsp视图时再次进入spring的DispatcherServlet 类,导致找不到对应的controller所以报404错。
所以此处过滤器的路径应为:/*
-->
但是我们发现 , 有些极端情况下.这个过滤器对get的支持不好 .
处理方法 :修改tomcat配置文件 :设置编码!
<Connector URIEncoding="utf-8" port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />