jsp中的路径问题

  在学jsp的时候我每次都遇到路径的问题,每次都不能够说100%的把这搞定,这让我很烦恼,今天下午花了点时间来把路径问题整理了下。

  一:首先我们在加载项目(我的项目名称是FinalExam)是的路径是http://localhost:8080/FinalExam/  (注意着后面是有一个反斜杠的),让后我们谈下“相对路径”和”绝对路径“的说明;

  (1)相对路径:既是相对于现在的网页来找你所需要跳转的网页,这就是所谓的相对路径。

  (2)绝对路径就是上面所说的http://localhost:8080/FinalExam/  下面举个列子

  eg:我的FinalExam中有一个进货的文件夹,命名为:purchase该文件夹下面有addpur.jsp、listpur.jsp的两个网页,(注:我的跳转是通过servlet跳转的)现在我在addpur.jsp中新增了一条数据然后跳转到listpur.jsp中,那么我在servlet中就不用写成“/purchase/listpur.jsp”,因为现在的网址是http://localhost:8080/FinalExam/purchase/pur.jsp跳转,如果在加一个/purchase/listpur.jsp”,就变成了http://localhost:8080/FinalExam/purchase/purchase/listpur.jsp”,因为此时的跳转是在当前的页面上即是在http://localhost:8080/FinalExam/purchase/purchase/下面再找listpur.jsp

二:解决方案:

  一:获取全部路径的方法${pageContext.request.contextPath}我测试得到的结果是:/FinalExam,我每次跳转不聊我就用全路径进行跳转。

  二:进行向上转,比如我在purchase文件夹中又有一个文件夹admin,在admin文件夹中我们有张网页‘:a.jsp,我要从a.jsp通过servlet中德forward跳转

我们来看路径:http://localhost:8080/FinalExam/purchase/admin/a.jsp  ------>http://localhost:8080/FinalExam/purchase/listpur.jsp,那么在跳转的时候就要在servlet中加这样的形式:../listpur.jsp    ../就是向上转从http://localhost:8080/FinalExam/purchase/admin/---->http://localhost:8080/FinalExam/purchase/

三:小说明,如果在跳转路径上用了“/”  比如/listpur.jsp,那么久代表者绝对路径:http://localhost:8080/FinalExam/purlist.jsp,那么此时就是错误的结果。

原文地址:https://www.cnblogs.com/wuhao1991/p/3577061.html