servlet中有URL和URI,URL(uniform resource locator)是统一资源定位符,URI(Uniform Resource Identifier)统一资源标识符,URI包括URL和URN(统一资源名称)。
URL可以通过HttpServletRequest的getRequestURL来获取,URI通过HttpServletRequest的getRequestURI来获取,对于同一个servlet,URL和URI的表示如下
URL:http://localhost:8080/myServlet/MainFrameServlet(协议+地址+端口号+web应用名+资源名)
URI:/myServlet/MainFrameServlet(以“/”开头)
URI由三个部分组成,requestURI=contextPath+servletPath+pathInfo
contextPath是环境路径,容器用来决定挑选哪个web应用程序,可使用HttpServletRequest的getContextPath()得到,以“/开头”。
servletPath是servlet路径,不包括路径信息(path info)和请求参数,可使用HttpServletRequest的getServletPath()得到,以“/开头”。
pathInfo是路径信息,路径信息不包括请求参数,可使用HttpServletRequest的getPathInfo()得到。如果没有额外的路径信息,就为null,以“/开头”。
若URL:http://localhost:8080/myServlet/MainFrameServlet(协议+地址+端口号+web应用名+资源名)则
contextPath:/myServlet servletPath:/MainFrameServlet pathInfo:null
若MainFrameServlet的映射URL为/MainFrameServlet/*,在地址栏输入http://localhost:8080/myServlet/MainFrameServlet/view,
则pathInfo的值就为/view,其他值跟上面一样。
---------------------
作者:sun2sky
来源:CSDN
原文:https://blog.csdn.net/spring0327/article/details/75032355
版权声明:本文为博主原创文章,转载请附上博文链接!