一尘不染

如何获取包含参数的请求字符串

java

我的应用程序中有一个奇怪的异常,我想记录它发生的时间,并包括完整的请求字符串(包括参数)。

当我尝试

log.warn("Weird request " + request.getRequestURL());

我得到了请求字符串,但没有得到包含的参数?和&。

例:

/testRequest.do?param1=1&param2=2

我只看到

/testRequest.do

我可以把整个字符串放在某个地方吗?


阅读 215

收藏
2020-12-03

共1个答案

一尘不染

参见HttpServletRequest#getQueryString()

如果需要整个字符串,则必须将请求url和查询字符串附加在一起,因为没有方法可以获取整个字符串。

System.out.println(request.getRequestURL().append('?').append(request.getQueryString()));
2020-12-03