伙计我也有加载静态资源的问题。
我想我已经正确设置了一切。但我不理解 mvc:resources 的位置属性。它的用途是什么?
如果我在静态资源位置VAADIN / themes / theme / ...(在几个子文件夹,图像,css,js中),那么位置和映射属性的正确值应该是什么?
我在配置中有以下内容:
<mvc:resources location="/VAADIN/" mapping="/VAADIN/**"/>
它不起作用。我想日志的以下部分是相关的:
17:15:02.897 [http-8080-2] DEBUG o.s.w.s.m.a.DefaultAnnotationHandlerMapping - Rejected bean name 'org.springframework.web.servlet.resource.ResourceHttpRequestHandler#6': no
URL paths identified
我收到了 HTTP状态404 ,例如http://127.0.0.1/VAADIN/themes/theme/css/style.css
答案 0 :(得分:5)
location
是放置资源的文件夹的位置。 XSD docs写道:
从Spring资源模式指定的服务静态内容的资源位置。 每个位置都必须指向一个有效的目录。可以将多个位置指定为以逗号分隔的列表, 并按指定的顺序检查给定资源的位置。例如,值为 “/,classpath:/ META-INF / public-web-resources /”将允许从Web应用程序提供资源 root和来自包含/ META-INF / public-web-resources /目录的类路径上的任何JAR, 使用Web应用程序根目录中的资源优先。
另一方面,mapping
属性为:
当前Servlet上下文中的URL映射模式,用于从此处理程序提供资源,例如“/ resources / **”
所以mapping
指定在网上可以访问哪些资源,而location
指定这些资源在磁盘上的位置。
答案 1 :(得分:1)
我的猜测是你没有正确引用这个位置。
location="/VAADIN/"
是
正确的)location="classpath:/VAADIN/"
)?答案 2 :(得分:0)
也许你已经配置了一些在resourcehttprequestresolver(或其所谓的)之前启动的handlermapping 检查您是否没有使用订单属性停止映射链的AbstractUrlHandlerMapping或任何其他处理程序映射。 或者使用订单配置资源解析程序:&lt; mvc:resources ... order =“1”/&gt;
<!-- Maps all other request URLs to views -->
<bean id="viewMappings" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="defaultHandler">
<!-- Selects view names to render based on the request URI: e.g. the "/Home" URL would map to the view named "Home" -->
<bean class="org.springframework.web.servlet.mvc.UrlFilenameViewController" />
</property>
<!-- This will prevent the mvc:resources to handle requests. Unless, of course, you specify an order in the mvc:resources order attribute
<property name="order" value="3" / Removing this will place this just after The ResourceHttpRequestHandler-->
</bean>
答案 3 :(得分:0)
设置用于提供静态内容的处理程序。映射属性 设置为/ resources / **,其中包含一个Ant样式的通配符以指示该路径 必须以/ resources开头,但可以包含其任何子路径。位置属性 表示要提供的文件的位置。如此配置,任何请求 其路径以/ resources开头的路径将自动从/ resources提供 应用程序根目录下的文件夹。因此,我们所有的图像,样式表, JavaScript和其他静态内容需要保存在应用程序的/资源中 文件夹中。