tomcat做服务器时,当通过项目名访问jsp页面的时候,网页中的相对路径无效是为什么?:报错 -问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

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

kun坤 2020-06-09 13:55:23 86
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?

前端开发 Java 应用服务中间件
分享到
取消 提交回答
全部回答(1)
  • kun坤
    2020-06-09 13:55:30

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

    0 0
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题
推荐课程