struts中form表单提交给Servlet中文乱码问题
写好对request重新以gb2312或者其他适合的编码的Filter,在WEB.XML配置好就成。
具体工作如下:
自己写一个EncodingFilter类实现Serlvet的Filter接口,实现该接口的 doFilter()方法,此方法就是Filter所要完成的工作所以在该方法里面就要实现对 request 的重编码 request.setCharacterEncoding(this.encoding),这里的encoding是从Filter的配置文件里面读取出来的,而这个工作是靠实现Filter接口的init(FilterConfig filterConfig)方法来完成的,最后记住实现Filter的destroy()。
在写好自己的过滤器以后就要在web.xml下配置好该过滤器
具体配置如下:
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>过滤器类的全名</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>gb2312</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>