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 回答