encodingfilter_utf8.java

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

JAVA
52
字号
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_UTF8 implements Filter
{
    private FilterConfig config = null;
    private String targetEncoding = "UTF-8";

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

        if (request.getRequestURI().indexOf("weblish") >= 0)
        {
            chain.doFilter(srequest, sresponse);
            return;
        }
        String s = request.getCharacterEncoding();
        if (s == null)
            request.setCharacterEncoding(targetEncoding);
        chain.doFilter(srequest, sresponse);
    }
}

⌨️ 快捷键说明

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