我想知道什么是 url 路径信息?
例如在
http://myserver:8080/servletname/handlermethod
它是包括服务器名称的整个路径:
http://myserver:8080/servletname/handlermethod
还是只是
/servletname/handlermethod
我想知道什么是 url 路径信息?
例如在
http://myserver:8080/servletname/handlermethod
它是包括服务器名称的整个路径:
http://myserver:8080/servletname/handlermethod
还是只是
/servletname/handlermethod
getPathInfo()
根据文档:
返回与客户端发出此请求时发送的 URL 关联的任何额外路径信息。额外的路径信息在 servlet 路径之后,但在查询字符串之前,并以“/”字符开头。
所以在你的例子中它会返回/handlermethod
如果你想拥有/servletname/handlermethod
你应该使用getRequestURI()
.
getRequestURL()
将返回客户端创建的完整 URL(字符串参数除外)。
Spring MVC 中的路径信息可能暗示通过 URL 发送的信息。在 Spring MVC 控制器中,您可以轻松设置请求映射,其中包括一个变量值占位符,该占位符绑定到@PathVariable
方法签名中带有注释的参数 - 与请求映射相关。例如:
@RequestMapping(value = "/user/{userId}")
public ModelAndView getUserByPathVariable(@PathVariable Long userId, HttpServletRequest request, HttpServletResponse response) {
System.out.println("Got request param: " + userId);
您可以在这里查看更详细的示例:Spring MVC Controller Example