过滤器解决中文乱码
-
- 1.使用过滤器解决中文乱码(POST乱码)
- 2.使用Spring 中提供字符编码过滤器
1.使用过滤器解决中文乱码(POST乱码)
设立过滤器:
package com.filter;
import javax.servlet.*;
import java.io.IOException;
public class EncFilter implements Filter {
String enc;
@Override
public void init(FilterConfig filterConfig) throws ServletException {
//读取初始化参数
enc = filterConfig.getInitParameter("e");
}
@Override
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException {
//【1】到达目标资源之前的预处理
req.setCharacterEncoding(enc);
//【2】执行目标资源方法或者下一个过滤器
chain.doFilter(req, resp);
//【3】离开服务器之前的处理操作
}
@Override
public void destroy() {
}
}
web.xml
<filter>
<filter-name>enc</filter-name>
<filter-class>com.filter.EncFilter</filter-class>
<init-param>
<param-name>e</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>enc</filter-name>
<url-pattern>/servlet/*</url-pattern>
</filter-mapping>
2.使用Spring 中提供字符编码过滤器
<filter>
<filter-name>encod</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>encod</filter-name>
<url-pattern>/servlet/*</url-pattern>
</filter-mapping>
版权声明:本文不是「本站」原创文章,版权归原作者所有 | 原文地址: