encodingfilter_gbk.java

来自「自己写的jfreechart demo」· Java 代码 · 共 46 行

JAVA
46
字号
package com.founder.util;

import javax.servlet.ServletException;
import javax.servlet.ServletContext;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.http.HttpSession;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class EncodingFilter_GBK implements Filter
{
    private FilterConfig config = null;
    private String targetEncoding = "GBK";

    public void init(FilterConfig config) throws ServletException
    {
        this.config = config;
        this.targetEncoding = config.getInitParameter("encoding");
    }

    public void destroy()
    {
        config = null;
        targetEncoding = null;
    }

    public void doFilter(ServletRequest srequest, ServletResponse sresponse, FilterChain chain) throws IOException, ServletException
    {
        HttpServletRequest request = (HttpServletRequest) srequest;

        HttpServletResponse response = (HttpServletResponse) sresponse;
        response.setHeader("Cache-Control", "no-store");
        response.setHeader("Pragma", "no-cache");
        response.setDateHeader("Expires", 0);
        String s = request.getCharacterEncoding();
        if (s == null)
            request.setCharacterEncoding("GBK");
        chain.doFilter(srequest, sresponse);
    }
}

⌨️ 快捷键说明

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