第一种配置方法:
<bean id="handlerInterceptor1" class="cn.javass.chapter5.web.interceptor.HandlerInterceptor1"/> <bean id="handlerInterceptor2" class="cn.javass.chapter5.web.interceptor.HandlerInterceptor2"/> <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"> <property name="interceptors"> <list> <ref bean="handlerInterceptor1"/> <ref bean="handlerInterceptor2"/> </list> </property> </bean>第二种配置方法:
<mvc:interceptors> <bean class="cn.javass.chapter5.web.interceptor.HandlerInterceptor1" /> <bean class="cn.javass.chapter5.web.interceptor.HandlerInterceptor2" /> </mvc:interceptors>第二种配置方法看上去很简洁,还有没有其它优点呢?还想知道以<mvc:xxxxx>开头的标签配置方法是不是针对SpringMVC所特有的?
谢谢!
mvc是spring3之后的一个新的命名空间,推荐用第二种。
<mvc:annotation-driven /> 是一种简写形式,替代了很多配置。
不过你的mvc:interceptors写的有点奇怪。。。你不配置拦截路径吗?
<mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/admin/**"/> <bean class="tk.gbl.web.filter.AdminInterceptor"/> </mvc:interceptor> </mvc:interceptors>
(代表admin子路径也拦截,否则只拦截admin/下的) ###### 用第二种的原因是因为用了<mvc:annotation-driven>,<mvc:annotation-driven>会自动注入BeanNameUrlHandlerMapping,而且官方也不推荐手动注入BeanNameUrlHandlerMapping这个方法
结果:请用第二种,不过第二种写法是不是有点奇怪? ######谢谢你的解答!确实没注意到拦截路径。######用第二种吧,我一直都在用
<mvc:interceptor> <mvc:mapping path="/manage/"/> <mvc:exclude-mapping path="/manage/goLogin."/> <mvc:exclude-mapping path="/manage/login."/> <mvc:exclude-mapping path="/manage/logout.*"/> <bean class="com.xx.ManageInterceptor"/> </mvc:interceptor>
######GOGO我是来打酱油的! http://www.gogo.cn/######我还是喜欢传统配置方法,不喜欢mvc开头得标签。######
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。