`
zy3381
  • 浏览: 155663 次
  • 性别: Icon_minigender_1
  • 来自: 昆明
社区版块
存档分类
最新评论

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)
		{
			//将用户名放入session
			ActionContext.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" class="action.UserAction">
 	<property name="userMapper" 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" class="userAction">
			<result name="success">suc.jsp</result>
			<result name="error">err.jsp</result>
		</action>
	</package>
</struts>


第六步:在WebRoot目录下创建三个JSP文件index.jsp, suc.jsp, err.jsp.代码如下所示:
index.jsp
<%@ 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并启动,打开页面进行登录测试






分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics