4

私は Web JEE5 アプリケーションを開発しています。http 投稿をログに記録してパラメーターを取得する必要があります。最善の方法は何ですか?

最初は HttpRequest->getQueryString で試したのですが、post パラメータではうまくいかず、 HttpRequest->getParameterMap を使ったコードを書きました(下記参照)

Map<String,String[]> parametersName=theRequest.getParameterMap();

int count=0;

for (String paramName : parametersName.keySet()) {
String[] paramValues=parametersName.get(paramName);
   if(count>0)
       allParameter.append("&");

   allParameter.append(paramName);
   allParameter.append("=");
   for (int i = 0; i < paramValues.length; i++) {
       allParameter.append(paramValues[i]);
       if(paramValues.length>1)
       allParameter.append(",");
       }
    count++;
  }

それは機能しますが、(getQueryString と比較して) 複雑すぎて作業を行うことができません。

より良い/より速い方法はありますか?

4

2 に答える 2

2

すべてのHTTP(およびアプリケーションサーバー)は、access.log(HTTP要求と応答の詳細を格納するログファイル)をサポートします。設定するだけです。

于 2012-11-05T15:20:03.697 に答える
0

次のようにすることもできます。

Enumeration parms = request.getHeaderNames();
String parmname;
String parmval;
while (parms.hasMoreElements()) {
    parmname = (String)parms.nextElement();
    parmval = request.getHeader(parmname);
    Logger.log(parmname + " - " + parmval);
}
于 2012-11-05T15:22:56.547 に答える