java web相对路径_javaweb中相对路径的使用

javaweb中无论是在JSP页面中 java类中配置文件中都有对资源的引用。

都涉及到相对路径,相对路径的概念这里不在赘述。

我们说其实在一个web项目里用到相对路径的地方无非就是上面几种情况。

所以下面我们就说说,怎么在JAVAWEB中正确的使用相对路径

一、jsp或者html页面中的相对路径

在jsp或者html页面中有很对标签涉及到标签的引用

比如img,a,form,script,link等

这些标签的资源我们一般都会使用相对路径,而且这些资源都是在客户端进行解析的。下面我们就用实际的例子去探究下怎么在jsp或者html中正确使用相对路径

ad18e016cd235818f8d6c1ecf65611c3.png

这是文件的目录结构,我们在path.jsp写上jsp点我这个标签

我们在pathHtml.html中写上html点我这个标签。运行WEB项目。

首先来到pathHtml.html页面,点击链接,结果如下:

2985f7d3583e5c20559d719996bc2a7b.png

正确的跳到了指定的页面,接着点击途中的链接,结果如下:

6912e61c443d6e8b24ebf632d33712f1.png

跳到了项目目录下的pathHtml.html,当然这个页面是不存在的。为什么同样的相对路径指定格式,在JSP和HTML中的结果

相差这么大,我们知道相对路径最终还是要转换为绝对路径使用的,转换成绝对路径就必须知道相对路径的基准。所以我们看

到上面的结果首先想到的是在默认的HTML页面和JSP页面中相对路径的基准是不一样的。 在HTML中base标签用来知道

相对路径的基准,在jsp中自动给我们加了一个base标签并且指定基准是项目路径,所以我们无论在哪级目录中写的相对路径

都是基于项目路径的。而默认的HTML页面没有base标签,此时相对路径就是相对当前页面的路径。故得到上面的测试结果。

所以我们为了防止出错一般在JSP页面中使用相对路径前都加上request.getContextPath(),让基准始终是项目路径,当然jsp

页面中默认的base标签已经能达到上述的目的了。

其他标签相对路径使用和上述一致,希望读者自己动手验证下。

二.在java类中使用相对路径

在java类中包括各种servlet中使用相对路径一般有两种情况.

1.servlet中的页面跳转指定页面的相对路径

2.类中对资源的引用,即文件的读写

我们分别对这两种情况探讨一下怎么能正确的在JAVA类中使用相对路径

我们知道在servlet中页面跳转有两种方式,页间跳转和重定向。

重定向的相对路径一定是相对于当前servlet的虚拟路径的,这点的使用上可以把servelt看着一个html页面在其中使用

相对路径的规则和在上述的HTML页面规则一致。

页面跳转相对路径也是相对当前sevlet.

两者的区别:

(1)原理上:重定向是客户端请求,服务器返回重定向操作,客户端执行,

页面跳转是服务器内部页面或者servlet之间的跳转。

(2)使用上:两者的根目录不同,重定向的根目录是服务器地址这点和html文件一致,一般只要是

客户端解析的地址根目录都是相对服务器;而页面跳转根目录是项目路径,这个区别很重要。

在java类中对资源的引用

//这个以后补充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值