当前位置:
首页 > 教材教辅 > 大学 > Java EE技术与应用pdf/doc/txt格式电子书下载

Java EE技术与应用pdf/doc/txt格式电子书下载

本站仅展示书籍部分内容

如有任何咨询

请加微信10090337咨询

Java EE技术与应用pdf/doc/txt格式电子书下载

书名:Java EE技术与应用pdf/doc/txt格式电子书下载

推荐语:

作者:张军朝编

出版社:电子工业出版社

出版时间:2016-02-01

书籍编号:30468283

ISBN:9787121277177

正文语种:中文

字数:216202

版次:1

所属分类:教材教辅-大学

全书内容:

Java EE技术与应用pdf/doc/txt格式电子书下载






前言


Java EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全性与再用价值。


Java EE的核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共同的标准及规则,让各种依循Java EE架构的不同平台之间,存在良好的兼容性,解决了过去企业后端使用的信息产品彼此之间无法兼容,导致企业内部或外部难以互通的问题。


Java EE典型有四层结构组件:客户层组件(HTML,脚本语言,各种标签);WEB层组件(JSP页面,Servlets,使用JavaBean处理用户输入);业务层组件(EJB进行处理);EIS层组件。企业级JavaBean有三种:会话Bean(与客户端程序的临时交互),实体Bean(数据库表中的永久记录),消息驱动(允许业务层组件亦不接受JMS消息)。


为了帮助众多的软件开发人员尽快地掌握Java EE平台的相关知识,尽快地步入实际项目的开发中,作者根据多年教学和项目开发经验编写了此书。


本书既介绍了Java EE的基本知识,也对项目开发中流行的几个框架进行了讲解,还通过一个真实案例向读者介绍了Java EE项目完整的开发步骤。读者通过本书可以尽快地掌握在Java EE平台下进行项目开发的技能。


本书具有以下特点:


1.内容饱满、由浅入深


本书内容既包括Java EE平台下开发的基础知识,也有项目编程的实用技巧,还提供了多个真实案例供读者学习。本书在知识的层次上由浅入深,使读者可以从Java EE的门外汉平稳、快速地步入Java EE开发的殿堂。


2.结构清晰、语言简洁


本书中所有案例都是按照笔者的真实项目开发过程进行介绍的,结构清晰,语言简洁,便于实际练习。为了帮助读者更好地理解相关知识点,全书穿插了很多实用技巧及温馨提示。


3.实际商业案例


本书的案例均具有实际商业价值,如果进行开发,价格要数万元,笔者将其完整地展现给了读者。


本书共分17章:第0章是Java EE概述;第1章全面讲述了Java的发展、开发环境、Java语法及基础知识,通过学习这些基础知识,读者可以对Java有更深入的了解,在理解后续框架时会更容易些;第2章主要讲述了jdk1.5、jdk1.6、jdk7、jdk8的一些新特性,了解jdk版本更新带给开发者的一些最新技术;第3章全面讲述了SQL和MySQL的相关概念与使用,通过本章内容的学习,读者可以对数据库的常见概念有所了解,并学会使用常用的SQL语句对数据库的数据记录进行操作;第4章主要介绍了标记语言XML,并对XML的语法规则进行详细介绍,最后介绍了如何使用JAXP解析XML,通过学习本章内容读者可以对XML有更深入的了解;第5章全面讲述了HTML、CSS的概念以及使用,帮助开发者更灵活地使用HTML和CSS,本章还对Bootstrap这个近期比较流行的响应式框架做了介绍,利用Bootstrap可以简单迅速地做出漂亮的前端页面;第6章主要介绍了前端开发中需要用到的JavaScript、AJAX、Json、JQuery等技术的概念、语法以及使用等内容,使开发者对这些技术有基本的了解;第7章主要讲述了Serlvet技术,通过4节内容分别对Servlet原理、生命周期、服务器内部调整和外部跳转、Session、Cookie、URL重写等内容进行了介绍;第8章主要讲述了JSP的概念以及如何使用JSP,通过本章的学习读者可以知道如何在前端页面中显示Java服务器端的数据;第9章通过MVC模式简介、Struts 2框架来历简介、Struts 2概述、Struts 2原理的介绍、构件基于Struts 2的应用等内容全面讲述了Struts 2这个框架,通过学习本章内容,读者可以很轻松地运用Struts 2来实现Java与前端页面的数据交互;第10章讲述了JDBC、Hibernate、MyBatis等持久层技术的相关概念以及使用的详细讲解,通过学习持久层框架技术,读者可以很方便地通过配置XML文件属性的方法简单地实现Java与数据库的交互;第11章讲述了Spring的概念以及Spring的IoC注入、AOP、代理模式以及Spring事务管理机制等内容,通过学习本章内容可以对Spring框架整体有所了解,通过使用Spring的控制反转和面向切面的特性来编程可以大大提高开发效率;第12章通过快速开发平台内置功能、设计思想、技术选型、安装部署、文件结构、系统配置文件等方面内容的介绍,对快速开发平台做了全面的讲述;第13章全面介绍了快速开发平台的各种组件,包括布局组件、用户工具、全局缓存、字典工具、功能权限控制、数据权限等常用组件,通过认识这些组件,在开发过程中遇到类似的开发需求就可以直接调用组件而不用重新开发,所以使用组件开发可以提升开发效率;第14章详细讲述了快速开发平台中代码生成器的详细使用步骤,利用代码生成器组件可以根据数据库表的信息快速生成Java代码,提高开发效率;第15章全面讲述了快速开发平台对手机端应用程序提供的基础接口,介绍了传输格式、账号登录、登录成功、登录失败、请求页面、获取基础信息等方面的内容;第16章通过讲述公共资源交易平台系统这样一个真实的项目案例,来带领读者了解真正的软件是怎样的开发流程,都包括哪些内容,如何去开发一个实用的应用系统。这里主要从项目概述、需求分析、系统设计、功能设计、场地安排模块等方面详细讲解公共资源交易平台系统。


本书的内容通俗易懂,涵盖了Java EE相关的所有基础技术,并向读者介绍了真实项目的开发流程,特别适合做为软件工程、计算机科学与技术、物联网工程、计算机应用、电子商务等专业的高年级本科生和研究生的教材,也适合相关软件开发技术人员参考,同时也是职业技术类学院和各种软件开发培训机构的首选教材。


作者从事工程应用软件开发15年,主持开发的工程应用系统有:建设工程招投标信息处理系统、建设工程(土建、装饰、安装、市政、园林绿化、抗震加固、水利水电、电力、公路、邮电通信、煤炭)造价信息处理系统、建筑工程三维可视化算量软件、建设工程招投标企业信用信息系统、建筑工程监管信息系统、公共资源交易系统、重点项目(重点企业)动态监察系统、混凝土质量动态监管系统、大型建筑工地太阳能3G无线远程视频监控系统、大型流域和城市防洪预警会商系统、城市火灾预警和消防装备全生命周期管理系统、路灯景观灯照明控制系统等。其中基于Zigbee和 GPRS的路灯照明调光节能控制系统已在太原市滨河东路景观照明系统工程、太原市汾河公园照明工程、长风商务区景观照明工程、汾东商务区路灯照明工程、江苏宜兴团氿公园景观照明工程、山东曹县路灯照明工程、河南中牟县路灯照明工程中推广应用。


本书共17章,分为入门篇、基础篇、框架篇、平台篇、应用篇五个部分,总学时为48学时,其中授课时间为40学时,试验练习时间为8个学时。


