5月18日JavaWeb学习笔记:绝对路径和相对路径


        有时我们不能用一个超链接链接到JSP页面,中间需要通过一个Servlet,再通过转发的方式去链接,因为有些JSP上面需要去显示数据库中的数据,通过MVC设计模式需要先通过Servlet去到DAO里查出结果,再给到JSP,JSP本身是没有显示数据的能力的。

比如:先写三个jsp文件,然后放在不同的路径下,你让a.jsp去跳转到b.jsp,b.jsp再去跳转到c.jsp,c.jsp能跳转到a.jsp,这样是可以跳转回来的,但当你要从某个数据库中提取某个单位,比如从图书管理系统中找一本书,然后再b.jsp中显示,这时候你从a.jsp是可以跳转到b.jsp的,但从b.jsp跳转到c.jsp时则会出现404。。。因为它从b.jsp访问c.jsp的时候会认为是和Servlet同一路径的。

在由servlet转发到JSP页面时,此时浏览器地址栏上显示的事Servlet的路径,而若JSP还是相对于JSP页面的地址,则可能会出现路径混乱的问题。

编写绝对路径可以避免上述问题。

绝对路径:相对于WEB应用的根路径的路径。即任何的路径都必须带上contextPath() 

如:http://localhost:8080/contextPath/a.jsp 这个是绝对

而,http://localhost:8080/a.jsp 不是绝对路径

方法:request.getContextPath(); 或 application的getContextPath()方法获取。

猜你喜欢

转载自blog.csdn.net/rhhboring/article/details/80363711