⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 requestblocker.java~

📁 J2EE & Tomcat books published by hope
💻 JAVA~
字号:
package webtests.filters;import java.io.*;import java.util.*;import javax.servlet.*;import javax.servlet.http.*;public class RequestBlocker implements Filter {  private Properties blockThese = new Properties();  {    blockThese.setProperty("company", "FlakyNetworks");  }  private ServletContext ctx;  public void init(javax.servlet.FilterConfig filterConfig)          throws ServletException {    ctx = filterConfig.getServletContext();    ctx.log("Filter " + filterConfig.getFilterName() +                                                 " initialized.");  }    public void doFilter(javax.servlet.ServletRequest servletRequest,                       javax.servlet.ServletResponse servletResponse,                       javax.servlet.FilterChain filterChain)         throws java.io.IOException, javax.servlet.ServletException {    HttpServletRequest hsr = (HttpServletRequest)servletRequest;    final HttpServletResponse resp = (HttpServletResponse)servletResponse;    boolean block = false;    String message = null;    Enumeration paramNames = hsr.getParameterNames();    while (paramNames.hasMoreElements()) {      String paramName = (String)paramNames.nextElement();      System.out.println("paramName=" +paramName);      String[] paramValues =hsr.getParameterValues(paramName);            for (Enumeration propertyNames = blockThese.propertyNames(); propertyNames.hasMoreElements() ;) {	    	String propertyName = (String)propertyNames.nextElement();	System.out.println("propertyName =" + propertyName);	String propertyValue = (String)blockThese.getProperty(propertyName);	String paramValue = paramValues[0];	System.out.println("paramValue =" + paramValue);	if(paramName.equals(propertyName)&&paramValue.equals(propertyValue))	  {	    System.out.println("send to Error Page");	    block = true;	    message = new String("Request for "+propertyName+" "+propertyValue+" rejected.");	    // resp.sendError(resp.SC_SERVICE_UNAVAILABLE, "Request for "+propertyName+" "+propertyValue+" rejected.");	  }	else	  {	    //filterChain.doFilter(hsr, resp);	  }      }    }    if (block==true)      {	resp.sendError(resp.SC_SERVICE_UNAVAILABLE, message);}    else      {    filterChain.doFilter(hsr, resp);      }    }  public void destroy() {  }}

⌨️ 快捷键说明

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