如何确定java Web应用程序中的资源路径

时间:2014-09-24 08:14:10

标签: java jsp spring-mvc apache-tiles

我正在使用Spring MVC Apache Tiles和Bootstrap编写一个简单的Web应用程序,我在加载CSS和图像方面遇到了麻烦。对于部署我使用jetty服务器。 我的项目结构如下: project structure

我的图块配置文件看起来

<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>

1 个答案:

答案 0 :(得分:3)

/WEB-INF/目录不应该从客户端访问。将cssimg等静态资源移至webapp根目录。