如何从HttpServletRequest获取请求URL

时间:2010-05-18 20:05:26

标签: http url servlets uri

说我发这样的获取请求:

GET http://cotnet.diggstatic.com:6000/js/loader/443/JS_Libraries,jquery|Class|analytics|lightbox|label|jquery-dom|jquery-cookie?q=hello#frag HTTP/1.0
Host: cotnet.diggstatic.com:6000

我的servlet接受这样的请求: HttpServletRequest req;

当我调试我的服务器并执行时,我得到以下内容:

req.getRequestURL().toString() = "http://cotnet.diggstatic.com:6000/js/loader/443/JS_Libraries,jquery%7cClass%7canalytics%7clightbox%7clabel%7cjquery-dom%7cjquery-cookie"
req.getRequestURI() = "/js/loader/443/JS_Libraries,jquery%7cClass%7canalytics%7clightbox%7clabel%7cjquery-dom%7cjquery-cookie"
req.getQueryString() = "q=hello"

如何获取片段信息? 此外,当我调试请求时,我看到一个类型为java.net.URI的uri_字段,其中包含片段信息。这正是我想要的。我怎么能得到它?

1 个答案:

答案 0 :(得分:11)

“片段标识符的功能与URI的其余部分不同:即,它的处理完全是客户端的,没有服务器的参与。” Wikipedia about the Frament Identifiert

有关详细信息,请参阅RFC 2394 Section 4.1