三大框架整合中怎样把Struts2拦截器交给spring管理

三大框架整合中怎样把Struts2拦截器交给spring管理,我尝试了以管理action的方式给拦截器注入对象实例...对象一直为空...我不知道这么配置文件怎么来写这是... 三大框架整合中怎样把Struts2拦截器交给spring管理,我尝试了以管理action 的方式给拦截器注入对象实例...对象一直为空...我不知道这么配置文件怎么来写
这是我现在的配置文件:
<bean id="Contro" class.......></bean>
<bean id="Access" class="com.oamanage.interceptor.LoginAccessControl" scope="prototype">
<property name="ic" ref=“Contro"></property>
</bean>
ic注入失败...希望大家给点建议...
展开
 我来答
fuhaiwei
推荐于2018-04-20 · TA获得超过3409个赞
知道大有可为答主
回答量:974
采纳率:75%
帮助的人:1378万
展开全部
如果非常需要注入的话,可以考虑用Spring AOP来代替Struts2拦截器。

我试过,结合自动代理工厂,可以方便的拦截Action。

实现登入验证,权限检查,日志记录,异常转发等都没有问题。

需要注意的是Action最好使用接口方式,例如有
interface LoginAction 和 class LoginActionImpl

因为Spring默认使用JDK动态代理,需要一个接口。
当然没有接口也行,只要启动CGLIB代理即可。
更多追问追答
追问
..涉及底层代码,我还有点飘....LoginAccessControl(自定义拦截器)继承自AbstractInterceptor
追答
//applicationContext.xml
<bean id="logInterceptor" class="com.logging.LogInterceptor" />
<bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
    <property name="interceptorNames" value="logInterceptor" />
    <property name="beanNames" value="*Action,*Service,*Dao" />
</bean>

程序需要引入aopalliance-1.0.jar,spring的程序包中应该有。

public class LogInterceptor implements MethodInterceptor {
   public Object invoke(MethodInvocation invocation) throws Throwable {
        logMethodEnterInfo(invocation);
        StopWatch watch = new StopWatch();
        try {
            Object result = invocation.proceed();
            logMethodReturnInfo(invocation, result, watch);
            return result;
        } catch (Throwable t) {
            logMethodThrowsInfo(t, watch);
            throw t;
        }
    }
}
yueyuanpu33
2013-07-15 · 超过11用户采纳过TA的回答
知道答主
回答量:99
采纳率:50%
帮助的人:22.1万
展开全部
。。。。很简单啊,web.xml 一配就完活!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
你一天想说什么
2013-07-15 · TA获得超过128个赞
知道小有建树答主
回答量:126
采纳率:0%
帮助的人:53.9万
展开全部
此处<bean id="Access" class="com.oamanage.interceptor.LoginAccessControl" scope="prototype">中需要把class的值修改成spring中配置成功的action的id(或者是name,有点记不清楚了)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式