fbpx

[email protected]

购物车

 查看订单

  • 我的帐户
东东购 | EasternEast
  • 中文书店
    • 畅销排行榜
      • 小说 畅销榜
      • 童书 畅销榜
      • 外语畅销榜
      • 管理畅销榜
      • 法律畅销榜
      • 青春文学畅销榜
    • 热门分类
      • 社会小说
      • 成功/励志 畅销榜
      • 人物传记
      • 大陆原创
      • 绘本童书
      • 影视小说
    • 文学推荐
      • 文集
      • 戏剧
      • 纪实文学
      • 名家作品
      • 民间文学
      • 中国现当代随笔
    • 新书热卖榜
      • 小说 新书热卖榜
      • 青春文学 新书热卖榜
      • 童书 新书热卖榜
      • 管理 新书热卖榜
      • 成功/励志 新书热卖榜
      • 艺术 新书热卖榜
  • 精选分类
    • 小说
    • 保健养生
    • 烹饪/美食
    • 风水/占卜
    • 青春文学
    • 童书
    • 管理
    • 成功/励志
    • 文学
    • 哲学/宗教
    • 传记
    • 投资理财
    • 亲子家教
    • 动漫/幽默
    • 法律 Legal
    • 经济 Economics
    • 所有分类
  • 关于东东
  • 帮我找书
搜索
首页计算机/网络软件工程/开发项目管理Struts2+Spring3+Hibernate框架技术精讲与整合案例(配光盘)

Struts2+Spring3+Hibernate框架技术精讲与整合案例(配光盘)

多次印刷,持续畅销,深受读者欢迎,大量的应用实例与项目案例,带领读者一本书轻松搞定SSH三大框架整合开发!

作者:缪勇,施俊,李新锋 编著 出版社:清华大学出版社 出版时间:2015年01月 

ISBN: 9787302388005
年中特卖用“SALE15”折扣卷全场书籍85折!可与三本88折,六本78折的优惠叠加计算!全球包邮!
trust badge

EUR €58.99

类别: 软件工程/开发项目管理 SKU:5d8492b85f9849104541828d 库存: 有现货
  • 描述
  • 评论( 0 )

描述

开 本: 16开纸 张: 胶版纸包 装: 平装是否套装: 否国际标准书号ISBN: 9787302388005

编辑推荐

本书由具有多年开发和教学经验的资深老师执笔写作,笔者在Java EE Web领域具有多年的开发和教学讲解经验,尤其熟识Java开发理论知识体系,笔者凭着娴熟的笔法和渊博的理论知识,采取精雕细琢的写作方式将SSH2开发技术展现得淋漓尽致,能使读者能够很快地进入实际开发角色。本书和市场上其他类似书籍相比,具有下面与众不同的特色:

细致全面:本书内容的编排从Java Web核心基础开始,从基本的语法入手,以恰当的实例为导向,由浅入深地逐渐转入到高级部分,所讲解的内容囊括了Java Web技术的重要知识点。注重如何在实际工作中活用基础知识,做到高质量的程序开发。

理实结合:本书在各章的知识点讲解中,都结合了小实例的精讲将加以验证。特别是难懂知识点,通过恰当的实例帮助读者进行分析、加以理解。

讲解透彻:本书在项目案例讲解过程中,均按功能分类,采用三层架构(数据访问层、业务逻辑层和视图层)进行相关组件的讲解,各层之间分层清晰,层与层之间以松耦合的方法组织在一起,便于读者理解每个功能的实现过程。

实用性强:本书的实用性较强,以经验为后盾,以实践为导向,以实用为目标,深入浅出地讲解Java Web开发中的种种问题。

本书读者对象

本书在内容安排上从浅入深,写作上层层剥洋葱式的分解,充分实例举证,非常适合于初学SSH2框架技术的入门者,同时也适合具有一定SSH2基础,欲对Java Web项目开发技术进一步了解和掌握的中级学者。如果您是以下类型的学者,此书会带领您迅速进入SSH2开发领域:

(1)         有一定Java基础,但是没有Java Web系统开发经验的初学者。

(2)         有其他Web编程语言如ASP、ASP.NET开发经验,欲快速转向Java Web开发的程序员。

(3)         对JSP有一定了解,但是缺乏Java Web框架开发经验,并希望了解流行开源框架Struts2、Hibernate和Spring以及Spring与Struts2和Hibernate整合的程序员。

(4)         有一定Java Web框架开发基础,需要加深对Java Web主流框架技术核心进一步了解和掌握的程序员。

(5)         公司管理人员或人力资源管理人员。

 

 

内容简介
  本书的重点是介绍当前流行的三个轻量级开源框架Struts 2、Spring 3和Hibernate的基础知识,以及三个框架的整合案例开发。在知识点讲解中,均结合了小案例的精讲,以帮助读者更好地理解和掌握。综合示例均采用三层架构,按功能分类进行精讲,各层之间分层清晰,层与层之间以松耦合的方法组织在一起,便于读者理解每个功能的实现过程。 本书内容全面、易于理解、示例众多,为读者更好地使用Java EE这项技术和标准进行工作提供了很好的指导。书中既包含了简单易懂的代码片段,也有大量实际可用的应用系统示例,有利于读者迅速掌握Java EE Web开发的核心技术。全书共分为6篇28章。 本书主要面向有Java语言基础、从事Java EE Web开发的工程技术人员、高校学生和相关技术的爱好者,可作为大专院校Java EE Web程序开发课程的教材,也可作为Java EE Web程序开发人员的入门书籍和参考书,尤其适合于对Struts 2、Spring 3、Hibernate了解不够深入,或对Struts 2 Spring 3 Hibernate整合开发不太熟悉的开发人员阅读。

 

目  录
篇  环境搭建篇
  第1章  建立开发环境
第二篇  Java Web基础篇
  第2章  JSP技术
  第3章  用MVC架构实现Web项目开发
第三篇  Struts 2框架篇
  第4章  Struts 2概述
  第5章  Struts 2的架构和运行流程
  第6章  Action和Result的配置
  第7章  Struts 2的拦截器
  第8章  Struts 2的标签库
  第9章  OGNL和类型转换
  第10章  Struts 2的验证框架
  第11章  Struts 2的国际化
  第12章  Struts 2的文件上传和下载
  第13章  Struts 2的Ajax支持
  第14章  使用Struts 2实现用户信息CRUD
第四篇  Hibernate框架篇
  第15章  Hibernate初步
  第16章  Hibernate的关联映射
  第17章  Hibernate检索方式
  第18章  Hibernate进阶
  第19章  Struts 2与Hibernate的整合
第五篇  Spring框架篇
  第20章  Spring的基本应用
  第21章  深入Spring中的Bean
  第22章  面向方面编程(Spring AOP)
  第23章  Spring整合Hibernate与Struts 2
  第24章  Spring事务管理
  第25章  Spring Web
第六篇  SSH2项目示例篇
  第26章  新闻发布系统
  第27章  网上订餐系统
  第28章  网上银行系统
在线试读

第4章  Struts 2概述

Struts 2是Struts的下一代产品,它是在Struts 1和WebWork技术的基础上进行了合并。全新的Struts 2与Struts 1差别巨大,但是相对于WebWork,Struts 2的变化很小。Struts 2并不是一门完全独立的技术,而是建立在其他Web技术之上的一个MVC框架。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这种设计使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。实际上,WebWork和Struts社区已经合二为一,即现在的Struts 2社区。

本章首先对Struts 2的基本情况进行介绍,接着介绍开始时所要做的准备工作以及如何配置Struts 2的运行环境,然后通过一个简单的“Hello World”示例,让读者快速了解Struts 2的使用方法。

4.1  Struts 2基础

Struts 2是现在Java Web开发中经典的MVC框架技术,被许多开发人员喜爱,也是企业招聘Java人才时的技能之一。

不少开发者初次接触Struts 2时,感觉就像在学习一个新的框架。虽然仍然使用Struts的名字,但原理与原来的Struts 1相比,已经大相径庭了。

4.1.1  Struts 2简介

2001年7月,Struts 1.0正式发布,该项目也成为Apache Jakarta的子项目之一,Struts就是在Model 2的基础上实现的一个MVC框架。它只有一个中心控制器,采用XML定制转向的URL,采用Action来处理逻辑。

