引自: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
,其中的工具将有助于简化下面演示的工程开发,但本文不用。
所需软件包如下表:
序号
包
下载地址和文件(包)名
说明
2
Eclipse WTP
包含网站开发的
Eclipse
,
v3.3
,下载
All in One
6
SpringIDE
(可选)
包名如
springide_updatesite_2.0.1_v200707300600.zip
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
目录下面(如果不在,可以到网上
一把。列表中
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
分享到:
2008-12-15 17:14
浏览 2478
评论