Kxgx.com - 移动开发网

本站快讯:
搜索: 您的位置主页>参考源码>软件源码>>阅读源码:利用Filter检查Request参数

利用Filter检查Request参数

2006-02-16   来源:   作者:未知   【 】 评论:0条
利用Filter检查Request参数的合法性,若非法,拒绝执行请求。 import java.io.IOException;
import java.util.Enumeration;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;



public class CheckFilter implements Filter {

  private FilterConfig config;

  public CheckFilter() {
  }

  public void init(FilterConfig filterConfigthrows ServletException {


    this.config = filterConfig;

  }

  public void doFilter(ServletRequest request, ServletResponse response,
      FilterChain chainthrows IOException, ServletException {

    Enumeration params = request.getParameterNames();
    boolean rejected = false;

    while (params.hasMoreElements()) {

      if (isEmpty(request.getParameter((Stringparams.nextElement()))) {
        reject(request, response);

        rejected = true;
      }

    }

    if (!rejected)
      chain.doFilter(request, response);

  }// doFilter

  private boolean isEmpty(String param) {

    if (param == null || param.length() 1) {
      return true;
    }

    return false;



  }

  private void reject(ServletRequest request, ServletResponse response)
      throws IOException, ServletException {

    request.setAttribute("errorMsg",
            "Please make sure to provide a valid value for all of the text fields.");


    Enumeration params = request.getParameterNames();
    String paramN = null;

    while (params.hasMoreElements()) {

      paramN = (Stringparams.nextElement();

      request.setAttribute(paramN, request.getParameter(paramN));

    }

    RequestDispatcher dispatcher = request
        .getRequestDispatcher("/form.jsp");
    dispatcher.forward(request, response);

  }

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

}
Tags:  
责任编辑:
  • 请文明参与讨论,禁止漫骂攻击。 用户名:新注册)密码:匿名:
    评论总数:0 [ 查看全部 ] 网友评论
    关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 帮助