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

Java 如何获取包含参数的请求字符串,java,servlets,Java,Servlets,在我们的应用程序中,我有一个奇怪的异常,我想记录它发生的时间,并包括完整的请求字符串,包括参数 当我尝试 log.warn("Weird request " + request.getRequestURL()); 我得到的是请求字符串,但不是随附的参数?及& 例如: /testRequest.do?param1=1&param2=2 我只看到 /testRequest.do 我能在什么地方找到整根绳子吗?看到了吗 如果需要整个字符串,则必须将请求url和查询字符串附加在一起,因为没

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

当我尝试

log.warn("Weird request " + request.getRequestURL());
我得到的是请求字符串,但不是随附的参数?及&

例如:

/testRequest.do?param1=1&param2=2
我只看到

/testRequest.do
我能在什么地方找到整根绳子吗?

看到了吗

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

System.out.println(request.getRequestURL().append('?').append(request.getQueryString()));

如果没有参数,您将显示什么?最后,@ToKra只需添加一些逻辑来检查计算结果是否为null,并根据该逻辑构建字符串:string finalUrl=(request.getQueryString()!=null)?String.join(“,request.getRequestURL(),”?“,request.getQueryString()):request.getRequestURL();