encodingfilter.java

来自「精通java核心技术》随书源代码」· Java 代码 · 共 49 行

JAVA
49
字号
// ==================== Program Discription =====================
// 程序名称:示例14-7 : EncodingFilter .java
// 程序目的:学习使用过滤器
// ==============================================================
import javax.servlet.FilterChain;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import javax.servlet.FilterConfig;



public class EncodingFilter implements Filter
{
    
    private String targetEncoding = "gb2312";
    protected FilterConfig filterConfig;
    
    public void init(FilterConfig config) throws ServletException {
        this.filterConfig = config;
        this.targetEncoding = config.getInitParameter("encoding");
    }
    
   
     public  void doFilter(ServletRequest srequest, ServletResponse  sresponse, FilterChain chain)
        throws IOException, ServletException {
       
        HttpServletRequest request = (HttpServletRequest)srequest;
        request.setCharacterEncoding(targetEncoding);
        // 把处理发送到下一个
       chain.doFilter(srequest,sresponse);  
    }
    
    public void destroy()
	{
		this.filterConfig=null;
	}

	public void setFilterConfig(final FilterConfig filterConfig)
	{
		this.filterConfig=filterConfig;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?