Struts2 与 Spring 的整合
今天倒腾了半天,终于是把这个两个框架整合到一起了。还是要写一下总结,同时给大家一些帮助。
开发环境:myeclipse 9.0(不好用!)tomcat6.0 1.准备工作
需要导入的包:struts2 与 spring 基本的包就不用说了,我用的是 struts2.1 Spring 3.0,
尤其要注意 别少导入的几个是:Spring3.0 Web Libraries ; struts 支持 spring 的插件:struts2-spring-plugin-2.1.8.1.jar 将这个 jar 文件放到 lib 目录下 2.web.xml 的配置
除了 struts2 的核心配置外,我们还要加入 spring 的配置,代码如下:
<!--指明spring配置文件的位置!-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext*.xml</param-value>
</context-param>
<!-加载spring的配置文件!-->
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
注:如果你在运行的时候发现有 no found class org.springframework.web.context.LoaderListener 的异常 ,那你要注意你的 Spring3.0 Web 包的导入了
3.application.xml 的配置
<beans>
<bean id="userService" class="com.test.service.UserServiceImpl"></bean>
<bean id="userAction" class="com.test.action.UserAction">
<property name="userService">
<ref bean="userService"/>
</property>
</bean>
</beans>
4.UserAction 类 这个不用多说,注意的是 userService 属性的 getter 和 setter 方法
public class UserAction {
private User user = new User();
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
private UserService userService;
public UserService getUserService() {
return userService;
}
public void setUserService(UserService userService) {
this.userService = userService;
}
public String checkLogin(){
if(userService.checkLogin(user))
{
System.out.println("ok");
}else
System.out.println("sorry");
return "succ";
}
}
5.struts.xml 的配置,把原先 class 的路径换成 spring 中配置 action 的 bean 的 id
<struts>
<package name="test" extends="struts-default">
<action name="login" class="userAction" method="checkLogin">
<result name="succ">index.jsp</result>
</action>
</package>
</struts>
最后修改于 2012-09-06