在文本框输入中文时,有时会出现乱码的问题,为解决此问题,可以采用过滤器的方法:filter。
套路:
第一步:
首先建立一个非默认包的类,该类调用javax.servlet.Filter接口。
本例中非默认包:com.demo.filter
类名:Myfilter.java 该类调用Interfaces:javax.servlet.Filter
第二步:
在
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
中添加以下代码:
arg0.setCharacterEncoding("UTF-8"); //请求方编码类型
arg1.setCharacterEncoding("UTF-8"); //响应方编码类型
arg2.doFilter(arg0,arg1); //doFilter方法进行码集转换
OVER
第三步:
在web.xml文档中,
添加filter: Add Before -> context-param - login-config ->filter
再添加filter-mapping: Add Before -> context-param - login-config ->filter-mapping
添加后需要修改:
<filter-name> ---->过滤器名 本例为:Myfilter
<filter-class> ---->上面filter类的全路径(包括包路径以及类名),本例为:com.demo.filter.Myfilter
<url-pattern> ----> /* 表全部
修改后web.xml中关于filter的代码如下:
<filter>
<filter-name>Myfilter</filter-name>
<filter-class>com.demo.filter.Myfilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Myfilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
通过以上三步,就可以实现过滤器的功能了!!!!
2006年8月25日 李涛