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>