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

标签 java jsp spring-mvc apache-tiles

我正在使用 Spring MVC Apache Tiles 和 Bootstrap 编写一个简单的 Web 应用程序,但在加载 CSS 和图像时遇到问题。为了部署我使用 jetty 服务器。 我的项目结构如下所示: project structure

我的图 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/ 目录不应从客户端访问。将 cssimg 等静态资源移动到 webapp 根目录。

关于java - 如何确定java Web应用程序中资源的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26011851/

相关文章:

java - 使 servlet 过滤器适用于所有 Web 应用程序

javascript - URL 太长 - 如何在 jquery 中对 anchor 标记执行 POST

javascript - 我可以更改现有 cookie 的值吗?

java - @Controller导致java.lang.NoClassDefFoundError : javax/servlet/http/HttpServletRequest

java - HttpEntity<String> 请求 = new HttpEntity<String>( );我如何在java中模拟这个

java - 局部变量初始化

java - 如何打印每三个数字(偶数和奇数)?

java - 在我的第一个 GUI java 应用程序中使用 .add() 方法向布局添加按钮

java - 在这种情况下,@InitBinder 和 WebDataBinder 的作用是什么

java - spring mvc 模拟存储库