伪类测试

不采用伪类的方式,只通过struts的控制器就可以直接进入Action。但是Action里面其他的东西就需要到

spring容器中去找了,如果找到还好说,找不到就会报null异常。
如果采用伪类的方式,就必须在spring的配置文件中配置Aciton,也就是说通过spring来实例化Action,那么就相应的必须通过spring来实例化Aciton里面的其他东西,要不然在调用的时候也会报相应的null异常。


其实真正的流程为:先通过spring容器去实例化这个Action(也就是先考虑伪类的方式),如果spring容器不能实例化这个Action(也就是说在spring容器中没有配置该Aciton的实例化配置),那么就考虑直接用strtus控制器去实例化这个Action,如果struts控制器也没办法实例化这个Aciton,那么就会报不能实例化该Aciton错误。如果能实例化的话就实例化,然后再赶紧到spring容器中去找其他的东西能不能实例化,如果配置了其他的东西的实例化配置,那么调用的时候就可以直接调用,如果没有配置相应的实例化配置的话,调用的时候就会抛出null异常。


其实也可以采用这样一种线条式思维来理解:就是不管struts实例化这个Action了没有,如果web环境中引入了spring容器,web容器总是要到spring容器中去实例化一遍这个Action,这就导致即使struts的控制器已经替我们实例化了这个Action,过一遍spring容器,又会把原来实例化的那个Aciton给覆盖掉,如果新实例化的这个Action中的其他东西没有被实例化,那么又会报null异常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值