本书由张军朝担任主编,制定本书大纲、内容安排并指导写作;高保禄负责全书的组织工作;孙靖宇负责全书的统稿工作;赵荣香负责本书所有源代码的调试工作;王浩负责本书应用篇的项目编程规划编写。张军朝编写了第0、1、2、3章;赵荣香编写了第4、5、6章;高保禄编写了第7、8、9章;孙靖宇编写了第10、11、12章;吕丰德编写了第13、14章,张江华编写了第15章,王浩编写了第16章。本书由太原理工大学陈俊杰教授主审。


在本书的编写过程中得到了计算机专业教学指导委员会委员、太原理工大学陈俊杰教授,太原理工大学崔冬华教授,山西太原天地方圆电子科技有限公司赵荣香高工、吕丰德工程师、张江华工程师自始至终的支持和帮助;太原理工大学赵阳硕士、王青文硕士、陶亚男硕士在编写和校对过程中也做了大量的工作。在此一并致以衷心的感谢!


编者力求将实践和理论相结合,科研和教学相结合,工程和教学相结合,硬件和软件相结合,先进和实用相结合,编写出高质量、高水平的教材,但由于编者水平有限,书中错误和不当之处在所难免,敬请读者谅解和指正,联系邮箱:zhangjunchao@tyut.edu.cn。


张军朝


2016年1月1日 于 太原理工大学 国交楼

第0篇 入门篇


第0章 Java EE概述


0.1 Java EE是什么


Java平台有三个版本,这使软件开发人员、服务提供商和设备生产商可以针对特定的市场进行开发:


Java SE(Java Platform,Standard Edition)。Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为 Java Platform,Enterprise Edition(Java EE)提供基础。


Java ME(Java Platform,Micro Edition)。这个版本以前称为 J2ME。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME 包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。基于 Java ME 规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。


Java EE(Java Platform,Enterprise Edition)。这个版本以前称为 J2EE。企业版帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE是在 Java SE的基础上构建的,它提供Web服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web 2.0 应用程序。Java EE其实是一种企业级应用的软件架构,同时是一种思想,一套规范。


0.2 Java EE发展史


Java Enterprise Edition的发展不知不觉已经17年了,一开始,Java Enterprise Edition简称“J2EE”,直到版本5才改名为Java EE,而现在最新的版本则是Java EE 7。


到这里,或许有人会问,为什么会有这么多套Java EE规范?这些版本的差别是什么?


1.J2EE1.2的出现,主要是将之前各个单独的规范绑定到一起。


2.J2EE1.3,则是继续完善J2EE体系结构。


3.J2EE1.4,主要是加入了一个重要主题:Web Service。


4.Java EE 5,主题则是“简化”,简化之前复杂的J2EE思想,改善开发体验。


5.Java EE 6,进一步简化开发流程,增加平台的灵活性,从而更好地解决轻量级 Web 应用程序。此外,Java EE 6 开始与开源架构进行无缝集成,并对现有的技术做了精简。


6.Java EE 7,扩展了 Java EE 6,利用更加透明的 JCP 和社区参与来引入新的功能,主要包括加强对 HTML5 动态可伸缩应用程序的支持、提高开发人员的生产力和满足苛刻的企业需求。


Java EE的发展史示意图如图0-1所示。

Java EE技术与应用pdf/doc/txt格式电子书下载

图0-1 Java EE发展史示意图

0.3 Java EE到底要解决什么问题


从Java EE发展背景看,它与“分布式应用”以及“互联网应用”的关系密不可分,而这两者也正是Java EE要解决的问题!


其实,分布式应用随着20世纪90年代互联网的兴起逐渐开始普及。在90年代中,各种分布式应用标准逐渐诞生,如:OMG的CORBA,MS的DCOM等,而Sun在推出Java的RMI(Remote Method Invocation)后,便以RMI作为通信基础构建了Java EE。笔者认为,Java EE最核心要解决的问题就是“分布式应用”。而在接下来的竞争中,Java EE也不负所托,逐渐取代了CORBA、DCOM的地位。


0.4 Java EE组件、容器、服务器


0.4.1 组件(Component)


