我正在使用 Spring MVC Apache Tiles 和 Bootstrap 编写一个简单的 Web 应用程序,但在加载 CSS 和图像时遇到问题。为了部署我使用 jetty 服务器。 我的项目结构如下所示:
我的图 block 配置文件看起来
<definition name="common" template="/WEB-INF/layout/classic.jsp">
<put-attribute name="footer" value="/WEB-INF/layout/footer.jsp" />
</definition>
<definition name="index" extends="common">
<put-attribute name="title" value="Car Store" />
<put-attribute name="body" value="/WEB-INF/jsp/index.jsp" />
</definition>
当我尝试在 classic.jsp
中包含 css 文件时,浏览器找不到相关资源。我尝试了如下两种情况
<link href="/WEB-INF/css/carousel.css" rel="stylesheet">
和
<link href="../css/carousel.css" rel="stylesheet">
但错误仍然抛出。 Spring Controller 方法如下:
@RequestMapping(value = "/")
public String index(){
return "index";
}
调度程序 servlet 配置文件:
<context:component-scan base-package="org.yurabilash.car.store.controller"/>
<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/defs/general.xml</value>
</list>
</property>
</bean>
<bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.tiles3.TilesView"/>
</bean>
最佳答案
/WEB-INF/
目录不应从客户端访问。将 css
和 img
等静态资源移动到 webapp
根目录。
关于java - 如何确定java Web应用程序中资源的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26011851/