如何在Java中获取完整请求的URL

use*_*817 0 java java-ee

我有一个像这样的网址

www.abc.com/;jsessionid=53AA662D24A89922031913A6E85A005B
Run Code Online (Sandbox Code Playgroud)

(对不起,我不能在这里指定我的实际网站名称,所以使用abc.com)

当上面的url命中时,我想;jsessionid=53AA662D24A89922031913A6E85A005B从后端(在我的servlet中)中删除上面的url并重定向到实际的url(在这个例子中 http://www.abc.com/).

我已经在我的servlet中尝试了很多方法来知道请求的URL是否具有'jsessionid',但是我找不到一个方法来返回HTTP请求对象上的完整请求的URL

我在HTTP请求对象上尝试了以下方法

  • getRequestURI()
  • getRequestURL()
  • getContextPath()
  • getPathInfo()

但他们没有返回完整的请求网址jsessionid.

我也试过getParameter(),getParameterNames()但没有帮助,因为上面的网址没有?之前jsessionid.

gre*_*pit 7

以下是如何在Servlet中检索上面的完整URL

 public void doGet(HttpServletRequest request, HttpServletResponse response)
                       throws IOException, ServletException {

               String url = request.getRequestURL().toString();
              System.out.println(url);
               }
Run Code Online (Sandbox Code Playgroud)