在2005年的JavaOne大会上,Struts开发者和用户在讨论Struts的未来时,提出:Struts的代码库不适合大幅度的改进,缺乏扩展性。后来大家经过讨论,决定基于XWork开发一个新的框架,这就是后来的Struts 2。

Struts 2虽然是在Struts 1的基础上发展起来的,但它并没有继承Struts 1的设计理念。Struts 2使用了WebWork的设计理念,并且吸收了Struts 1的部分优点,对Struts 1和WebWork两大框架进行了整合,建立了一个兼容WebWork和Struts 1的MVC框架,使原来使用Struts 1和WebWork的开发人员都能够很快过渡到使用Struts 2框架进行开发。

在使用上,Struts 2更接近WebWork的使用习惯,因为Struts 2使用了WebWork的设计核心而不是Struts 1的设计核心。两个框架的优势得到了互补,让Struts 2拥有更广阔的前景,WebWork、Struts 1与Struts 2之间的关系如图4-1所示。

 

图4-1  WebWork、Struts 1与Struts 2的关系

Struts 2相对Struts 1有很大的改变。Struts 2的Action类实现一个Action接口的同时,还可以去实现其他接口。Struts 2中提供了一个ActionSupport基类去实现常用的接口,但Action接口不是必需的,只要POJO对象中有execute方法,都可以作为Struts 2的Action对象。但是对于Struts 1来讲,则必须要求Action类继承一个抽象基类。

4.1.2  Struts 2的MVC模式

MVC将一个应用的输入、处理和输出流程按照模型、视图和控制器三部分进行分离,这样,一个应用就可以划分为模型层、视图层和控制器层3个层次,三层之间以少的耦合来协同工作。传统MVC模式中,各层之间的关系如图4-2所示。

 

图4-2  MVC模式各层的关系

由于Struts 2的架构本身就是来自于MVC思想,所以在Struts 2的架构中能够找到MVC的影子。

在Struts 2中,视图层对应视图组件,通常是指JSP页面,也适用于Velocity、FreeMarker等其他视图显示技术。模型层对应业务逻辑组件,它通常用于实现业务逻辑及与底层数据库的交互等。控制层对应系统核心控制器和业务逻辑控制器。系统核心控制器为Struts 2框架提供的StrutsPrepareAndExecuteFilter,它是一个起过滤作用的类,能根据请求自动调用相应的Action。而业务逻辑控制器是开发者自定义的一系列Action,在Action中负责调用相应的业务逻辑组件,来完成调用处理。Struts 2的MVC实现如图4-3所示。

 

图4-3  Struts 2的MVC实现

Struts 2是对MVC思想的具体实现,随着技术的发展,不断出现新的开发工具,程序开发人员对开发工具的需求也越来越灵活多变。Struts 2融合了许多优秀Web框架的优点,并对缺点进行了改进,使得Struts 2在开发中具有更大的优势,其优点如下:

l   通过简单、集中的配置来调度业务类,使得配置和修改都非常容易。

l   提供简单、统一的表达式语言来访问所有可供访问的数据。

l   提供标准、强大的验证框架和国际化框架。

l   提供强大的、可以有效减少页面代码的标签。

l   提供良好的Ajax支持。

l   拥有简单的插件,只需放入相应的JAR包,任何人都可以扩展Struts 2框架,比如自定义拦截器、自定义结果类型等,为Struts 2定制需要的功能,而且可以发布给其他人使用。

l   拥有智能的默认设置,不需要另外进行繁琐的设置。使用默认设置可以完成大多数应用程序开发所需要的功能。

4.1.3  Struts 2的工作原理

在Struts 2中,通过拦截器来处理用户的请求,从而允许用户的业务逻辑控制器与Servlet分离,在处理请求的过程中以用户的业务逻辑控制器为目标,创建一个控制器代理,控制代理回调业务控制器中的execute方法来处理用户的请求,该方法的返回值决定了Struts 2以怎样的视图资源呈现给用户,Struts 2的体系概略图如图4-4所示。

 

图4-4  Struts 2的体系概略图

在上面的概略图中,一个请求在Struts2框架中的处理大概分为以下几个步骤。

(1) 浏览器发送请求,例如请求login.action、reg.action等。

(2) 控制层的核心控制器(StrutsPrepareAndExecuteFilter)根据请求调用相应的Action。

