logfilter.java
来自「关于java的初学者如何使用过滤器的源代码,很容易上手的,很全面哦」· Java 代码 · 共 67 行
JAVA
67 行
/*******************************************************************
<br>Copyright (C), 2005-2008, yeeku.H.Lee
<br>Program Name:
<br>Author:yeeku.H.lee kongyeeku@163.com
<br>Version:1.0
<br>This program is protected by copyright laws.
<br>Date:
*******************************************************************/
package lee;
import javax.servlet.Filter;
import javax.servlet.FilterConfig;
import javax.servlet.FilterChain;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletContext;
public class LogFilter implements Filter
{
private FilterConfig config;
public void init(FilterConfig config)
{
this.config = config;
}
public void destroy()
{
this.config = null;
}
public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)
{
try
{
request.setCharacterEncoding("GBK");
}
catch (Exception e)
{
e.printStackTrace();
}
ServletContext context = this.config.getServletContext();
long before = System.currentTimeMillis();
System.out.println("开始过滤...");
HttpServletRequest hrequest = (HttpServletRequest)request;
context.log("Filter已经截获到用户的请求的地址: " + hrequest.getServletPath());
try
{
//为请求“放行”
chain.doFilter(request, response); //此处不需要链参数
}
catch (Exception e)
{
e.printStackTrace();
}
long after = System.currentTimeMillis();
System.out.println("过滤结束");
context.log("请求被定位到" + ((HttpServletRequest)request).getRequestURI() + " 所花的时间为: " + (after - before));
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?