首页 > 编程 > JSP > 正文

一个简单的JAVA字符集过滤器实现

2020-07-27 21:43:19
字体:
来源:转载
供稿:网友

复制代码 代码如下:

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);
}
}

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表