您的位置:首页 > 编程语言 > Java开发

自己写Java Web遇到的坑(1)——JSP中的外部引用相对地址出错

2016-10-27 13:52 447 查看
在写JSP之前,一个网页需要表现成什么样,一般来说是要先写成html看一下的,我也是这么做的。然而,这个时候,第一个坑可能出现了。

问题:

在html中,外部引用的CSS和JS文件的地址全都是基于html文件的位置而写的相对地址(像这样:../css/style.css)。当我们把html原封不动搬到JSP上时,常会出现外部的各种引用地址不对的问题。

原理

其中很可能的一个原因,就是这个相对地址,相对的对象不再是前身是html的JSP文件了,而是根据JSP文件中basePath变量而定的。

basePath变量是新建一个JSP时,模板中预先设置的一个String的变量。

String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";


我们可以看到,basePath是通过request设置的一个变量,代表了当前网站的根目录的地址(像这样的:http://localhost:8080/test/)。

解决

所以我们需要重新设置相对地址,改为basePath为相对地址的参考位置(原点),按此路径引用外部文件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: