test1.java

来自「JSP工程应用与实践」· Java 代码 · 共 46 行

JAVA
46
字号
package com.profilter;

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

public class Test1 implements Filter{

	private long start;
	private String url;
	private int port;
	private String host;
	private String addr;
	private FilterConfig fc=null;
	private String targeEncoding="gb2312";

	public void init(FilterConfig arg0) throws ServletException {
		this.fc=arg0;
		this.targeEncoding=arg0.getInitParameter("encoding");
	}

	public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws IOException, ServletException {
		if(fc==null){
			return;
		}
		start=System.currentTimeMillis();
		addr=arg0.getRemoteAddr();
		host=arg0.getRemoteHost();
		port=arg0.getRemotePort();
		HttpServletRequest request=(HttpServletRequest)arg0;
		url=request.getRequestURI();
		fc.getServletContext().log("使用以下方法对请求编码:encoding="+this.targeEncoding);
		fc.getServletContext().log("用户IP: "+addr+"("+host+":"+port+")");
		fc.getServletContext().log("用户请求URL: "+url+"("+(System.currentTimeMillis()-start)+"ms)");
		arg2.doFilter(arg0,arg1);
	}

	public void destroy() {
		this.fc=null;
	}
	
	public void setFilterConfig(final FilterConfig fc){
		this.fc=fc;
	}
}

⌨️ 快捷键说明

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