我想收集控制器中的所有css / js资源。
这将导致每个资源有一个HTTP请求。
示例:
package my.package;
// [...imports...]
@Controller
@RequestMapping( "/res" )
public class ResourcesController
{
@RequestMapping( value = "/style.css", headers = "content-type=text/css" )
// [...] collect all css files from /WEB-INF/css/**
@RequestMapping( value = "/scripts.js", headers = "content-type=text/javascript" )
// [...] collect all js files from /WEB-INF/js/**
}
我已经有一个使用Apache Tiles的DispatcherServlet,所以我想我需要创建一个新的servlet?!
<servlet>
<servlet-name>resources</servlet-name>
<servlet-class>?org.springframework.web.servlet.ResourceServlet?</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>resources</servlet-name>
<url-pattern>/res/*.css</url-pattern>
<url-pattern>/res/*.js</url-pattern>
</servlet-mapping>
类org.springframework.web.servlet.ResourceServlet是否正确?
然后我必须在我的resources-servlet.xml中添加什么?此?
<?xml version="1.0" encoding="utf-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<bean id="viewResolver" class="org.springframework.web.servlet.view.ResourceBundleViewResolver" />
<context:component-scan base-package="my.package" />
</beans>
我的映射方法应该如何在控制器中显示? 任何示例代码都非常有用。无法在互联网上找到任何东西......
答案 0 :(得分:1)
我已经有一个使用Apache Tiles的DispatcherServlet,所以我想我需要创建一个新的servlet?!
不 - 你应该只有DispatcherServlet。 - 每个Spring Controller都由这个servlet处理。
但总的来说,你做什么看起来很奇怪。
ResourceHttpRequestHandler
请参阅Spring Reference Chapter 16.14.5 Configuring Serving of Resources 例如
<mvc:resources location="/, classpath:/META-INF/web-resources/"
mapping="/resources/**" />