【问题标题】:Mapping of resources not working for different URLs in spring资源映射在 spring 中不适用于不同的 URL
【发布时间】:2017-01-14 14:45:56
【问题描述】:

我有 dispatcher-servlet 作为

<mvc:resources mapping="/css/**" location="/css/"></mvc:resources>
<mvc:resources mapping="/fonts/**" location="/fonts/"></mvc:resources>
<mvc:resources mapping="/images/**" location="/images/"></mvc:resources>
<mvc:resources mapping="/js/**" location="/js/"></mvc:resources>    
<context:component-scan base-package="com.temple.controller"/>
<bean id="viewResolver"
      class="org.springframework.web.servlet.view.InternalResourceViewResolver"
      p:prefix="/WEB-INF/jsp/"
      p:suffix=".jsp" />

此映射在 url 包含“root-url/css”之前有效。现在,当我在我的项目中通过管理员登录时,url 变为“root-url/admin/css”,并且使用的 css 无法显示。

The stylesheet http://localhost:8126/hello/admin/css/entypo.css was not loaded because its MIME type, "text/html", is not "text/css".

现在我的问题是如何通过映射所有 url 的资源来解决所有这些问题。我已经尝试了 stackoverflow 中描述的几乎所有映射问题,但我没有产生任何结果。谁能解释一下我该如何解决这个问题?

【问题讨论】:

  • 显示有link href="entypo.css" rel="stylesheet" type="text/css" /&gt;的jsp
  • 我应该展示什么部分?

标签: java spring-mvc mapping


【解决方案1】:
add default servlet mapping in web xml along with springdispatcher like:
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.png</url-pattern>
</servlet-mapping>

【讨论】:

  • 等我试试这个
【解决方案2】:

面临同样的异常,并花了一些时间探索各种解决方案。调度程序 servlet 是控制传入请求的服务程序。上面的映射应该在 web.xml 中配置 。所以,当任何 js 或 css 的请求进来时,dispatcher servlet将接收并根据资源映射对其进行映射。

【讨论】:

    猜你喜欢
    • 2015-07-11
    • 1970-01-01
    • 1970-01-01
    • 2017-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-26
    • 1970-01-01
    相关资源
    最近更新 更多