从HTTP请求获取完整路径

从HTTP请求获取完整路径

问题描述:

我想知道如何获取HTTP请求的完整路径。从HTTP请求获取完整路径

如果像http://localhost:8080/path1/path2一个有一个请求,我怎么才能得到充分的/path1/path2?使用request.getContextPath()只返回/ path1部分。

+1

阅读javadoc。 – Shashi 2013-04-04 08:33:57

您需要使用the getRequestURI() method

该文档描述了这样说道:

返回此请求的URL中从协议名称的部分高达查询字符串在HTTP请求的第一行。

+0

我一直在想这里的措辞:“......从协议名到...”,但协议和主机/端口不是由这种方法返回?!去搞清楚。 – 2013-04-04 08:38:38

您可以使用下面。

request.getRequestURI() 

/路径1 /路径

的结果。 你明白了吗?或任何查询?

+0

它将返回/ path1/path2。请注意领先的'/' – 2013-04-04 08:36:41

也许你可以从中提取请求的主机头就像这个例子:

http://www.apl.jhu.edu/~hall/java/Servlet-Tutorial/Servlet-Tutorial-Request-Headers.html

然后,您可以与您的上下文路径串联它。我不知道的唯一的事情是,如果它包括https://开头的情况下,它运行在SSL,但应该有找出也许知道,如果你总是使用相同的协议的方式...

问候