filterip.java

来自「张新曼 精通JSP Web 开发技术与典型应用 随书光盘源码」· Java 代码 · 共 53 行

JAVA
53
字号
package test;

import java.io.*;
import javax.servlet.*;

/**
 * 
 * @author qq
 * 
 * 通过过滤IP来控制访问操作
 */

public class FilterIP implements Filter{
   protected FilterConfig filterconfig;
   protected String FilteredIP;     //被过滤的IP
   
   //过滤器初始化
   public void init(FilterConfig conf) throws ServletException{
	   this.filterconfig =conf;
	   
	   FilteredIP=conf.getInitParameter("FilteredIP");
	   if(FilteredIP==null){
		   FilteredIP="";
	   }
   }
   
   //过滤操作
   public void doFilter(
		   ServletRequest request,
		   ServletResponse response,
		   FilterChain chain) throws IOException, ServletException {
	       RequestDispatcher dispatcher =
		   request.getRequestDispatcher("ErrorInfo.jsp");
	   
	   //读出本地IP,将其与要过滤掉的IP比较,如果相同,就转移到错误处理页面
	   String remoteIP = request.getRemoteAddr();  
	   
	   if(remoteIP.equals(FilteredIP)){
		   dispatcher.forward(request,response);
		   return;
	   }
	   else{
		   //将请求转发给过滤链上的其它对象
		   chain.doFilter(request,response);  
	   }
   }
   
   //销毁操作
   public void destroy(){
	  this.filterconfig = null;
   }
}

⌨️ 快捷键说明

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