<%=request.getContextPath()%>是解决相对路径的问题,可返回站点的根路径。
<a rel="nofollow noopener noreferrer" href="<%=request.getContextPath()%>/XXX.jsp"> //这样获得的是绝对路径
<a rel="nofollow noopener noreferrer" href="XXX.jsp"> //这样获得的是相对路径
<a rel="nofollow noopener noreferrer" href="<%=request.getContextPath()%>/XXXX.jsp"> 能够更有效的防治连接的失效。
request.getContextPath()得到的是项目的名字,如果项目为根目录,则得到一个"",即空的字条串, 如果项目为dzjc,<%=request.getContextPath()% >/ 将得到dzjc/,服务器端的路径则会自动加上, <a rel="nofollow noopener noreferrer" href="XXX.jsp"> 应该就是指当前路径下的这个xxx.jsp页面,有时候也可以在head里设置html:base来解决路径的问题,不过用的最多的还是request.getContextPath。
如果想得到工程文件的实际物理路径,可通过:<%=request.getRealPath("/")%>,这样页面就会输出:d:\web\
现在request.getRealPath("") 这个方法已经不推荐使用了,可以使用
this.getServletContext().getRealPath("/") 得到工程文件的实际物理路径,也就是绝对地址获得uri路径的方法这个方法是
HttpServletRequest的装饰类HttpServletRequestWrapper中方法(运用的是装饰模式)String url=request.getRequestURI();
System.out.println(url); //输出 /2/LoginServlet 项目名称+当前执行页面的url
以上这篇jsp中获得路径的两种方法和获得url路径的方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。