debugfilter.java
来自「JAVA Servlet2.3外文书籍源码」· Java 代码 · 共 74 行
JAVA
74 行
package debugging;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
public class DebugFilter implements Filter {
private FilterConfig filterConfig = null;
public void init(FilterConfig config) {
this.filterConfig = config;
}
public void destroy() {}
public void setFilterConfig(FilterConfig filterConfig) {
this.filterConfig = filterConfig;
}
public FilterConfig getFilterConfig() {
return this.filterConfig;
}
public void doFilter(ServletRequest request,
ServletResponse response,
FilterChain chain)
throws IOException, ServletException {
if (filterConfig != null) {
StringBuffer messageBuffer=new StringBuffer();
messageBuffer.append("<invocation>");
messageBuffer.append("<sender>");
messageBuffer.append(request.getRemoteHost());
messageBuffer.append("</sender>");
messageBuffer.append("<message>");
Enumeration parameterNames = request.getParameterNames();
boolean firstTime = true;
while (parameterNames.hasMoreElements()) {
String thisName=(String) parameterNames.nextElement();
String[] parameterValues = request.getParameterValues(thisName);
String thisValue = parameterValues[0];
if (firstTime) {
messageBuffer.append("?");
} else {
messageBuffer.append("&");
}
messageBuffer.append(thisName + "=" + thisValue);
firstTime = false;
}
messageBuffer.append("</message>");
if (request instanceof HttpServletRequest) {
messageBuffer.append("<receiver>");
messageBuffer.append(((HttpServletRequest)request).getRequestURI());
messageBuffer.append("</receiver>");
}
long startTime=System.currentTimeMillis();
chain.doFilter(request,response);
long endTime=System.currentTimeMillis();
long duration=endTime-startTime;
messageBuffer.append("<duration>" + duration + "</duration>");
messageBuffer.append("</invocation>");
filterConfig.getServletContext().log(messageBuffer.toString());
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?