【问题标题】:Retrieve the URL [duplicate]检索 URL [重复]
【发布时间】:2018-07-11 07:47:24
【问题描述】:
【问题讨论】:
标签:
java
spring
spring-mvc
tomcat
【解决方案1】:
getPathInfo() 在 URI 之后给出额外的路径信息,用于访问你的 Servlet,而 getRequestURI() 给出完整的 URI。
我原以为它们会有所不同,因为首先必须使用自己的 URI 模式配置 Servlet;我认为我从未从根 (/) 提供过 Servlet。
例如,如果 Servlet 'Foo' 映射到 URI '/foo' 那么我会认为 URI:
/foo/path/to/resource
会导致:
RequestURI = /foo/path/to/resource
和
PathInfo = /path/to/resource
【解决方案2】:
# 是一个片段标识符。在它之后你无法获取数据,它不会被发送到服务器。
How to get full URL which contains # from HttpServletRequest
要解决这个问题,不要使用# 作为传递参数的方法。坚持使用 http://localhost:8080/app/angular/users/update?id=745 等请求参数,并让 Spring 在 Controller 上的 GET 方法中读取,或者将其用作路径变量,例如 http://localhost:8080/app/angular/users/update/745,您也可以从 Spring 控制器中检索这些变量。