如何从HttpServletRequest
获取网址片段标识符?
javadocs似乎没有提到它。
答案 0 :(得分:15)
您无法以您希望的方式获取网址片段。
通常,浏览器不会将片段发送到服务器。这可以通过使用网络协议分析器来验证,例如tcpdump,Ethereal,Wireshark,Charles。
但是,您可以在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)