我正在使用Spring MVC Apache Tiles和Bootstrap编写一个简单的Web应用程序,我在加载CSS和图像方面遇到了麻烦。对于部署我使用jetty服务器。 我的项目结构如下:
我的图块配置文件看起来
<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控制器方法看起来:
@RequestMapping(value = "/")
public String index(){
return "index";
}
Dispatcher 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>
答案 0 :(得分:3)
/WEB-INF/
目录不应该从客户端访问。将css
和img
等静态资源移至webapp
根目录。