基于 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 过滤,修改后文件如下。
<?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>SSHDemo</display-name>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
Struts.xml 暂时先做一个不包含 package 的 xml 文件。如下