在我的WebApp上导航时,我在Google Chrome控制台上遇到此错误:
GET http://localhost:8080/Bichos/slider/js/jquery.js 404 (Not Found)
GET http://localhost:8080/Bichos/slider/js/slider.js
GET http://localhost:8080/Bichos/slider/images/arrow-left.png
GET http://localhost:8080/Bichos/slider/images/arrow-right.png
这是文件夹结构:
---Bichos
|
`---- Web Pages
|
|---- WEB_INF
|
|---- css
| |---- fonts.css
| `---- default.css
|
|---- images
| |---- a.png
| `---- b.png
|
|---- pages
| |---- admin.xhtml
| `---- index.xhtml
|
|---- resources
| `---- css
| `---- pstyle.css
|
|---- slider
| |---- images
| | |---- arrow-left.png
| | `---- arrow-right.png
| |---- js
| | |---- jquery.js
| | `---- slider.js
| `---- index.html
|
`---- principal.xhtml
该应用程序是JSF 2.1,我听说web.xml文件中的Faces Servlet配置可能是一个因素,所以这是实际的配置:
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
位于 /pages/admin.xhtml 和 /pages/index.xhtml 的网页正常引用彼此和 principal.xhtml 我也是。
访问 /slider/index.html 文件(使用网址http://localhost:8080/Bichos/slider/index.html)时,似乎正在加载引用的样式表:
<link rel="stylesheet" href="style.css"/>
但是没有加载这些引用:
<script src="js/jquery.js"></script>
<script src="js/slider.js"></script>
我尝试通过网址http://localhost:8080/Bichos/slider/js/jquery.js访问这些文件,但获得404状态。
我有点卡住了,几乎可以肯定解决方案在于 servlet-mapping ,但我不确定。
使用的环境是Glassfish 4.0,JSF 2.1(Facelets),PrimeFaces 5.0。
请提供帮助,并提前致谢。
答案 0 :(得分:1)
经过一些试验和错误,我意识到引用来源
<script src="js/jquery.js"></script>
<script src="js/slider.js"></script>
未引用为 type =&#34; text / JavaScript&#34; 。我做了一些研究,发现HTML 4.0和XHTML是声明type属性所必需的,但在HTML 5中它是可选的。
问候!