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?
css文件中是可以使用../之类的相对路径,因为它寻找文件的方式是从当前文件路径作为起点开始寻找
js中是以document中的location为起点的,就是浏览器地址栏中的地址
如果是在html文件中的,也是以document中的location为起点的
如果是jsp之类的服务器端文件,其实最后由编译后的out写回来的内容都是html,所以最后依然是和浏览器当前的location相关的。
所以在jsp文件中我们一般都是使用getContextPath来获取tomcat配置的Context节点的Path,就是浏览器端口后面的第一个/后的名字,然后才是服务器资源的路径,这样拼出来的就和浏览器地址栏无关了,任何地方都可以访问到的 ######原来是这样,谢谢啦~######相对路径
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。