characterencodingfilter.java

来自「项目是实现网络购物功能」· Java 代码 · 共 50 行

JAVA
50
字号
package com.tarena.shoppingcart.filter;

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;

//字符编码过滤,若配置文件中不指定,则默认使用GBK编码
public class CharacterEncodingFilter implements Filter
{
	private FilterConfig config = null;
    
    public void init(FilterConfig config) throws ServletException
    {
        this.config = config;
    }
    
    public void doFilter(ServletRequest request,
                            ServletResponse response,
                                FilterChain chain)
                                throws IOException, ServletException
    {
    	String encoding = config.getInitParameter("encoding");
        if(encoding == null)
        {
            encoding = "gbk";
        }
        String ignore = config.getInitParameter("ignore");
        boolean transform = true;
        if(ignore != null)
        {
            if(ignore.equals("true") || ignore.equals("yes") || ignore.equals("on"))
            {
                transform = false;
            }
        }
        if(transform)
        {
            request.setCharacterEncoding(encoding);
        }
        chain.doFilter(request, response);
    }
    
    public void destroy()
    {
    }
}

⌨️ 快捷键说明

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