组件可以定义为一种自治的、提供外部公共接口的、动态可用的事物处理过程,组件可以用来构建其他组件或者应用程序。简言之,组件就是能完成一定功能的封装体,小到一个类,大到一个系统。


组件是满足某种规范的代码,只要满足这个规范,你的代码就可以部署到特定的容器(下边有阐述),容器就可以运行它了,我们可以把组件看成容器的增值服务。


举个例子,我们平常使用的JVM也可以认为是一种容器,你只要把你写的程序交给jvm运行就可以了,我们可以把程序看作一个组件,但是这个组件有个特征那就是它必定有个main方法。


0.4.2 容器(Container)


Java EE的组件是不能独立运行的,必须要为它提供相应的运行环境,为组件提供运行环境的就是容器。


这里特别讲解Servlet容器(Container),它是一个Java撰写而成的程序,负责管理JSP/Servlet运行过程中所需要的各种资源,并负责与 Web服务器进行沟通,管理JSP/Servlet中所有对象的产生与消灭。Servlet容器的实现必须符合JSP/Servlet的规范,这个规范是由Sun Microsystems Inc公司制定的。


例如,当使用者请求来到Web服务器时,Servlet容器会将请求、响应等信息包装为各种Java对象(如HttpRequest、HttpResponse、Cookies等),对象中包括了客户端的相关信息,像是请求参数,session、cookie等信息,当您使用 JSP/Servlet的对象,例如HttpResponse发送信息时,Servlet容器将之转换为HTTP信息,然后由服务器将信息发回客户端。以JSP来说,容器负责将JSP转换为Servlet程序代码,然后编译Servlet程序代码,将之加载执行环境并执行,容器也提供了许多资源,除了基本的 Servlet加载与执行之外,例如Web环境设定、使用者认证、session追踪等等,JSP/Servlet事实上与容器之间的依赖日渐深厚,要想真正发挥JSP/Servlet的功能,正确设计出良好架构与功能的Web应用程序,了解容器的特性是不可少的。


0.4.3 服务器(Server)


容器也是不能直接运行的,容器必须要运行在服务器之上,一个服务器可以同时运行多个不同的容器。Java EE容器是底层服务器的组成部分。Java EE产品供应商通常使用现有的事务处理框架结合Java SE技术来实现Java EE服务器端功能。Java EE客户端功能通常构建于Java SE技术。


在现有的Java web开发中,关于应用服务器,大家最熟知的开源有:Tomcat、Jboss、Resin,目前看来这三个开源应用服务器的使用相当广泛,主要原因以笔者来看有下面几点:


1.Tomcat是Apache鼎力支持的Java Web应用服务器,由于它优秀的稳定性以及丰富的文档资料,广泛的使用人群,从而在开源领域受到最广泛的青睐。


2.Jboss作为Java EE应用服务器,它不但是Servlet容器,而且是EJB容器,从而受到企业级开发人员的欢迎,从而弥补了Tomcat只是一个Servlet容器的缺憾。


3.Resin也仅仅是一个Servlet容器,然而由于它优秀的运行速度,使得它在轻量级Java Web领域备受喜爱,特别是在互联网Web服务领域,众多知名公司都采用其作为他们的Java Web应用服务器,譬如163、ku6等。


在商用应用服务器里主要有:Weblogic、Websphere,对于Weblogic,有些开发者也只用其当Servlet容器,然而就在同等条件下,在性能及易用性等方面,要比Tomcat优秀很多。


还有一款由大名鼎鼎的Sun公司推出的Glassfilsh的Java EE服务器,Glassfish是一个免费、开放源代码的应用服务,它实现了Java EE 5,Java EE 5 平台包括了以下最新技术:EJB 3.0、JSF 1.2、Servlet 2.5、JSP 2.1、JAX-WS 2.0、JAXB 2.0、Java Persistence 1.0、Common Annonations 1.0、StAX 1.0等。


0.4.4 组件、容器、服务器三者的功能


