2012-11-05 77 views
4

我正在開發一個Web JEE5應用程序,我需要記錄http post並獲取參數,什麼是最佳方式?記錄http請求獲取/發佈參數的最佳方式(和快速)

在我HttpRequest-> getQueryString嘗試的開始,但它不與參數後工作,然後 我寫一個使用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

所有HTTP(和應用程序服務器)都支持access.log - 存儲HTTP請求和響應詳細信息的日誌文件。只需配置它。

+0

是否登錄後的參數? –

0

你也可以做這樣的:

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