记录http请求获取/发布参数的最佳方式(和快速)

时间:2012-11-05 15:16:56

标签: java httprequest

我正在开发一个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相比)。

有更好/更快的方式吗?

2 个答案:

答案 0 :(得分:2)

所有HTTP(和应用程序服务器)都支持access.log - 存储HTTP请求和响应详细信息的日志文件。只需配置它。

答案 1 :(得分:0)

你也可以这样做:

Enumeration parms = request.getHeaderNames();
String parmname;
String parmval;
while (parms.hasMoreElements()) {
    parmname = (String)parms.nextElement();
    parmval = request.getHeader(parmname);
    Logger.log(parmname + " - " + parmval);
}