WEB-INF下的jsp⽂件如何访问css和js⽂件
今天帮⼀个同学出了web项⽬问题的原因,这个问题是关于WEB-INF下的jsp⽂件如何访问css和js⽂件。
先看⼀下⽂件的⼤致位置(jsp与css⽂件都同处WEB-INF内):
该同学想WEB-INF⾥⾯的head.jsp⽂件加载同⽬录下的head.css⽂件,⽤了如下常规的⽅法:
<head><link rel="stylesheet" href="/campus/WEB-INF/css/head.css" type="text/css"></link></head>发现怎么都加载不了该css⽂件,后来⼜尝试了好⼏种都不见效。
我们都知道,为了安全,我们会将绝⼤部分的jsp⽂件放⼊我们的WEB-INF中,然后利⽤外部
的index.jsp中的forward语句来访问其内部⽂件,这是因为WEB-INF内部⽂件是受保护的,想
到这⼀点,猜测jsp获取不了css⽂件的原因可能是某段路径被拦截了,所以就尝试着⽤获取当javascript说明
前项⽬的根地址来加载css,代码如下:
<head><link rel="stylesheet" href="<%=ContextPath() %>/WEB-INF/css/head.css"
type="text/css"></link></head>
结果还是⽆法加载WEB-INF⾥⾯的css⽂件,百思不得其解,尔后⼜尝试着将css⽂件放在了
Web-Root下⾯,即与WEB-INF同级,如图:
发现⽤上⾯两种⽅法都可以加载到css⽂件了。究其原因,是由于将css⽂件放⼊了WEB-INF
⾥⾯,导致jsp⽆法正常访问到相应的路径。也就是说css跟js⽂件是不建议放在WEB-INF⽬
录下的,⼀般放在与WEB-INF同级即可。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。