如何从HttpServletRequest获取URL片段标识符

时间:2012-11-21 22:38:30

标签: java servlets fragment-identifier

如何从HttpServletRequest获取网址片段标识符?

javadocs似乎没有提到它。

2 个答案:

答案 0 :(得分:15)

您无法以您希望的方式获取网址片段。

通常,浏览器不会将片段发送到服务器。这可以通过使用网络协议分析器来验证,例如tcpdump,EtherealWiresharkCharles

但是,您可以在JavaScript请求中将片段字符串作为GET / POST参数发送。要使用JavaScript获取值,请使用window.location.hash。然后,您可以在AJAX请求中将此值作为GET或POST参数传递,并在HttpServletRequest上使用getParameter方法来获取AJAX请求。

以下是RFC3986: Uniform Resource Identifier (URI): Generic Syntax所说的内容:

  

片段标识符是分开的      从取消引用之前的其余URI开始,从而得到      识别片段本身内的信息被解除引用      完全由用户代理,不管URI方案。虽然      这种单独的处理通常被认为是一种损失      信息,特别是对于引用的准确重定向      资源随着时间的推移而移动,它也有助于防止信息      拒绝参考作者的提供者有权参考      资源中的信息有选择地。间接引用也      为使用的系统提供额外的灵活性和可扩展性      URI,因为新媒体类​​型比新媒体类型更容易定义和部署      识别方案。

答案 1 :(得分:1)

请查看以下链接:http://tools.ietf.org/html/rfc2396