1.组件主要由应用开发人员完成,用来实现应用系统的功能。


2.容器有两个主要的功能:一是提供组件运行环境,二是控制组件生命周期。


3.服务器也有两个主要的功能:一是提供容器运行环境,二是实现JEE中的技术对应的规范。


0.4.5 组件体系结构


组件体系结构图如图0-2所示。

Java EE技术与应用pdf/doc/txt格式电子书下载

图0-2 组件体系结构图

0.5 Java EE主要技术


0.5.1 JSP,Servlet


JSP,Servlet同属“Web层”,并都属于“动态网页技术”。所谓“动态网页技术”和传统的“静态网页技术”不一样,传统的“静态网页技术”就是把做好的html文件直接上传到服务器并直接供客户浏览,而“动态网页技术”则是每次都根据用户请求,动态生成响应页面并返回。“动态网页技术”的好处不言自明,无论从灵活性,数据保密性等方面说都是“静态网页”所无法媲美的。但“动态网页技术”也是有缺点的,就是相对较慢,现在的解决方案一般是:把“动态网页”中相对固定的部分做缓存,即所谓“静态页面”。


1.Servlet


Servlet实际上就是按照Servlet规范编写的一个Java类,与传统的命令行启动的Java应用程序不同,Servlet位于Web服务器内部,并由Web服务器加载并调用。


2.JSP


JSP全称是:JavaServer Page。这项技术的推出目的其实很简单,为了弥补Servlet一个很重要的缺陷:“麻烦”。


先看看Servlet到底什么地方让人觉得麻烦,下面是一个Servlet处理Get请求例子:

Java EE技术与应用pdf/doc/txt格式电子书下载

从上面这个例子,相信大家已经发现问题了,Servlet主要是把动态内容混合到静态内容中以产生html,这导致Servlet代码中将会输出大量的html标识,同时,这也非常不利于程序员和UI美工的配合。为了解决这些问题,JSP诞生了。


JSP是一种建立在Servlet规范之上的动态网页技术,通常做法是:在html页面中嵌入JSP标记和脚本代码。JSP把静态内容和动态内容的分离,实现了内容和表示的分离。

Java EE技术与应用pdf/doc/txt格式电子书下载

图0-3 Servlet与JSP的关系

3.Servlet与JSP的关系


图0-3描述了Servlet与JSP的关系,JSP文件先是转换为Servlet类,然后编译,并启动Servlet实例响应客户端请求。为什么说JSP是建立在Servlet上的动态网页技术,从这里可以看出来。


Web层主要就是JSP以及Sevlet这两项技术。


0.5.2 EJB(Enterprise JavaBean)


分布式应用是Java EE一个基础的需求,那在不同机器上的“分布式”的应用到底会以一个什么样的形态出现呢?答案就是:EJB。EJB属于业务逻辑层上的内容。


所谓Bean,其实是“组件”的意思。EJB可以让你像搭积木一样,通过本地/分布式调用组装不同应用到大型应用中,使你能集中精力来处理企业的业务逻辑,而像事务、网络、安全等等这些底层服务则统统留给EJB服务器开发商来解决。


利用基于组件的开发,可以把代码重用上升到一个新的高度。利用面向对象开发,重用的是类,而基于组件时,重用的则是更大的功能块。


1.EJB vs Java Bean


Java Bean相当于是数据存储类(不涉及具体业务逻辑),专门用来存数数据,提供getter,setter方法,并且在JVM上可直接运行。EJB则相当于一个功能模块,提供业务逻辑的服务,而运行时,则需要EJB容器的帮助。EJB是业务逻辑层最重要的技术。


0.5.3 Container(容器)


Container这个概念经常在Java EE中出现,所谓Container,在Java EE 5 Tutorial中有这样一段解释:“Containers are the interface between a component and the low-level platform-specific functionality that supports the component.”,而Container的作用,个人的认为是:为“应用程序”提供一个环境,使其可以不必须关注某些问题,如:系统环境变量,事务,生命周期……。通俗地说,Container就像“秘书”,帮“应用程序”管理着各种杂乱的问题,为其提供运行时支持。


