📄 gdexecutetimefilter.java
字号:
package com.gd.web.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import com.gd.mvc.util.GdDate;
public class GdExecuteTimeFilter implements Filter {
protected FilterConfig config;
//设定上下文路径
private ServletContext context;
private String filterName;
/**
* 初始化Filter,取得上下文路径
*/
public void init(FilterConfig config) throws ServletException {
this.config = config;
context = config.getServletContext();
filterName = config.getFilterName();
}
/**
* 进行过滤
*/
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException {
long startTime = System.currentTimeMillis();
if (request instanceof HttpServletRequest) {
HttpServletRequest req = (HttpServletRequest)request;
context.log(req.getRemoteHost() + " 访问 " + req.getRequestURL() + " 的开始时间是:" + GdDate.getCurrentDateAndTime());
}
chain.doFilter(request,response);
if (request instanceof HttpServletRequest) {
HttpServletRequest req = (HttpServletRequest)request;
context.log(req.getRemoteHost() + " 访问 " + req.getRequestURL() + " 的结束时间是:" + GdDate.getCurrentDateAndTime());
context.log(req.getRemoteHost() + " 访问 " + req.getRequestURL() + " 共使用的时间:" + (System.currentTimeMillis() - startTime) + "ms" +
"(该日志由 " + filterName + " 报出)");
}
}
/**
* 销毁
*/
public void destroy() {
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -