すべてのサーブレットのURLと要求パラメーターを記録するフィルターをTomcatにデプロイしました。 これをWebsphere Application Serverにデプロイします。 1.フィルタクラスファイルをどこにコピーしますか? 2. Filterクラスのデプロイメント記述子であるXMLタグを入力する必要があるweb.xmlの場所。 3.フィルタクラスがURLと要求パラメータを記録するログファイル。Websphere Application Server:サーブレットデプロイメント記述子のためのweb.xmlの場所と、フィルターサーブレットがログするログファイルの場所
以下は、私のFilterクラスのコードです。
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.text.SimpleDateFormat;
import java.util.Date;
public class T24RequestTime implements Filter {
private FilterConfig config = null;
Date dt = new Date();
public void init(FilterConfig config) throws ServletException {
this.config = config;
}
public void destroy() {
config = null;
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
long before = System.currentTimeMillis();
chain.doFilter(request, response);
long after = System.currentTimeMillis();
SimpleDateFormat dateFormat = new SimpleDateFormat("[dd/MMM/yyyy:HH:mm:ss]");
String endDate = dateFormat.format(new Date());
String name = "";
if (request instanceof HttpServletRequest) {
name = ((HttpServletRequest)request).getRequestURI();
}
config.getServletContext().log("T24: !Date-Time: !"+endDate+ "! Total Elapsed Time: !" + (after - before) + "!ms!"+"! Company: !"+((HttpServletRequest)request).getParameter("companyId")+"! User: !"+((HttpServletRequest)request).getParameter("user")+"! Version: !"+((HttpServletRequest)request).getParameter("version")+"! Application: !"+((HttpServletRequest)request).getParameter("application")+"! Routine Name: !"+((HttpServletRequest)request).getParameter("routineName")+"! Timing: !"+((HttpServletRequest)request).getParameter("timing")+"! URL: !"+ name);
System.out.println("fsfsfsd");
}
}
ところで、あなたのログステートメントを作成するには 'StringBuilder'を見てください。 – home