引自:http://blog.csdn.net/eiwang/archive/2007/12/10/1927019.aspx
基本概念和典型实用例子。
一、基本概念
Struts :作为基于 MVC 模式的 Web 应用最经典框架,两个项目 Struts 和 webwork 已经集成,成为现在的 Struts2 。目前的最新版本是 2.0.9 ( 2007-7 )。
Spring : 是一个轻型的容器,利用它可以使用一个外部 XML 配置文件方便地将对象连接在一起。每个对象都可以通过显示一个 JavaBean 属性收到一个到依赖对象的引用,留给您的简单任务就只是在一个 XML 配置文件中把它们连接好。
Hibernate 是一个纯 Java 的对象关系映射和持久性框架,它允许您用 XML 配置文件把普通 Java 对象映射到关系数据库表。使用 Hibernate 能够节约大量项目开发时间,因为整个 JDBC 层都由这个框架管理。这意味着您的应用程序的数据访问层位于 Hibernate 之上,完全是从底层数据模型中抽象出来的。
三种技术到目前已经比较成熟,而且他们都是免费的!让我们对三者集成进行一个初览(简单而不专业):
我们用 Struts 实现从 Web (网页, MVC 中的 View )到后台系统的映射( Web à Action ),然后由 Spring 管理这些 Action ,把它们作为 Bean 和其他对象一起处理。这些 Bean 之间处理业务逻辑、数据、系统状态等,且它们被 Spring 统一管理,为了区分,就算大概包括 MVC 的 MC 部分吧。然后需要持久化的数据由 Spring 和 Hibernate 之间的接口交由 Hibernate 处理(这个属于持久层)。
必须基础: 只要 Java 基础,一点 HTML 知识、 XML 基础就可以了。本文的目的就是从零开始建立第一个 Struts+Spring+Hibernate 应用。即使它是最简单的,我们也希望初学者能够从中理解一些思想,其中也包括系统架构的设计思想。
二、环境搭建
我们坚持免费才是硬道理,开源才是好事情,所以我们全部使用开源免费的工具和软件。如果使用 MyEclipse ,其中的工具将有助于简化下面演示的工程开发,但本文不用。
所需软件包如下表:
序号 | 包 | 下载地址和文件(包)名 | 说明 | |
1 | JDK5.0 | JDK5.0 | ||
2 | Eclipse WTP | Eclipse IDE for Java EE Developers 下载 All in One ,这样不用自己下载其他插件 | 包含网站开发的 Eclipse , v3.3 ,下载 All in One | |
3 | HibernateSynchronizer-3.1.9 | https://sourceforge.net/project/showfiles.php?group_id=99370 | 帮助开发 Hibernate 应用的 Eclipse 插件 | |
4 | Hibernate3 | http://sourceforge.net/project/showfiles.php?group_id=40712 à hibernate3 所指示的包 | Hibernate 支持包 | |
5 | Spring | http://sourceforge.net/project/showfiles.php?group_id=73357
| spring-framework-2.0.6-with-dependencies.zip | |
6 | SpringIDE (可选) | http://springide.org/updatesite/ 包名如 | ||
7 | Struts | http://struts.apache.org/download.cgi
| 为了较全的例子和文档,建议下载 | |
8 | Tomcat | 建议下载 v5.5 以上版本,应用服务器(支持 JSP 等) Apache 项目之一 | ||
9 | MySQL |
| Hibernate 演示需要 | |
1 、下载了 eclipse 以后安装。在所安装的目录下有两个子目录 plugins 和 features ,这是两个放 eclipse 插件的目录,即可以通过拷贝需要的文件到这些目录里面,从而给 eclipse 添加新的功能。
2 、将第 3 、 6 的包解压,将其中的 plugins 目录直接复制到 eclipse 安装目录下,选择“全部”替换。
3 、运行 eclipse ,选择一个空目录作为工作区( WorkSpace ),启动以后可以看到 Welcome.html 的欢迎界面。现在建立新工程 File à New à Project ,在打开的 New Project 窗口中选择 Web à Dynamic Web Project 。输入 Project name ,在 Target Runtime 一项选择新建 (New) ,选择你所安装的 Apache Tomcat ,在弹出窗口输入相关信息( Tomcat 安装目录等)。
新建工程流程如下图。
工程结构如下:
其中我们要写的 Java 代码在 Java Resource: src (以后直接称 src )下,网站根目录内容在 WebContent 下,类所在根目录是 WEB-INF/classes , Eclipse 会自动将 build/classes 里面已经编译的类同步过去。
向 WEB-INF 下的 lib 目录添加如下所列的 jar 包。
( 1 )这些包在下载解压后 Spring , Struts , Hibernate 的 lib 目录或者 dist/module 目录下面(如果不在,可以到网上 google 一把。列表中 mysql-*.jar 包是 MySQL 数据库的 JDBC Driver )。也可以把所有 lib 和 dist 下的 jar 包拷贝过来(可以在系统复制这些 jar 包,然后到 Eclipse 里面选中 WEB-INF 里面的 lib 包,然后粘帖就可以了)。但要注意全拷贝可能会存在冲突,如 struts*plugin.jar 等包不能引入,否则不能运行。
( 2 )这些 Jar 包是:
antlr-2.7.2.jar
cglib-nodep-2.1_3.jar
commons-beanutils-1.6.jar
commons-chain-1.1.jar
commons-collections-2.1.1.jar
commons-dbcp.jar
commons-digester.jar
commons-logging-1.0.4.jar
commons-logging-api-1.1.jar
commons-pool.jar
commons-validator-1.3.0.jar
dom4j-1.6.1.jar
el-api.jar
el-ri.jar
freemarker-2.3.8.jar
hibernate3.jar
jsf-api.jar
jta.jar
mysql-connector-java-3.0.14-production-bin.jar
ognl-2.6.11.jar
oro-2.0.8.jar
spring-hibernate3.jar
spring.jar
struts-config.xml
struts-core-1.3.5.jar
struts2-codebehind-plugin-2.0.9.jar
struts2-config-browser-plugin-2.0.9.jar
struts2-core-2.0.9.jar
struts2-jasperreports-plugin-2.0.9.jar
struts2-jfreechart-plugin-2.0.9.jar
struts2-jsf-plugin-2.0.9.jar
struts2-pell-multipart-plugin-2.0.9.jar
struts2-plexus-plugin-2.0.9.jar
struts2-sitegraph-plugin-2.0.9.jar
struts2-sitemesh-plugin-2.0.9.jar
struts2-spring-plugin-2.0.9.jar
struts2-struts1-plugin-2.0.9.jar
struts2-tiles-plugin-2.0.9.jar
tiles-api-2.0.4.jar
tiles-core-2.0.4.jar
tiles-jsp-2.0.4.jar
xwork-2.0.4.jar