${pageContext.request.contextPath}及服务器解析和浏览器解析路径问题
2017-09-16 13:29
393 查看
首先${pageContext.request.contextPath}代表的是当前Web应用(即你的项目)的根目录,也就是时这端EL表达式解析出来后的正确格式是:/项目名。注意:项目名前边是有斜杠的,项目名后边没有。(你可以理解成一个实体服务器(linux,unix或其他)上可以有多个项目)
绝对路径:虚拟路径以“/”开始,就是绝对路径。
①在服务器端:虚拟路径最开始的“/”表示当前Web应用的根目录。
例如:服务器端虚拟路径“/TestServlet”使用浏览器访问时,地址为
http://localhost:8989/Path
所以由服务器解析的路径,以”/”开头的都是以当前web路径为基准的。
由服务器解析的路径
<1>web.xml 文件中url-pattern 中配置的URL,以“/”开头的
<2>转发操作:request.getRequestDispatcher("/xxx").forward(request,response);
<jsp:forward page="/xxx">
这些最后的访问路径都是
http://localhost:8989/Path/xxx
②在浏览器端:虚拟路径最开始的“/”表示当前主机地址。
例如:链接地址“/ Path/ dir/ b.html”经过浏览器解析后为:
相当于http://localhost:8989/ Path/ dir/ b.html
所以由浏览器解析的路径,以“/”开头的都是以当前的主机地址为基准的
由浏览器解析的路径
<1>重定向操作:response.sendRedirect("/xxx")
<2>所有HTML标签:<ahref="/xxx">;<form action="/xxx">...
这些最后的访问路径都是
http://localhost:8989/xxx
所以我们可以看出,如果是浏览器解析的路径,我们必须加上项目名称才可以正确的指向资源。http://localhost:8989/Path/xxx
相对路径和绝对路径
相对路径:虚拟路径如果不以“/”开始,就是相对路径,浏览器会以当前资源所在的虚拟路径为基准对相对路径进行解析,从而生成最终的访问路径。此时如果通过转发进入其他目录,再使用相对路径访问资源就会出错。绝对路径:虚拟路径以“/”开始,就是绝对路径。
①在服务器端:虚拟路径最开始的“/”表示当前Web应用的根目录。
例如:服务器端虚拟路径“/TestServlet”使用浏览器访问时,地址为
http://localhost:8989/Path
所以由服务器解析的路径,以”/”开头的都是以当前web路径为基准的。
由服务器解析的路径
<1>web.xml 文件中url-pattern 中配置的URL,以“/”开头的
<2>转发操作:request.getRequestDispatcher("/xxx").forward(request,response);
<jsp:forward page="/xxx">
这些最后的访问路径都是
http://localhost:8989/Path/xxx
②在浏览器端:虚拟路径最开始的“/”表示当前主机地址。
例如:链接地址“/ Path/ dir/ b.html”经过浏览器解析后为:
相当于http://localhost:8989/ Path/ dir/ b.html
所以由浏览器解析的路径,以“/”开头的都是以当前的主机地址为基准的
由浏览器解析的路径
<1>重定向操作:response.sendRedirect("/xxx")
<2>所有HTML标签:<ahref="/xxx">;<form action="/xxx">...
这些最后的访问路径都是
http://localhost:8989/xxx
所以我们可以看出,如果是浏览器解析的路径,我们必须加上项目名称才可以正确的指向资源。http://localhost:8989/Path/xxx
相关文章推荐
- 路径问题 解决 ${pageContext.request.contextPath} <%=request.getContextPath()%>
- ${pageContext.request.contextPath} JSP路径问题
- JSP之项目路径问题(${pageContext.request.contextPath},<%=request.getContextPath()%>以及绝对路径获取)
- 路径问题 解决 ${pageContext.request.contextPath}
- 路径问题 解决 ${pageContext.request.contextPath}
- 关于路径<%=request.getContextPath()%>和${pageContext.request.contextPath}的问题
- JSP之项目路径问题(${pageContext.request.contextPath},<%=request.getContextPath()%>以及绝对路径获取)
- JSP之项目路径问题(${pageContext.request.contextPath},<%=request.getContextPath()%>以及绝对路径获取)
- Jsp页面中路径问题(${pageContext.request.contextPath} JSP取得绝对路径)
- ${pageContext.request.contextPath} JSP取得绝对路径
- ${pageContext.request.contextPath} jsp中绝对路径
- 相对路径与绝对路径 ${pageContext.request.contextPath}
- ${pageContext.request.contextPath} :JSP取得绝对路径方法
- ${pageContext.request.contextPath} JSP取得绝对路径
- ${pageContext.request.contextPath} JSP取得绝对路径
- src标签中${pageContext.request.contextPath }无效问题解决方案
- ${pageContext.request.contextPath} jsp中获取绝对路径
- 关于<%=request.getContextPath()%>和${pageContext.request.contextPath}的问题
- ${pageContext.request.contextPath} JSP取得绝对路径
- pageContext.request.contextPath 绝对路径