首页 > 学院 > 开发设计 > 正文

使用Filter封装一个请求

2019-11-18 16:06:57
字体:
来源:转载
供稿:网友
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;

public class RequestFilter implements Filter {

  PRivate FilterConfig config;

  /** Creates new RequestFilter */
  public RequestFilter() {
  }

  public void init(FilterConfig filterConfig) throws ServletException {

    this.config = filterConfig;
  }

  public void doFilter(ServletRequest request, ServletResponse response,
      FilterChain chain) throws java.io.IOException, ServletException {

    ReqWrapper wrapper = null;
    ServletContext context = null;

    if (request instanceof HttpServletRequest)
      wrapper = new ReqWrapper((HttpServletRequest) request);

    /*
     * use the ServletContext.log method to log param names/values
     */
    if (wrapper != null) {
      context = config.getServletContext();
      context.log("Query: " + wrapper.getQueryString());
    }

    //continue the request, response to next filter or servlet
    //destination
    if (wrapper != null)
      chain.doFilter(wrapper, response);
    else
      chain.doFilter(request, response);
  }

  public void destroy() {
    /*
     * called before the Filter instance is removed from service by the web
     * container
     */
  }
}

(出处:http://www.VeVb.com)



发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表