开发者社区> 问答> 正文

tomcat做服务器时,当通过项目名访问jsp页面的时候,网页中的相对路径无效是为什么?:报错

url是 localhost:8080/greenfront/
这样访问时,所有CSS文件路径如果写的是../css/XXX.CSS则找不到,而改成
<%  
	String path = request.getContextPath();   
%> 
就行了,这是为啥??
是用相对路径都不行,还是我自己没配置对?

我viewsource的时候看到:无法找到localhost:8080/css/XXX.CSS。

我的index.jsp放在jsp文件夹下:

head里是这么写的:

相对路径,../css/htmlbasic.css从这个jsp开始找到css里的htmlbasic.css不是应该这么写么?

为什么成了localhost:8080/css/htmlbasic.css?

展开
收起
kun坤 2020-06-09 13:55:23 747 0
1 条回答
写回答
取消 提交回答
  • css文件中是可以使用../之类的相对路径,因为它寻找文件的方式是从当前文件路径作为起点开始寻找
    js中是以document中的location为起点的,就是浏览器地址栏中的地址
    如果是在html文件中的,也是以document中的location为起点的
    如果是jsp之类的服务器端文件,其实最后由编译后的out写回来的内容都是html,所以最后依然是和浏览器当前的location相关的。
    所以在jsp文件中我们一般都是使用getContextPath来获取tomcat配置的Context节点的Path,就是浏览器端口后面的第一个/后的名字,然后才是服务器资源的路径,这样拼出来的就和浏览器地址栏无关了,任何地方都可以访问到的 ######原来是这样,谢谢啦~######相对路径

    2020-06-09 13:55:30
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
ECS成熟度评估&洞察 立即下载
冬季实战营第一期:从零到一上手玩转云服务器 立即下载
ECS全知道(下) 镜像与快照+块存储、安全、网运维与监控 立即下载