这篇文章主要讲解了“JavaWeb相对路径如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaWeb相对路径如何使用”吧!
在jsp或者html页面中有很对标签涉及到标签的引用
比如img,a,form,script,link等
这些标签的资源我们一般都会使用相对路径,而且这些资源都是在客户端进行解析的。下面我们就用实际的例子去探究下怎么在jsp或者html中正确使用相对路径
这是文件的目录结构,我们在path.jsp写上<a href="pathHtml.html">jsp点我</a>这个标签我们在pathHtml.html中写上<a href="path.jsp">html点我</a>这个标签。运行WEB项目。
首先来到pathHtml.html页面,点击链接,结果如下:
正确的跳到了指定的页面,接着点击途中的链接,结果如下:
跳到了项目目录下的pathHtml.html,当然这个页面是不存在的。为什么同样的相对路径指定格式,在JSP和HTML中的结果相差这么大,我们知道相对路径最终还是要转换为绝对路径使用的,转换成绝对路径就必须知道相对路径的基准。所以我们看到上面的结果首先想到的是在默认的HTML页面和JSP页面中相对路径的基准是不一样的。 在HTML中base标签用来知道相对路径的基准,在jsp中自动给我们加了一个base标签并且指定基准是项目路径,所以我们无论在哪级目录中写的相对路径都是基于项目路径的。而默认的HTML页面没有base标签,此时相对路径就是相对当前页面的路径。故得到上面的测试结果。
所以我们为了防止出错一般在JSP页面中使用相对路径前都加上request.getContextPath(),让基准始终是项目路径,当然jsp页面中默认的base标签已经能达到上述的目的了。其他标签相对路径使用和上述一致,希望读者自己动手验证下。
2.在java类中使用相对路径
在java类中包括各种servlet中使用相对路径一般有两种情况.
(1)servlet中的页面跳转指定页面的相对路径
(2)类中对资源的引用,即文件的读写
我们分别对这两种情况探讨一下怎么能正确的在JAVA类中使用相对路径
我们知道在servlet中页面跳转有两种方式,页间跳转和重定向。
重定向的相对路径一定是相对于当前servlet的虚拟路径的,这点的使用上可以把servelt看着一个html页面在其中使用,相对路径的规则和在上述的HTML页面规则一致。
页面跳转相对路径也是相对当前sevlet.
两者的区别:
(1)原理上:重定向是客户端请求,服务器返回重定向操作,客户端执行,页面跳转是服务器内部页面或者servlet之间的跳转。
(2)使用上:两者的根目录不同,重定向的根目录是服务器地址这点和html文件一致,一般只要是客户端解析的地址根目录都是相对服务器;而页面跳转根目录是项目路径,这个区别很重要。
感谢各位的阅读,以上就是“JavaWeb相对路径如何使用”的内容了,经过本文的学习后,相信大家对JavaWeb相对路径如何使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。