其中,Java EE里有两个很重要的容器:Web容器和EJB容器。


1.Web容器


Web容器是用于托管“Web应用程序”的J2EE容器,主要负责管理“Servlet”和“JSP”运行,如图0-4所示。


2.EJB容器


EJB容器主要负责管理“EJB”的运行,如图0-5所示。

Java EE技术与应用pdf/doc/txt格式电子书下载

图0-4 Web容器示意图

Java EE技术与应用pdf/doc/txt格式电子书下载

图0-5 EJB容器示意图

而EJB的设计实际上是基于对象池的思想,你可以认为EJB=对象池+远程对象池。如图0-6所示。

Java EE技术与应用pdf/doc/txt格式电子书下载

图0-6 EJB设计思路示意图

3.Servlet与EJB


其实,根据Servlet和EJB的设计初衷,我们已经可以看出Java EE对两者角色的定义了。线程的本质决定了Servlet只适合一些比较简单的轻量级应用;一旦问题复杂了,最好的就是使用EJB。


0.5.4 RMI


RMI全称:Java Remote Method Invocation,就是利用Java对象序列化的机制,实现远程类对象的实例化以及调用的方法。


RMI在Java EE中主要是负责解决通信问题,特别是不同的EJB容器之间的通信。大家知道,在分布式应用中,各个功能模块(EJB)之间通信需要有统一的RPC协议,否则没法通信,而RMI就是负责这方面的工作。


1.RMI与CORB


可以说,RMI就是CORBA的Java版实现。


2.远程调用


现在主流的远程调用方式,不管是com/com+,soap,webservice,rmi,.net remoting,都一样的,就是序列化,网络传输,反序列化。


序列化方式:同种runtime的,可以native的二进制序列化,序列化的效率高。文本的序列化(xml/json/自定义格式)的方式,可以跨平台和语言,一般基于中间类型。但此序列化方式的效率低,数据量也偏大。


网络传输:可以使socket/http或是自定义协议的。socket数据冗余最小,效率最高。RMI其实是socket上的自定义协议。http要走http的报文,文本的方式最合适,实现最简单,开发和部署方便。


远程调用方式示意图如图0-7所示。

Java EE技术与应用pdf/doc/txt格式电子书下载

图0-7 远程调用方式示意图

0.5.5 JMS


JMS:Java Message Service。JMS提供一种消息机制,主要作用是提供异步通信的支持,是Java EE的重要基础模块。值得注意的是,异步通信一般都采用消息机制,这种情况在Windows中最常见。


0.5.6 JTA


JTA:Java Transaction API,主要提供事务服务和分布式事务管理功能,保证分布式事务的一致性,是Java EE的重要基础模块。


0.5.7 JAAS


JAAS:Java Authentication Authorization Service(Java认证与授权服务),提供了对Java组件的安全保护,如哪些Servlet,JSP能被哪些用户访问,哪些EJB能被调用等。但需要注意的是,JAAS只提供了对Java EE组件的保护,对于企业应用业务的权限,它是做不到的。


0.5.8 Connector


Connector主要作用就是把其他已有的资源、服务、系统整合到Java EE系统中。不同的服务提供商和Java EE平台会定义不同的协议,而Connector就是指这些协议的实现。

第1篇 基础篇


第1章 CoreJava


本章主要内容:


● Java简介与使用 ● 标识、关键字、类型


● 表达式和程序控制 ● 数组


● 高级语言特性 ● 集合


● 异常 ● 线程


● 文件和IO流 ● 网络编程


本章全面讲述了Java的发展、开发环境、简单使用、标识、关

....

本站仅展示书籍部分内容

如有任何咨询

请加微信10090337咨询

本站仅展示书籍部分内容
如有任何咨询

请加微信10090337咨询

再显示