1.filter类的代码 :
package com.yourpackage;
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;
import javax.servlet.UnavailableException;

/** *//**
* Example filter that sets the character encoding to be used in parsing the
* incoming request
* 字符集过滤器,解决Java中文问题,非常有效
*/
public class SetCharacterEncodingFilter implements Filter ...{

/** *//**
* Take this filter out of service.
*/
public void destroy() ...{
}
/** *//**
* Select and set (if specified) the character encoding to be used to
* interpret request parameters for this request.
*/
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain)throws IOException, ServletException ...{
request.setCharacterEncoding("GB2312");
// 传递控制到下一个过滤器
chain.doFilter(request, response);
}

public void init(FilterConfig filterConfig) throws ServletException ...{
}
}
2.web.xml里面的配置:
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>netstore.framework.util.SetCharacterEncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
本文介绍了一种用于解决Java应用程序中中文问题的字符集过滤器实现方式。通过设置请求参数的字符编码为GB2312,在解析请求时正确处理中文字符。此过滤器在web.xml中进行配置,并应用于所有URL。
187

被折叠的 条评论
为什么被折叠?



