java - HttpServletRequest 完成 URL

标签 java http servlets

我有一个 HttpServletRequest 对象。

如何获取导致此调用到达我的 servlet 的完整且准确的 URL?

或者至少尽可能准确,因为也许有些东西可以重新生成(也许是参数的顺序)。

最佳答案

HttpServletRequest有以下方法:

  • getRequestURL() - 返回查询字符串分隔符 ?
  • 之前的完整 URL 部分
  • getQueryString() - 返回查询字符串分隔符 ?
  • 之后的完整 URL 部分

所以,要获取完整的 URL,只需:

public static String getFullURL(HttpServletRequest request) {
    StringBuilder requestURL = new StringBuilder(request.getRequestURL().toString());
    String queryString = request.getQueryString();

    if (queryString == null) {
        return requestURL.toString();
    } else {
        return requestURL.append('?').append(queryString).toString();
    }
}

关于java - HttpServletRequest 完成 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2222238/

相关文章:

java - 在 session bean 中存储进度信息

c# - ASP.NET MVC 和 C# : HttpStatusCodeResult() vs HttpNotFound()

java - HttpServlet 抛出的 ServletExceptions 被 Tomcat 记录为 'SEVERE',尽管以推荐的方式处理

java - UTF-8 无法通过 JDBC 在带有 MySQL 的 Servlet 中工作

java - 合理处理JSR223 Rhino抛出的ScriptException

java - 为什么我在调用invoke方法(JAVA)时遇到 "wrong number of arguments"异常

java - io.vavr.control.Validation 在这些示例中如何工作?

linux - NTLM 身份验证无效字符

java - 如何使用 HttpsUrlConnection 通过 SSL 连接使用代理身份验证?

java - gwan 7.12.6 上的 report.c 和 report.java servlet 出现故障