在春天映射不适用于不同URL的资源

时间:2016-09-07 03:50:27

标签: java spring-mvc mapping

我有调度程序-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包含&#34; root-url / css&#34;之前有效。现在,当我在我的项目中通过管理员登录时,网址变为&#34; root-url / admin / css&#34;并且使用的CSS没有显示。

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

现在我的问题是我如何通过映射所有网址的资源来解决所有这些问题。我已经尝试了stackoverflow中陈述的几乎所有映射问题,但我没有得到任何结果。有人可以解释一下我怎么能解决这个问题?

2 个答案:

答案 0 :(得分:0)

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>

答案 1 :(得分:0)

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