基于eclipse的struts2、hibernate3、spring3整合


基于 eclipse 的 struts2+hibernate3+spring3 整合 skrbhn 制作 2012 年 9 月 email:skrbhn@gmail.com  实验环境 ·eclipse 3.7 ·java 6 ·tomcat 6 ·struts 2.3.4.1 ·spring 3.0 ·hibernate 3.3 ·MySQL 5.5.15 数据库生成脚本,本例使用的数据库名为 test,只涉及到一张表,以下是数据库创建脚本。 DROP TABLE IF EXISTS user; CREATE TABLE user ( id varchar(32) NOT NULL DEFAULT '', uid varchar(10) DEFAULT NULL, uname varchar(30) DEFAULT NULL, upassword varchar(20) DEFAULT NULL, usex varchar(2) DEFAULT NULL, uage int(11) DEFAULT NULL, uemail varchar(30) DEFAULT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;  创建工程 打开 eclipse,选择 File->New->Dynamic Web Project 创建一个名为 SSHDemo 的 web 项目,如下图,其他都用默认设置。  添加 jar 包 添加的 jar 包比较多,List 如下 asm-3.3.jar asm-commons-3.3.jar asm-tree-3.3.jar cglib-2.2.jar com.springsource.com.mchange.v2.c3p0-0.9.1.2.jar com.springsource.net.sf.cglib-2.2.0.jar com.springsource.org.aopalliance-1.0.0.jar com.springsource.org.apache.commons.fileupload-1.2.0.jar com.springsource.org.apache.commons.httpclient-3.1.0.jar com.springsource.org.apache.commons.lang-2.4.0.jar com.springsource.org.apache.commons.logging-1.1.1.jar com.springsource.org.apache.commons.pool-1.5.3.jar com.springsource.org.apache.log4j-1.2.15.jar com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar com.springsource.org.codehaus.jackson.mapper-1.0.0.jar commons-collections-3.1.jar commons-dbcp.jar commons-fileupload-1.2.2.jar commons-io-2.0.1.jar commons-lang3-3.1.jar dom4j-1.6.1.jar ehcache-1.2.3.jar ejb3-persistence.jar freemarker-2.3.19.jar hibernate-annotations.jar hibernate-commons-annotations.jar hibernate-entitymanager.jar hibernate-validator.jar hibernate3.jar javassist-3.9.0.GA.jar jotm.jar jta-1.1.jar log4j-1.2.14.jar mysql-connector-java-5.1.7-bin.jar ognl-3.0.5.jar org.springframework.aop-3.0.1.RELEASE-A.jar org.springframework.asm-3.0.1.RELEASE-A.jar org.springframework.aspects-3.0.1.RELEASE-A.jar org.springframework.beans-3.0.1.RELEASE-A.jar org.springframework.context-3.0.1.RELEASE-A.jar org.springframework.core-3.0.1.RELEASE-A.jar org.springframework.expression-3.0.1.RELEASE-A.jar org.springframework.instrument-3.0.1.RELEASE-A.jar org.springframework.instrument.tomcat-3.0.1.RELEASE-A.jar org.springframework.jdbc-3.0.1.RELEASE-A.jar org.springframework.orm-3.0.1.RELEASE-A.jar org.springframework.oxm-3.0.1.RELEASE-A.jar org.springframework.transaction-3.0.1.RELEASE-A.jar org.springframework.web-3.0.1.RELEASE-A.jar org.springframework.web.portlet-3.0.1.RELEASE-A.jar org.springframework.web.servlet-3.0.1.RELEASE-A.jar org.springframework.web.struts-3.0.1.RELEASE-A.jar persistence.jar slf4j-api-1.5.8.jar slf4j-log4j12-1.5.8.jar struts2-core-2.3.4.1.jar struts2-spring-plugin-2.3.4.1.jar xapool.jar xwork-core-2.3.4.1.jar jar 包以打包上传网盘,下载地址: http://pan.baidu.com/share/link?shareid=22588&uk=2653924321 到此已添加了 ssh 整合需要的所有 jar 包,在之后的过程中就不再添加 jar 包了。  添加 struts Struts 主要涉及到两个 xml 文件,一个是 WebContent\WEB-INF 目录下的 web.xml 文件,一个是 struts.xml 文件。修改 web.xml 文件,添加 struts 过滤,修改后文件如下。 SSHDemo struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /* index.jsp Struts.xml 暂时先做一个不包含 package 的 xml 文件。如下  添加 spring Spring 需要在 WebContent\WEB-INF\目录下创建一个 applicationContext.xml,文 件内容如下 然后需要在 web.xml 中添加 spring 的监听。修改 web.xml 后如下 SSHDemo contextConfigLocation /WEB-INF/applicationContext.xml org.springframework.web.context.ContextLoaderListener struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /* index.jsp  添加 hibernate 添加 hibernate 只需要在之前的 applicationContext.xml 文件中配置数据源即可。修改 applicationContext.xml 文件后如下 org.hibernate.dialect.MySQLDialect true  创建包目录 创建以下包 ->com.ssh.action ->com.ssh.dao ->com.ssh.dao.impl ->com.ssh.pojo ->com.ssh.service ->com.ssh.service.impl  编写代码 1. User.java 和 User.hbm.xml 在包 com.ssh.pojo 创建 User.java 和 User.hbm.xml,内容如下 User.java package com.ssh.pojo; public class User { private String id; private String uid; private String uname; private String upassword; private String usex; private int uage; private String uemail; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getUid() { return uid; } public void setUid(String uid) { this.uid = uid; } public String getUname() { return uname; } public void setUname(String uname) { this.uname = uname; } public String getUpassword() { return upassword; } public void setUpassword(String upassword) { this.upassword = upassword; } public String getUsex() { return usex; } public void setUsex(String usex) { this.usex = usex; } public int getUage() { return uage; } public void setUage(int uage) { this.uage = uage; } public String getUemail() { return uemail; } public void setUemail(String uemail) { this.uemail = uemail; } } User.hbm.xml 2. UserDAO 和 UserDAOImpl 在 com.ssh.dao 下创建 UserDAO.java UserDAO.java package com.ssh.dao; import com.ssh.pojo.User; public interface UserDAO { public void insertUser(User user); } 在 com.ssh.dao.impl 下创建 UserDAOImpl.java UserDAOImpl.java package com.ssh.dao.impl; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import com.ssh.dao.UserDAO; import com.ssh.pojo.User; public class UserDAOImp extends HibernateDaoSupport implements UserDAO { public void insertUser(User user) { this.getHibernateTemplate().save(user); } } 3. UserService.java 和 UserServiceImpl.java 在 com.ssh.service 下创建 UserService.java UserService.java package com.ssh.service; import com.ssh.pojo.User; public interface UserService { public void insert(User user); } 在 com.ssh.service.impl 下创建 UserServiceImpl.java package com.ssh.service.impl; import com.ssh.dao.UserDAO; import com.ssh.pojo.User; import com.ssh.service.UserService; public class UserServiceImpl implements UserService { UserDAO userDAO; public UserDAO getUserDAO() { return userDAO; } public void setUserDAO(UserDAO userDAO) { this.userDAO = userDAO; } public void insert(User user) { this.userDAO.insertUser(user); } } 4. Action 在 com.ssh.action 下创建 UserInsertAction.java package com.ssh.action; import com.opensymphony.xwork2.ActionSupport; import com.ssh.pojo.User; import com.ssh.service.UserService; @SuppressWarnings("serial") public class UserInsertAction extends ActionSupport { UserService userService; User user; public UserService getUserService() { return userService; } public void setUserService(UserService userService) { this.userService = userService; } public User getUser() { return user; } public void setUser(User user) { this.user = user; } public String execute() throws Exception { this.userService.insert(user); return SUCCESS; } } 编辑 struts.xml /success.jsp /error.jsp 5. 配置 applicationContext.xml org.hibernate.dialect.MySQLDialect true com/ssh/pojo/User.hbm.xml 6. 创建前台 JSP 文件 在 WebContent 下创建 index.jsp,success.jsp 和 error.jsp index.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags" %> Index success.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> success success error.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> error error 7. 完工,添加到 Tomcat 里测试一下吧。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
还剩16页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 8 金币 [ 分享pdf获得金币 ] 0 人已下载

下载pdf

pdf贡献者

sunwe1987

贡献于2016-02-27

下载需要 8 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf