JAVA字符集过滤器函数代码
复制代码 代码如下: package dw05prj.util.filter;
import javax.servlet.Filter; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.FilterChain; import java.io.IOException;
/*页面字符集过滤流*/
/* 在web.xml中配制的例子 <filter> <filter-name>CharEncodingFilter</filter-name> <filter-class>dw05prj.util.filter.CharEncodingFilter</filter-class> <init-param> <param-name>charset</param-name> <param-value>GBK</param-value> </init-param>
</filter> <filter-mapping> <filter-name>CharEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> */
public class CharEncodingFilter implements Filter {
private String charSet ;
public void init(FilterConfig parm1) throws ServletException { charSet = parm1.getInitParameter("charset") ; if (charSet == null && charSet.length() < 1) { charSet = "UTF-8" ; } System.out.println ("CharEncodingFilter--字符集: " + this.getCharSet()) ; }
public void doFilter(ServletRequest parm1, ServletResponse parm2, FilterChain parm3) throws IOException, ServletException {
// 设定字符集 parm1.setCharacterEncoding(this.getCharSet()); parm3.doFilter(parm1, parm2); //页面中每个向服务器的请求都被过滤 -- 如 图片,js,HTML/JSP等等 //System.out.println ("---CharEncodingFilter: " + this.getCharSet()) ; }
public void destroy() { // TODO: Add your code here this.setCharSet(null) ; }
public void setCharSet(String charSet) { this.charSet = charSet; }
public String getCharSet() { return (this.charSet); } }
|