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}" />
不保险的