(3) Struts 2的拦截器链(即一系列拦截器)自动对请求进行相关的控制逻辑,如数据校验、数据封装和文件上传等功能。

(4) 回调Action的execute方法(Action对象的默认方法),根据用户请求参数执行某种业务逻辑操作。实际上Action只是一个控制器,它调用业务逻辑组件来处理用户的请求。

(5) execute方法会返回一个字符串输出,该输出经过拦截器链自行处理,这与开始的拦截器链处理是相反的过程,核心控制器(StrutsPrepareAndExecuteFilter)将根据返回的字符串跳转到指定的视图资源,呈现给用户。

由此可以看到,Struts 2与MVC思想是相对应的,核心控制器对应着MVC中的控制层,Action对应着MVC中的模型层,产生的结果Result对应着MVC中的视图层。

4.2  配置Struts 2的运行环境

要使用Struts 2框架进行Java Web开发,就必须先下载Struts 2软件包,并配置好Struts 2的配置文件。

4.2.1  下载Struts 2框架

可从Struts 2的官网http://struts.apache.org中下载Struts 2框架,下载页面如图4-5所示。

当前Struts 2的版本为2.3.16,本书所介绍的Struts 2就是基于该版本的,建议读者也下载该版本的Struts 2。在官方主页上,点击蓝色的Download按钮,或者直接进入的版下载页,在Full Releases Struts 2.3.16下方找到Full Distribution: struts-2.3.16-all.zip (65MB)的超级链接,点击下载。

 

图4-5  Struts 2官方主页

将下载的压缩包进行解压缩操作后,可得到如图4-6所示的文件夹结构。

  

图4-6  Struts 2的文件夹结构

(1) apps文件夹:存放官方提供的Struts 2的示例程序,这些程序可以作为学习者的学习资料,为开发者提供了很好的参照。各示例均为WAR文件,可以通过ZIP的方式进行解压缩操作(例如使用WinRAR软件)。

(2) docs文件夹:存放官方提供的Struts 2文档,包括Struts 2 API、Struts 2 Tag等。

(3) lib文件夹:存放Struts 2框架的核心类库,以及Struts 2的第三方插件。

(4)   src文件夹:存放Struts 2项目该版本对应的源代码。

安装Struts 2相对比较容易,Struts-2.3.16框架目录中的lib文件夹下有120多个JAR文件,一般只需将该lib文件夹下的commons-fileupload-1.3.jar、commons-logging-1.1.3.jar、freemarker-2.3.19.jar、ognl-3.0.6.jar、struts2-core-2.3.16.jar、xwork-core-2.3.16.jar等文件复制到Web应用程序中的WEB-INF/lib路径下即可。若需要更多特性,再添加更多的JAR包。

Struts 2项目所依赖的JAR包文件说明如表4-1所示。

表4-1  Struts 2项目依赖的JAR包说明

 

在项目的“Java Build Path”中,可以在Libraries选项卡的Web App Libraries节点下看见已经添加的JAR包,如图4-7所示。

 

图4-7  Struts 2项目的JAR引用

4.2.2  Struts 2的配置文件

Struts 2共有5类配置文件,分别是struts.xml、struts.properties、Web.xml、struts-plugin.xml和struts_default.xml。本节简单介绍web.xml和struts.xml配置文件。

(1)   web.xml文件

我们在以前的JSP、Servlet程序中就配置过web.xml文件。准确地说,它不属于Struts 2框架特有的文件。作为部署文件,web.xml是所有Java Web项目的核心文件。然而在这里,之所以讲到该配置文件,是因为在Web应用中使用Struts 2框架时,还需要在web.xml文件中配置Struts 2的核心控制器(StrutsPrepareAndExecuteFilter),用于对Struts 2框架进行初始化和处理所有的请求,代码如下所示:

 

StrutsDemo

index.jsp

struts2

org.apache.struts2.dispatcher.ng.filter.

StrutsPrepareAndExecuteFilter

struts2

