Filter统一编码实现

Filter统一编码实现

Web.xml配置如下:

<span style="font-size:14px;"><?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<filter>
<filter-name>CharsetFilter</filter-name>
<filter-class>org.sf.j20.CharsetFilter</filter-class>
<init-param>
<param-name>charset</param-name>
<param-value>gbk</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharsetFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app></span>


java代码

<span style="font-size:14px;">import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class CharsetFilter implements Filter {
private String charset = null;
@Override
public void destroy() {
this.charset = null;
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding(charset); //设置请求 
response.setCharacterEncoding(charset); //设置响应
chain.doFilter(request, response);
}
@Override
public void init(FilterConfig filterConfig) throws ServletException {
this.charset = filterConfig.getInitParameter("charset");
}</span>

这是对所有页面的编码格式都换成GBK,这样就不用担心哪个页面的编码问题了

发布了269 篇原创文章 · 获赞 2 · 访问量 6963

猜你喜欢

转载自blog.csdn.net/zhupengqq1/article/details/104260452
今日推荐