Struts2和Spring整合jar包冲突的问题

时间:2021-12-30 20:35:10
我现在有一个Struts2框架的项目。因为需要,需要加入Spring,我使用的是myecplise,Spring框架和jar是myeclipse中自带的。最后导入struts2-spring-plugin这个包之后,原来项目里的验证码功能不能正常使用了,但是删掉这个包,struts和spring没法整合,下图是我项目里的包,请大家帮忙看看怎么解决,谢谢 Struts2和Spring整合jar包冲突的问题

5 个解决方案

#1


最好单独下载springjar包导入

#2


引用 1 楼 qnmdcsdn 的回复:
最好单独下载springjar包导入

一样,会存在同样的问题

#3


引用 2 楼 XingxingZhiHuoGRF 的回复:
Quote: 引用 1 楼 qnmdcsdn 的回复:

最好单独下载springjar包导入

一样,会存在同样的问题


不太清楚你说的验证码功能不能使用是什么情况,描述清楚一下,并贴下配置文件

#4


引用 3 楼 qnmdcsdn 的回复:
Quote: 引用 2 楼 XingxingZhiHuoGRF 的回复:

Quote: 引用 1 楼 qnmdcsdn 的回复:

最好单独下载springjar包导入

一样,会存在同样的问题


不太清楚你说的验证码功能不能使用是什么情况,描述清楚一下,并贴下配置文件
<!--启动对@AspectJ注解的支持  -->
 <aop:aspectj-autoproxy proxy-target-class="true"/>
 <aop:config>
     <aop:aspect id="TestAspect" ref="aspectTest">
     <aop:pointcut id="at" expression="execution(* com.web.action.*.*(..))"/>
<aop:before pointcut-ref="at" method="before"/>    
<aop:after pointcut-ref="at" method="after"/>      </aop:aspect>

 </aop:config>
<bean id="aspectTest" class="com.aspect.AspectTest"></bean>
<bean id="test" class="com.web.action.UserAction"></bean>
</beans>
public void before(JoinPoint joinpoint){  
String s=this.getIP();
        joinpoint.getArgs();//此方法返回的是一个数组,数组中包括request以及ActionCofig等类对象  
        System.out.println("被拦截方法调用之前调用此方法,输出此语句"+s);  
}  
public void after(){
System.out.println("我是切面类,终于执行了");
}
public String getIP(){
HttpServletRequest request = (HttpServletRequest) RequestContextHolder.getRequestAttributes();
// HttpSession session = request.getSession();
//获取请求的ip
String ip = request.getRemoteAddr();
// String ip="ss";
return ip;
}

第一个是applicationContext.xml,第二个是切面类的几个方法。现在的问题是,切面类里的方法只要不涉及数据传递就可以执行,比如after,只要涉及数据问题就出错。 Struts2和Spring整合jar包冲突的问题

#5


引用 3 楼 qnmdcsdn 的回复:
Quote: 引用 2 楼 XingxingZhiHuoGRF 的回复:

Quote: 引用 1 楼 qnmdcsdn 的回复:

最好单独下载springjar包导入

一样,会存在同样的问题


不太清楚你说的验证码功能不能使用是什么情况,描述清楚一下,并贴下配置文件

如果把<aop:before>注释掉,系统是正常运行的,<aop:after>也可以正常输出。

#1


最好单独下载springjar包导入

#2


引用 1 楼 qnmdcsdn 的回复:
最好单独下载springjar包导入

一样,会存在同样的问题

#3


引用 2 楼 XingxingZhiHuoGRF 的回复:
Quote: 引用 1 楼 qnmdcsdn 的回复:

最好单独下载springjar包导入

一样,会存在同样的问题


不太清楚你说的验证码功能不能使用是什么情况,描述清楚一下,并贴下配置文件

#4


引用 3 楼 qnmdcsdn 的回复:
Quote: 引用 2 楼 XingxingZhiHuoGRF 的回复:

Quote: 引用 1 楼 qnmdcsdn 的回复:

最好单独下载springjar包导入

一样,会存在同样的问题


不太清楚你说的验证码功能不能使用是什么情况,描述清楚一下,并贴下配置文件
<!--启动对@AspectJ注解的支持  -->
 <aop:aspectj-autoproxy proxy-target-class="true"/>
 <aop:config>
     <aop:aspect id="TestAspect" ref="aspectTest">
     <aop:pointcut id="at" expression="execution(* com.web.action.*.*(..))"/>
<aop:before pointcut-ref="at" method="before"/>    
<aop:after pointcut-ref="at" method="after"/>      </aop:aspect>

 </aop:config>
<bean id="aspectTest" class="com.aspect.AspectTest"></bean>
<bean id="test" class="com.web.action.UserAction"></bean>
</beans>
public void before(JoinPoint joinpoint){  
String s=this.getIP();
        joinpoint.getArgs();//此方法返回的是一个数组,数组中包括request以及ActionCofig等类对象  
        System.out.println("被拦截方法调用之前调用此方法,输出此语句"+s);  
}  
public void after(){
System.out.println("我是切面类,终于执行了");
}
public String getIP(){
HttpServletRequest request = (HttpServletRequest) RequestContextHolder.getRequestAttributes();
// HttpSession session = request.getSession();
//获取请求的ip
String ip = request.getRemoteAddr();
// String ip="ss";
return ip;
}

第一个是applicationContext.xml,第二个是切面类的几个方法。现在的问题是,切面类里的方法只要不涉及数据传递就可以执行,比如after,只要涉及数据问题就出错。 Struts2和Spring整合jar包冲突的问题

#5


引用 3 楼 qnmdcsdn 的回复:
Quote: 引用 2 楼 XingxingZhiHuoGRF 的回复:

Quote: 引用 1 楼 qnmdcsdn 的回复:

最好单独下载springjar包导入

一样,会存在同样的问题


不太清楚你说的验证码功能不能使用是什么情况,描述清楚一下,并贴下配置文件

如果把<aop:before>注释掉,系统是正常运行的,<aop:after>也可以正常输出。