/*

 

提示:在Struts 2.0版本中,核心控制器为org.apache.struts2.dispatcher.FilterDispatcher,读者要根据所使用的Struts 2的版本进行配置。在不同版本的MyEclipse中,所引用的版本有时有所不同。

(2) struts.xml文件

struts.xml定义应用自身使用的action映射及result,但我们一般将应用的各个模块分到不同的配置文件中。

首先,必须在struts.xml文件的对应程序中做相应的配置,其中,需要对每个动作进行相应拦截器的调用,对每种动作的运行结果进行配置等。在拦截器中,必须在使用前进行注册,Struts配置文件可以支持继承,默认的配置文件包在Struts 2-core-x.x.x.jar中。

struts-default.xml文件是那些默认配置文件之一。它的主要功能就是用来注册默认的结果类型和拦截器。所以,在使用的时候,不必在struts.xml文件里进行注册,就可以使用默认的结果类型和拦截器。

struts.xml文件的代码如下所示:

 

/p>

“-//Apache Software Foundation//DTD Struts Configuration 2.3//EN”

“http://struts.apache.org/dtds/struts-2.3.dtd”>

/HelloWorld.jsp

 

在struts节点下有很多子节点,而这些子节点是配置框架的主要因素。我们在以后会讲解struts节点下子节点的含义。

4.3  使用Struts 2实现Hello World示例

在前面的小节中,已经对Struts 2的工作原理、运行环境及相关配置文件做了简单的介绍,下面以一个Struts 2的简单小程序HelloWorld为例,介绍Struts 2 MVC框架如何拦截用户请求,让读者对Struts 2的项目能够进一步了解。

创建StrutsDemo的Web项目,添加Struts 2框架的支持文件,新建Hello.jsp和HelloWorld.jsp页面文件,编写web.xml配置文件,创建业务控制器HelloAction.java类,编写struts.xml配置文件,后运行、部署和测试这个示例。

4.3.1  新建Web项目

首先,我们使用MyEclipse创建一个Web项目,步骤如下。

(1) 打开MyEclipse,在菜单栏中选择File → New → Web Project命令,弹出New Web Project对话框。

在Create a JavaEE Web Project界面的Project Name文本框中,输入“StrutsDemo”名称,在Java version文本框中,选择我们自己安装配置的1.7版本,在Target runtime下拉列表中,选择Apache Tomcat v7.0,如图4-8所示,单击Next按钮。

(2) 进入Java界面,可以在src下添加文件夹,这里不用修改,如图4-9所示,单击Next按钮。

(3)   进入Web Module界面,在其中勾选Generate web.xml deployment descriptor复选框,如图4-10所示,单击Next按钮。

提示:若在前面图4-8的界面中,从Java EE version下拉列表框里选中JavaEE 5 – Web 2.5选项的话,该Generate web.xml deployment descriptor复选框默认是勾选的。

(4) 进入Configure Project Libraries界面,如图4-11所示。

 

提示:在这里可以去除Apache Tomcat v7.0 RunTime Libraries和JSTL 1.2.1 Library,也可以通过Add custom JAR按钮添加自定义的JAR包。

(5) 单击Finish按钮,完成后,在窗体左侧的包资源管理器视图中,就可以看到StrutsDemo项目结构了,如图4-12所示。

 

图4-12  Web项目目录的结构

4.3.2  添加Struts 2框架支持文件

把我们在前面讲解过的Struts-2.3.16文件夹中的以下文件:commons-fileupload-1.3.jar、commons-logging-1.1.3.jar、commons-io-2.2.jar、commons-lang3-3.1.jar、freemarker-2.3.19.jar、javassist-3.11.0.GA.jar、ognl-3.0.6.jar、struts2-core-2.3.16.jar、xwork-core-2.3.16.jar复制到StrutsDemo项目下的“WebRootWEB-INFlib”路径下,然后刷新项目,在左侧的包资源管理器中的Web App Libraries节点下,就可以看见所添加的JAR文件,如图4-13所示。

 

图4-13  添加Struts 2支持包后的效果

至此,Struts 2的基本框架文件就安装到Web项目中了。

4.3.3  新建JSP页面

在WebRoot的根目录下创建视图页面Hello.jsp,在该页面中创建一个简单的超级链接的文本,代码如下所示:

 

 

为了能在页面中显示中文,需在JSP页面中设置页面编码为gbk,如下所示:

 

 

然后创建HelloWorld.jsp页面,在其中显示欢迎的内容,代码如下所示:

 

欢迎您来到Struts 2的世界!

个程序,Hello World!

 

4.3.4  在web.xml文件中添加过滤器

在项目的“WebRootWEB-INF”路径下的web.xml文件中,配置Struts 2的核心控制器,用来拦截请求,并将请求转发给相应的Action处理,代码如下所示:

 

StrutsDemo

index.jsp

struts2

org.apache.struts2.dispatcher.ng.filter

.StrutsPrepareAndExecuteFilter

struts2

/*

 

4.3.5  创建业务控制器HelloAction类

创建访问页面Hello.jsp所对应的业务控制器HelloAction类。

让HelloAction类继承com.opensymphony.xwork2包中的ActionSupport类,并重写ActionSupport类中的execute()方法,HelloAction类的代码如下所示:

 

package com.yzpc.action;

import com.opensymphony.xwork2.ActionSupport;

public class HelloAction extends ActionSupport {

@Override

public String execute() throws Exception {

//SUCCESS是一个值为“success”的常量,也可写为return “success”;

return SUCCESS;

}

}

 

4.3.6  编写struts.xml配置文件

当Action处理完客户端请求后,就会返回一个字符串,每个字符串对应一个视图。在项目的src文件夹下创建struts.xml文件,打开struts.xml文件,在该文件中配置HelloAction类,代码如下所示:

 

/p>

“-//Apache Software Foundation//DTD Struts Configuration 2.3//EN”

“http://struts.apache.org/dtds/struts-2.3.dtd”>

/HelloWorld.jsp

 

在文件中配置Action时,用name属性定义该Action的名称,用class属性定义这个Action的实现类。在配置Result时,name表示接收Action中返回的字符串,实现逻辑视图和物理视图之间的映射。

4.3.7  部署测试项目

使用MyEclipse开发好项目后,需要先将StrutsDemo部署到Tomcat服务器上。然后在浏览器的地址栏中输入“http://localhost:8080/StrutsDemo/Hello.jsp”,如图4-14所示。

 

图4-14  首页面的效果

点击图4-14中的超链接,显示欢迎页面,地址栏还是显示hello请求,如图4-15所示。

 

图4-15  链接后的欢迎页面

4.4  小    结

本章主要介绍了Struts 2框架的基础知识,Struts 2汲取了Struts 1与WebWork二者的优点。本章还介绍了Struts 2的MVC设计模式、Struts 2的工作原理、如何配置运行环境,以及使用Struts 2开发一个示例项目,让读者对Struts 2有了一个初步的了解。学习本章,读者应重点理解MVC思想的基本知识,以及开发Struts 2项目的基本流程。Struts 2框架极大地简化了程序员的工作,只需要进行简单的配置,即可开发Java Web应用程序。

 

书摘插画
插图

插图

插图

插图

插图

抢先评论了 “Struts2+Spring3+Hibernate框架技术精讲与整合案例(配光盘)” 取消回复

评论

还没有评论。

相关产品

阅读更多
缺货

设计模式 可复用面向对象软件的基础(决战大数据时代!IT技术人员不得不读!)

EUR €23.99
阅读更多
缺货

SEO实战密码——60天网站流量提高20倍(第3版)

EUR €63.99
评分 5.00 / 5
阅读更多
缺货

计算广告:互联网商业变现的市场与技术

EUR €43.99
评分 5.00 / 5
阅读更多
缺货

软件需求 第3版(影印版)

EUR €65.99

东东购的宗旨是服务喜爱阅读中文书籍的海外人民,提供一个完善的购书平台,让国人不论何时何地都能沉浸在书香之中,读着熟悉的中文字,回忆着家乡的味道。


安全加密结账 安心网络购物 支持Paypal付款

常见问题

  • 货物配送
  • 退换货政策
  • 隐私政策
  • 联盟营销

客户服务

  • 联系东东
  • 关于东东
  • 帮我找书
  • 货物追踪
  • 会员登入

订阅最新的优惠讯息和书籍资讯

选择币别

EUR
USD
CAD
AUD
NZD
NOK
GBP
CHF
SEK
CNY
UAH
ILS
SAR
MXN
KRW
MYR
SGD
HUF
TRY
JPY
HKD
TWD
facebookinstagram
©2020 东东购 EasternEast.com

限时特卖:用“SALE15”优惠券全场书籍85折!可与三本88折,六本78折的优惠叠加计算。 忽略