`
fishergay
  • 浏览: 33769 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Struts2.12+Spring3.2+hibernate4.2集成4

    博客分类:
  • SSH
 
阅读更多

1.前面几个章节已经集成了SSH2了, 这一章节讨论测试action类 和3个框架整合是否正常使用。

2.贴一下完整需要的jar


3.1.添加Action 类和 相关jsp

 

 

package com.lysoft.web.action.user;

import java.util.Date;
import java.util.List;

import javax.annotation.Resource;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import com.lysoft.bean.user.User;
import com.lysoft.service.user.UserService;
import com.opensymphony.xwork2.ActionSupport;

/**
 * 用户管理
 * @author liang
 *
 */
public class UserAction extends ActionSupport {
	private static final long serialVersionUID = 1L;
	private static Log LOG = LogFactory.getLog(UserAction.class);
	
	private User user;
	private Integer[] ids;
	private List<User> userList;
	
	@Resource
	private UserService userService;
	
	public String userList() {
		try {
			userList = userService.listAll();
		} catch (Exception e) {
			e.printStackTrace();
			LOG.debug("获取用户列表失败!");
		}
		return SUCCESS;
	}
	public String add() {
		try {
			user.setCreateTime(new Date());
			userService.add(user);
		} catch (Exception e) {
			e.printStackTrace();
			LOG.debug("添加用户失败!");
		}
		return SUCCESS;
	}
	
	public String updateInput() {
		user = userService.find(user.getId().intValue());
		return SUCCESS;
	}
	
	public String update() {
		try {
			User oldUser = userService.find(user.getId());
			oldUser.setUserName(user.getUserName());
			oldUser.setFirstName(user.getFirstName());
			oldUser.setCreateTime(new Date());
			userService.update(oldUser); 
		} catch (Exception e) {
			e.printStackTrace();
			LOG.debug("更新用户失败!");
		}
		return SUCCESS;
	}
	
	public String delete() {
		try {
			userService.delete(ids);
		} catch (RuntimeException e) {
			e.printStackTrace();
			LOG.debug("删除用户成功!");
		}
		return SUCCESS;
	}
	
	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}

	public Integer[] getIds() {
		return ids;
	}

	public void setIds(Integer[] ids) {
		this.ids = ids;
	}

	public List<User> getUserList() {
		return userList;
	}

	public void setUserList(List<User> userList) {
		this.userList = userList;
	}
	
	public String addInput() {
		return SUCCESS;
	}

}

 struts.xml 配置

 

 

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>

    <constant name="struts.devMode" value="true" />
    <constant name="struts.action.extension" value="do" />
    <constant name="struts.i18n.encoding" value="UTF-8" />
    <constant name="struts.objectFactory" value="spring" />
    <constant name="struts.configuration.xml.reload" value="true" />
    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
	
	<package name="globalcfg" extends="struts-default" namespace="/">
		<!-- exception page-->
		<global-results>
			<result name="exceptionPage">
				<param name="location">/common/error.jsp</param>
			</result>
		</global-results>
		<!-- global exception-->
		<global-exception-mappings>
			<exception-mapping name="exception" result="exceptionPage" exception="java.lang.Exception"></exception-mapping>
		</global-exception-mappings>
	</package>
	
	<package name="user" namespace="/user" extends="globalcfg">
		<action name="userList" class="com.lysoft.web.action.user.UserAction" method="userList">
			<result name="success">/WEB-INF/page/user/user_list.jsp</result>
		</action>
		<action name="addInput" class="com.lysoft.web.action.user.UserAction" method="addInput">
			<result name="success">/WEB-INF/page/user/add_input.jsp</result>
		</action>
		<action name="add" class="com.lysoft.web.action.user.UserAction" method="add">
			<result name="success" type="redirectAction">userList</result>
		</action>
		<action name="updateInput" class="com.lysoft.web.action.user.UserAction" method="updateInput">
			<result name="success">/WEB-INF/page/user/update_input.jsp</result>
		</action>
		<action name="update" class="com.lysoft.web.action.user.UserAction" method="update">
			<result name="success" type="redirectAction">userList</result>
		</action>
		<action name="delete" class="com.lysoft.web.action.user.UserAction" method="delete">
			<result name="success" type="redirectAction">userList</result>
		</action>
	</package>

</struts>

jsp 代码 

WEB-INF下面添加page目录,并且在page目录下面添加 add_input.jsp  

update_input.jsp   user_list.jsp 3jsp页面.

user_list.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s" %>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
	<title>用户管理</title>
</head>
<body>
  	<form id="form1" name="form1" action="delete.do" method="post">
	  	<table width="40%" align="center" border="1">
	  		<tr align="center">
	  			<td>序号</td>
	  			<td>账号</td>
	  			<td>姓名</td>
	  			<td>时间</td>
	  			<td>操作</td>
	  		</tr>
	  		<s:iterator value="userList">
		  		<tr align="center">
		  			<td><s:property value="id"/></td>
		  			<td><s:property value="userName"/></td>
		  			<td><s:property value="firstName"/></td>
		  			<td><s:property value="createTime"/></td>
		  			<td>
		  				<a href="updateInput.do?user.id=<s:property value="id"/>">更新</a>
						<a href="delete.do?ids=<s:property value="id"/>">删除</a>
		  			</td>
		  		</tr>
	  		</s:iterator>
	  		<s:if test="null == userList || userList.isEmpty()">
				<tr>
					<td colspan="7" align="center">没有可显示的记录!</td>
				</tr>
			</s:if>
	  	</table>
  	</form>
	<table align="center" border="0">
		<tr>
			<td>
				<input type="button" onclick="javascript:window.location.href='addInput.do'" value="添 加"/>
			</td>
		</tr>
	</table>
</body>
</html>

 add_input.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>添加用户</title>
	</head>
<body>
	<form action="add.do" method="post">
		<table align="center" border="1">
			<tr>
				<td align="center">添加用户</td>
			</tr>
		</table>
		<br/>
		<table align="center" border="1">
			<tr>
				<td align="center">账号</td>
				<td align="center">姓名</td>
			</tr>
			<tr>
				<td align="center"><input type="text" name="user.userName" /></td>
				<td align="center"><input type="text" name="user.firstName" /></td>
			</tr>
		</table>
		<table align="center" border="0">
			<tr>
				<td>
					<input type="submit" value="保 存" id="saveId"/>
				</td>
			</tr>
		</table>
	</form>
</body>
</html>

 update_input.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s" %>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>更新用户</title>
	</head>
<body>
	<form action="update.do" method="post">
		<input type="hidden" name="user.id" value="<s:property value="user.id"/>" />
		<table align="center" border="1">
			<tr>
				<td align="center">更新用户</td>
			</tr>
		</table>
		<br/>
		<table align="center" border="1">
			<tr>
				<td align="center">账号</td>
				<td align="center">姓名</td>
			</tr>
			<tr>
				<td align="center"><input type="text" name="user.userName" value="<s:property value="user.userName"/>" /></td>
				<td align="center"><input type="text" name="user.firstName" value="<s:property value="user.firstName"/>" /></td>
			</tr>
		</table>
		<table align="center" border="0">
			<tr>
				<td>
					<input type="submit" value="更 新" id="saveId"/>
				</td>
			</tr>
		</table>
	</form>
</body>
</html>

 3. 启动tomcat,在浏览器中输入你的访问地址如:

http://localhost:8080/SSH2/user/userList.do



    添加一条记录

测试成功! 删除记录也没有问题,此致已经完成所有整合操作。可以在此模板上方便加入jpa2.0 或其他框架整合。

总结:

写一下第一次写博客的感受吧,  发觉写博客很麻烦,特别是写技术博客,有需要贴源代码,还有提供图片参考, 每个例子都是自己辛苦的做过实验的,还要整合在一起。我写了4篇文章就话了我5个小时, 而且前提是这些代码都是之前已经弄好了, 我在写博客的时候又重新操作了一次, 我这些都是先写在word里面,然后再上传到iteye的比较麻烦。

不知道其他大大们,平时写技术博客是不是这样子,如果有好的办法请告知! 写的过程中有好几次都想放弃不写了,不过最后还是坚持下来了以后在看别人写的博客的时候,得尊重别人的成果,感谢他们的无私的分享。

 

 

  • 大小: 65.6 KB
  • 大小: 4.7 KB
  • 大小: 5.2 KB
分享到:
评论
1 楼 sunlongan666 2013-05-24  
非常感谢,认真看过,非常不错,表示支持

相关推荐

    Struts2.3 + Spring3.2 + Hibernate4.1 + HTML5 + CSS3 开发示例

    Struts2.3 + Spring3.2 + Hibernate4.1 + HTML5 + CSS3开发示例代码。 其中包括如下文件: 介绍文档 Struts2.3 + Spring3.2 + Hibernate4.1 + HTML5 + CSS3开发示例.docx Eclipse工程文件 SSH2.zip Zip包是Eclipse...

    struts1.2 + spring2.5 + hibernate3.2框架demo

    总结来说,这个demo项目提供了一个学习和实践Struts1.2、Spring2.5和Hibernate3.2集成的平台,涵盖了MVC设计模式、依赖注入、面向切面编程和对象关系映射等多个关键概念。通过深入研究和修改这个项目,开发者能够...

    struts2+spring2.5+hibernate3.2整合完整项目,带数据库脚本

    Struts2、Spring2.5和Hibernate3.2是Java Web开发中经典的三大框架,它们的整合使用在过去的许多年里被广泛应用于企业级应用系统。这个完整的项目提供了从开发环境到运行环境的所有必要组件,包括数据库脚本,使得...

    struts2.3.12+spring3.2+hibernate4.1.9 web网站框架

    前几天更换了最新版本的ssh,发现这次变化还是挺大的,费了很大劲才整理好,这是我整理的struts2.3.12+spring3.2+hibernate4.1.9 web网站框架,希望大家用的时候可以省点事吧,里面有用spring代理写的接口调用。

    Struts2.12+Spring3.2+hibernate4.2集成示例代码

    Struts2.12、Spring3.2和Hibernate4.2是Java开发中经典的MVC框架集合,常用于构建企业级Web应用。这个集成示例代码提供了如何将这三个框架协同工作的详细步骤,使得开发者能够更好地理解和掌握它们的交互机制。 ...

    cdst ssh代码生成器,免费的,功能强悍的struts2+spring2.5+hibernate3.2的一套 代码生成系统。.zip

    cdst ssh代码生成器,免费的,功能强悍的struts2+spring2.5+hibernate3.2的一套 代码生成系统。.zip cdst ssh代码生成器,免费的,功能强悍的struts2+spring2.5+hibernate3.2的一套 代码生成系统。.zip cdst ssh代码...

    struts2.5.0+spring4.1.6+hibernate4.2jar包

    这个"struts2.5.0+spring4.1.6+hibernate4.2jar包"包含了这三个框架的特定版本,为开发者提供了一个集成的开发环境。下面将详细阐述这三个框架及其整合的关键知识点。 Struts2是MVC(Model-View-Controller)设计...

    struts2.3+spring3.2+hibernate4.2

    Struts2.3、Spring3.2和Hibernate4.2是三个非常重要的Java Web开发框架,它们在企业级应用中广泛使用。这篇文章将详细介绍这三个框架的整合过程以及各自的核心功能。 Struts2是一个基于MVC(Model-View-Controller...

    struts2.1 + spring 2.5 + hibernate 3.2 增删改查

    Struts2.1、Spring 2.5 和 Hibernate 3.2 是经典的Java Web开发框架组合,用于构建高效、可维护的企业级应用。这个详细例子将深入探讨如何使用这三个框架协同工作,实现数据库的增(Add)、删(Delete)、改(Modify...

    struts2+spring2.5+hibernate3.2 + freemarker 全新功能实现的增删改查+freemarker 摸版

    struts2+spring2.5+hibernate3.2 + freemarker 全新功能实现的增删改查+freemarker 摸版 struts2 的方式自己去看简单。 spring2.5 是用注释来注入 hibernate3.2 是用ejb3注解映射关系 hibernate3 +个属性可以自动...

    struts2+spring2.5+Hibernate3.2整合示例

    Struts2、Spring和Hibernate是Java Web开发中的三...以上就是关于“Struts2+Spring2.5+Hibernate3.2整合示例”的主要知识点,这个整合实例涵盖了Java Web开发中的重要技术,对于开发者来说,深入学习和实践将非常有益。

    Struts2+spring2.0+hibernate3.2

    Struts2+spring2.0+hibernate3.2整合带全部jar包 Struts2+spring2.0+hibernate3.2整合带全部jar包 Struts2+spring2.0+hibernate3.2整合带全部jar包

    struts2+spring4.0+hibernate4.2集成

    本demo采用struts2+spring4.0+hibernate4.2框架集成(内部包含所有jar包),有最dao最底层的代码,可在项目中直接使用,并实现了一个简单的登陆和查询,代码均测试通过,为打ssh框架的同学提供方便哦

    Struts2+Spring2.5+Hibernate3.2集成实例开发2

    Struts2+Spring2.5+Hibernate3.2集成实例开发2 Struts2+Spring2.5+Hibernate3.2集成实例开发2

    用户登录(Struts1.2+Spring2.5+Hibernate3.2)

    1、可以运行(发布后,删除\Tomcat 6.0\webapps\ssh\WebRoot\WEB-INF\lib下的asm-2.2.3.jar) 2、采用Struts1.2 + Spring2.5 + Hibernate3.2 整合开发 3、SSH入门级实例

    SSH整合(Spring3.2+Struts2.3.12+Hibernate4.2)学习

    最新版SSH整合(Spring3.2+Struts2.3.12+Hibernate4.2)学习最新版SSH整合(Spring3.2+Struts2.3.12+Hibernate4.2)学习最新版SSH整合(Spring3.2+Struts2.3.12+Hibernate4.2)学习最新版SSH整合(Spring3.2+Struts...

    最新版本的Struts2+Spring4+Hibernate4框架整合

    同时使用了Struts2、Spring4、Hibernate4、log4j、slf4j、junit4、ehcache等库或框架,搭建一个最基本的项目原型。 三、 三大框架最新版本下载:截止2014-10-01 Struts2.3.6:发布于2014-05-03,目前的最新版本。...

    struts2.1.6 +spring2.5 +hibernate3.2 整合开发的 jar包 _ 02部分

    struts2.1.6 +spring2.5 +hibernate3.2 整合开发的 jar包 _ 01部分 struts2.1.6 +spring2.5 +hibernate3.2 整合开发的 jar包 _ 02部分 大家只要将这两个部分的包全部下载下来,就可以搭建struts2 + spring + ...

Global site tag (gtag.js) - Google Analytics