Struts2,MyBatis,Spring整合简易教程
在上一篇<MyBatis,Spring整合简易教程>中已经提到了如何在Spring中整合MyBatis,这篇文章中,我们以一个用户登录的例子来简单的讲解一下如何将struts2一起整合进来,搭建SSM架构。
需要准备的软件包:Struts2核心jar包,以及Struts2的lib目录下struts2-spring-plugin-2.2.1.jar
前提步骤:MyBatis,Spring的整合本文不再重复,请参考另外一篇文章<MyBatis,Spring整合简易教程>,我们直接来看如何进一步整合Struts2
第一步:新建一个Web Project,导入Struts2核心包以及整合Spring需要用到的struts2-spring-plugin-2.2.1.jar到的Project的Build Path(也可以直接复制到WEB-INF/lib目录下),其他的步骤与<MyBatis,Spring整合简易教程>所提到的相同(可以直接在Web Project下进行MyBatis,Spring整合,以方便下一步的Struts2整合)。
第二步:编辑WEB-INF/web.xml文件,添加Struts2过滤器和Spring监听器的自启动,该文件内容如下所示:
web.xml
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <display-name></display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list><!-- 加载Struts2 --><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping> <!-- 加载Spring --><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener></web-app>
第三步:创建Action
在src下创建一个包,并在其下创建一个UserAction.java文件,内容如下:
UserAction.java
package action;import org.apache.struts2.ServletActionContext;import model.User;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;import dao.UserMapper;public class UserAction extends ActionSupport{private User user;private UserMapper userMapper;public String execute(){//如果登录的用户存在User userFinded=userMapper.selectUser(user);if(userFinded!=null){//将用户名放入sessionActionContext.getContext().getSession().put("username", userFinded.getUsername());return SUCCESS;}return ERROR;}public User getUser() {return user;}public void setUser(User user) {this.user = user;}public UserMapper getUserMapper() {return userMapper;}public void setUserMapper(UserMapper userMapper) {this.userMapper = userMapper;}}第四步:在Spring中配置Action
打开applicationContext.xml文件,在</beans>标签之前,加入下面这一段代码,并把applicationContext.xml复制到WEB-INF目录下
<bean id="userAction" ref="userMapper"></property> </bean>
第五步:配置Struts2
在src目录下创建struts.xml文件,内容如下所示:
struts.xml
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"><struts><package name="test" extends="struts-default"><action name="userAction" name="code"><%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%@ taglib prefix="s" uri="/struts-tags" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>用户登录</title> </head> <body> <h1>用户登录</h1> <s:form action="userAction"> <s:textfield name="user.username" label="用户名:"></s:textfield> <s:password name="user.password" label="密码:"></s:password> <s:submit value="登录"></s:submit> </s:form> </body></html>
suc.jsp
<html> <head> <title>登录成功</title> </head> <body> <h1>登录成功</h1> </body></html>
err.jsp
<html> <head> <title>登录失败</title> </head> <body> <h1>登录失败</h1> </body></html>
第七步:将项目发布到Tomcat并启动,打开页面进行登录测试