WEB开发网
开发学院软件开发Java 使用Filter封装一个请求 阅读

使用Filter封装一个请求

 2007-12-23 12:35:39 来源:WEB开发网   
核心提示:import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletContext;import javax.servlet.ServletE
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.cncms.com)


Tags:使用 Filter 封装

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接