`

一个简单的JAVA字符集过滤器实现 -vb2005xu 自己动手

阅读更多
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); 
	}	
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics