springmvc的
我的工程一直在用springmvc,spring版本是3.0.7。我在web.xml里没有配置ContextLoaderListener,是直接通过DispatcherServlet来加载所有spring的xml文件。如此ioc和mvc url映射都是正常的。
现在我想引入ehcache的页面缓存。它必须在web.xml里配个SimplePageCachingFilter。由于其加载时机先于servlet,我不得不在web.xml配置ContextLoaderListener。现在问题就来了!我发现只有通过DispatcherServlet来加载所有配置,mvc的url映射才是有效的。我试过通过ContextLoaderListener加载所有xml文件,或者DispatcherServlet只加载spring-servlet.xml,剩下的全部交给ContextLoaderListener加载,这些情况下ioc加载都没问题,可mvc映射都是无效的。
有没什么法子可以搞定 ContextLoaderListener+DispatcherServlet?
spring-mvc 和 applicationContext 分别在web.xml配置。
<context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:config/spring/spring.xml</param-value> </context-param> <servlet> <servlet-name>mvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:config/spring/spring-mvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>######回复 @erdo : 我们在用的就是这个。很好啊######你说的这种分开配置的方式我也试过,但所有@controller的URL映射都失效了。######servlet.xml 的 annotation-driven 有一个include-filter applicationContext.xml 是 exclude...######标准方法是在web.xml中配置两个,然后在spring mvc配置文件中注解只扫controller注解,其余spring不扫controller注解,如上面所述######你的说法比较正确,一般都是两者都配置,我现在做的系统就是两个都进行了配置的######能发一个完整的web.xml配置吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。