日期:2014-05-16  浏览次数:20317 次

jsp 路径总结
1、 System.out.println(request.getContextPath());

打印结果:/news
  2、System.out.println(request.getServletPath());

打印结果:/main/list.jsp
3、 System.out.println(request.getRequestURI());

打印结果:/news/main/list.jsp
4、 System.out.println(request.getRealPath("/"));

打印结果:F:\Tomcat 6.0\webapps\news\test

5  System.out.println(request.getPathInfo());

打印结果:/list.jsp

注意了 如果这个SERVLET配置了通配符

<servlet-mapping>
  <servlet-name>Hello</servlet-name>
  <url-pattern>/*</url-pattern>
</servlet-mapping>

request.getServletPath() getServletPath一定會取到你設定的mapping url

就很可能是“”

动态相对路径:

方案1:${pageContext.request.contextPath}
方案2:<%=request.getContextPath()%>


完全路径

方案1:<%=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath() %>

方案 2:${pageContext.request.scheme}
${pageContext.request.serverName}
${pageContext.request.serverPort}
${pageContext.request.contextPath}

JSTL中的路径
项目根目录
<c:set var="ctx" value="${pageContext.request.contextPath}"/>

<c:out value="${pageContext.servletContext.contextPath}" />

不保险的