Struts2与Spring的集成:
一,加入Struts2支持
二,加入struts2-spring-plugin-2.1.6.jar包
三,加入Spring的支持
四:创建好业务逻辑层接口和对业务逻辑层的实现
如:
/** * 业务逻辑层接口 * * @author 张明学 * */ public interface LoginServiceInter { public boolean checkLogin(String username, String password); } /** * 对业务逻辑层接口的实现 * * @author 张明学 * */ public class LoginServiceImple implements LoginServiceInter { public boolean checkLogin(String username, String password) { if ("mengya".equals(username) && "xiaobo".equals(password)) { return true; } return false; } }
五,完成Action中的方法对业务组件的调用
/** * Action类 申明一个业务组件的接口并生成set方法,Action中的方法由该接口实例完成 * * @author 张明学 * */ public class LoginAction extends ActionSupport { private String username; private String password; // 业务逻辑层 private LoginServiceInter loginService; // 由Spring注入 public void setLoginService(LoginServiceInter loginService) { this.loginService = loginService; } @Override public String execute() throws Exception { if (loginService.checkLogin(username, password)) { return SUCCESS; } else { return INPUT; } } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } }
六,完成配置
1,在web.xml中加入对spring配置文件的支持
<!-- Spring的监听器 --> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> <!--Spring的配置文件 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:applicationContext.xml</param-value> </context-param>
2,在Spring的applicationContext.xml中完成业务逻辑组件和Action的Bean的配置
<bean id="loginService
"
class="com.mengya.service.impl.LoginServiceImple">
</bean>
<bean id="loginServiceAction "
class="com.mengya.action.LoginAction">
<property name="loginService">
<ref bean="loginService"></ref>
</property>
</bean>
3,在struts.xml中完成strust2的配置
<package name="mengya" extends="struts-default">
<!-- 该Action的class是Spring的applicationContext.xml中的action Bean的name属性 -->
<action name="login" class="loginServiceAction
">
<result name="success">/result.jsp</result>
<result name="input">/index.jsp</result>
</action>
</package>