basefilter.java

来自「java实现的可配置的工作流引擎,采用jsp+javabean实现」· Java 代码 · 共 61 行

JAVA
61
字号
package com.hongsoft.res.dispatcher;

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;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletResponse;

public class BaseFilter extends HttpServlet implements Filter {

    private static final long serialVersionUID = 3055275098978257875L;

    private FilterConfig filterConfig;

    // Handle the passed-in FilterConfig
    public void init(FilterConfig filterConfig) {
        this.filterConfig = filterConfig;
    }

    // Process the request/response pair
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) {
        try {
            // set no cache
            HttpServletResponse res = (HttpServletResponse) response;
            res.setHeader("Pragma", "no-cache");
            res.setHeader("Cache-Control", "no-cache");
            res.setDateHeader("Expires", 0);

            // set the encoding
            String encode = filterConfig.getInitParameter("encode");
            encode = encode == null || "".equals(encode) ? "GBK" : encode;
            request.setCharacterEncoding(encode);

            response.setContentType("text/html; charset=" + encode);

            if (filterChain != null && response != null)
                filterChain.doFilter(request, res);
        } catch (ServletException sx) {
            filterConfig.getServletContext().log(sx.getMessage());
        } catch (IOException iox) {
            filterConfig.getServletContext().log(iox.getMessage());
        }
    }

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

    public FilterConfig getFilterConfig() {
        return this.filterConfig;
    }

    // Clean up resources
    public void destroy() {
    }
}

⌨️ 快捷键说明

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