springMVC中关于拦截器的两种配置有什么不同

 我来答
Jk93mm0Hp07mq7
2017-07-14 · 超过50用户采纳过TA的回答
知道答主
回答量:150
采纳率:0%
帮助的人:41.6万
展开全部
你指的是aop:config和mvc:interceptors的区别吗看

简单的讲他们的区别是:

aop:config是针对类方法的拦截,适用于所有的java类方法的拦截,包括javase。只需要在applicationContext.xml里设置就行了。
mvc:interceptors是针对web请求的拦截,与java.servlet.Filter很类似。通过设置需要拦截的url请求从而拦截请求方法。
其他方面两者都差不多。
pieryon
2017-07-14 · 知道合伙人数码行家
pieryon
知道合伙人数码行家
采纳数:14410 获赞数:166869
获取软件设计师高级职称 万达金融最佳创新奖

向TA提问 私信TA
展开全部
SpringMVC是如何配置拦截器的。
1. *-dispatcher.xml配置文件中添加 <mvc:interceptors>配置
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<mvc:exclude-mapping path="/login"/>
<mvc:exclude-mapping path="/index"/>
<bean class="package.interceptor.XXInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>

这里配置的每个<mvc:interceptor>都会被解析成MappedInterceptor。
其中子标签<mvc:mapping path="/**"/>会被解析成MappedInterceptor的includePatterns属性;<mvc:exclude-mapping path="/**"/>会被解析成MappedInterceptor的excludePatterns属性;<bean/>会被解析成MappedInterceptor的interceptor属性。
<mvc:interceptors>这个标签是被InterceptorsBeanDefinitionParser类解析。
如果使用注解:<mvc:annotation-driven/>
那么配置如下:
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping">
<property name="interceptors">
<bean class="package.interceptor.XXInterceptor"/>
</property>
<property name="order" value="-1"/>
</bean>

两者的区别就是第一种采用的是xml注入,第二种是注解实现
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
育知同创教育
2017-07-14 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部
第一种配置方法:

<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: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>
一般用第二种的原因是因为用了<mvc:annotation-driven>,<mvc:annotation-driven>会自动注入BeanNameUrlHandlerMapping,而且官方也不推荐手动注入BeanNameUrlHandlerMapping这个方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式