【发布时间】:2017-04-04 12:07:53
【问题描述】:
我在 STS 中创建了一个 Maven 项目,没有原型并且包装为“战争”。
项目结构如下
portal
----Deployment Descriptor: portal
----JAX-WS Web Services
----Java Resources
----src
----main
----java
----resources
----assets
----login.css
----webapp
----login.html
----test
----java
----resources
----Libraries
----Javascript Resources
----Deployed Resources
----target
----pom.xml
我在src/main/webapp 文件夹中创建了login.html,并在src/main/resources 中创建了assets/login.css。
我的问题是,当我尝试在 html 代码中包含该 css 文件时,它无法读取。
该怎么办?
另外,在谷歌搜索了一下之后,我才知道对于这种情况,将文件放在 WEB-INF 中,剩下的一切就由它来完成。但是在创建项目时,没有创建 WEB-INF 文件夹。虽然我可以自己创建它,但只是想知道我在创建一个默认情况下应该创建 WEB-INF 文件夹的 maven 项目时做错了什么。
【问题讨论】:
-
你在运行什么网络服务器? HTML 不读取任何内容,它只是被解释并且浏览器对它需要的任何资源发出额外的请求。你检查过浏览器控制台吗?它会抛出任何错误吗?
-
您(对于基本用例)不能将 CSS 文件放入 WEB-INF,因为无法通过 URL 直接访问 WEB-INF 中的任何内容。
-
当您构建
war时,css文件最终位于哪个路径中?我希望将resources放入web-inf,而您希望css 文件在公共部分。webapp应该是我理解的正确位置。 -
@Catalin 我正在使用 Tomcat v7.0。
-
@Catalin 它说“加载资源失败”