我正在开发一个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相比)。
有更好/更快的方式吗?
答案 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);
}