【问题标题】:How to get the request string including parameters如何获取包含参数的请求字符串
【发布时间】:2010-12-07 10:21:38
【问题描述】:

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

当我尝试时

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

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

示例:

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

我只看到

/testRequest.do

我可以在某处得到整个字符串吗?

【问题讨论】:

    标签: java servlets


    【解决方案1】:

    HttpServletRequest#getQueryString()

    如果您想要整个字符串,则必须将请求 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() ;
    猜你喜欢
    • 2014-03-16
    • 1970-01-01
    • 2012-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多