`
momodog
  • 浏览: 104549 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Struts+Spring+Hibernate整合入门详解(1)

    博客分类:
  • JAVA
阅读更多

引自: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

http://java.sun.com/javase/downloads/index.jsp

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/ 包名如
springide_updatesite_2.0.1_v200707300600.zip

7

Struts

http://struts.apache.org/download.cgi

 

为了较全的例子和文档,建议下载
struts-2.0.9-all.zip
否则只下载 lib struts-2.0.9-lib.zip

8

Tomcat

http://tomcat.apache.org

建议下载 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

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics