【问题标题】:Static resources in Spring MVC appSpring MVC 应用程序中的静态资源
【发布时间】:2011-11-22 10:10:35
【问题描述】:

在我的 Spring mvc 应用程序中,我想使用 mvc:resources 提供静态资源。

我的 web.xml 映射看起来是这样的:

<servlet-mapping>
 <servlet-name>main</servlet-name>
 <url-pattern>/</url-pattern>       
</servlet-mapping>

其中 main 是提供所有内容的调度程序 servlet

在我添加的 servlet.xml 文件中:

<mvc:resources mapping="/static/**" location="/static/"/>

当我的应用程序上下文为空(如 localhost:8080/)时它可以正常工作,但是当我在另一个上下文中部署应用程序时它不起作用,我得到 404。

我尝试了很多组合:

"static/**"
"*/static/**"

没有任何作用。

我确定这是服务器上下文问题,但我不知道(我在 Google 中也找不到解决方案)如何解决这个问题。请帮忙。

【问题讨论】:

  • 您确定在尝试加载这些资源时使用了正确的 URL,例如你会为这些 URL 添加上下文路径吗?
  • 是的,我添加了上下文路径。
  • 我尝试使用浏览器直接检索资源。也许问题出在其他地方。只要告诉我我是否正确配置它。也许有一些不应该的斜线、星号或任何东西。

标签: spring spring-mvc


【解决方案1】:

我能够使用以下约定成功映射我的静态资源:

<!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory -->
<resources mapping="/resources/**" location="/resources/" />

【讨论】:

    【解决方案2】:

    对我们来说最简单的方法是在 servlet-config.xml(在 web.xml 中配置为 contextConfigLocation 的文件)中添加以下内容:

    <mvc:default-servlet-handler/>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-12
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-02
      • 1970-01-01
      相关资源
      最近更新 更多