阅读时间: 5分钟
一个请求的URI 实际上是由三个部份组成,
我们可以用 HttpServletRequest 的 getRequestURI() 来取得整个请求的URI(不包括host的域名或者ip)。
如果想取得完整的路径,可以用getRequestURL()。
requestURI = contextPath + servletPath + pathInfo
contextPath 是环境路径(Context path),是容器用来决定该挑选哪个 Web 应用程式的依据(因为一个容器上可以部署很多个不同的Web应用程式用于不同情况)。
servletPath 的部份是指 Servlet 路径(Servlet path),不包括路径资讯(Path info)与请求参数(Request parameter)。
pathInfo 就是serlvet的url的路径,不包括contextPath 或者servletPath。
例子:
getRequestURL() = http://localhost:8080/java/resources/request.jsp
getRequestURI() = java/resources/request.jsp
getContextPath() = java
getServletPath() = resources/request.jsp
getPathInfo()= request.jsp