《JavaEE架构设计与开发教程》课件-第1章JavaEE概述_第1页
《JavaEE架构设计与开发教程》课件-第1章JavaEE概述_第2页
《JavaEE架构设计与开发教程》课件-第1章JavaEE概述_第3页
《JavaEE架构设计与开发教程》课件-第1章JavaEE概述_第4页
《JavaEE架构设计与开发教程》课件-第1章JavaEE概述_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JavaEE概述第一章了解JavaEE技术基本内容及新特性掌握JavaEE的应用分层框架学习内容了解JavaEE核心设计模式熟悉JavaEE开发常用框架掌握JavaEE开发环境的搭建JavaEE简介1分层架构及设计模式2敏捷轻型框架

3JavaEE开发环境4目录CONTENTSJavaEE简介什么是JavaEEJavaEE新特性1JavaEE简介什么是JavaEE?JavaEE(JavaTMPlatform,EnterpriseEdition),即Java平台企业版,是Sun公司为企业级应用推出的标准平台。Java分为三个体系:JavaSE(J2SE,Java2PlatformStandardEdition,标准版)JavaEE(J2EE,Java2Platform,EnterpriseEdition,企业版)JavaME(J2ME,Java2PlatformMicroEdition,小型版)。JavaEE简介什么是JavaEE?在JavaEE的开发中是以B/S作为主要的开发模式,为应用程序组件定义了四种容器:Web、EnterpriseJavaBean(EJB)、应用程序客户机和Applet。典型的JavaEE结构的应用程序包括四层:客户层、表示逻辑层(Web层)、业务逻辑层和企业信息系统层。JavaEE简介JavaEE新特性目前最新版本是JavaEE8,

构建于JavaEE7之上。8版本平台的主要目标是:强调HTML5和HTTP

/

2的支持,易于通过新的上下文和依赖注入功能进一步提高安全性和可靠性。JavaEE8的新特性如下。JavaEE简介JavaEE新特性JavaEE8新特性1.新技术JSON绑定的JavaAPI;JavaEE安全API2.针对JSON处理的新对象模型改进JSON指针;JSON修补程序;JSON合并修补程序3.REST风格Web服务的新功能反应客户端API;增强了对服务器发送的事件的支持;支持JSON-B对象,并改进了与CDI,Servlet和Bean验证技术的集成4.servlet的新功能服务器推送;HTTP预告片5.JavaServerFaces组件的新功能通过新的<f:websocket>标签直接支持WebSocket;通过新的<f:validateWholeBean>标签进行类级bean验证;CDI兼容的@ManagedProperty注释;增强了组件搜索表达式框架6.新的上下文和依赖注入功能用于在JavaSE8中引导CDI容器的API;用于在JavaSE8中引导CDI容器的API;配置器接口,用于动态定义和修改CDI对象;内置注释文字,用于创建注释实例的便利功能等等7.新的JavaBean验证功能支持JavaSE8中的新功能;增加了新的内置Bean验证约束分层架构及设计模式分层模式概述JavaEE的结构2JavaEE核心设计模式分层架构及设计模式分层模式概述层(layer)体系架构模式就是把应用系统分解成子任务组,其中每个子任务组处于一个特定的抽象层次上。分层架构及设计模式分层模式概述层模式组织成一个层次结构,每一层为上层服务(ServiceProvider),同时也作为下层的客户端。在一些层次系统中,除了包含一些输出函数外,内部的层只对相邻的层可见。分层架构及设计模式分层模式概述分解复杂问题允许将一个复杂问题分解成一个层堆栈的实现。可重用由于每一层最多只影响两层,同时只要给相邻层提供接口,允许每层用不同的方法实现,因此为软件重用提供了强大的支持。特性分层架构及设计模式分层模式概述源码的修改会影响整个系统,应该被限定在一个部件内部而不影响其他模块;接口应当稳定,甚至要被规范化;系统的架构应该灵活,可以更换;系统的开发需要被划分为多个部分,比如团队开发或者异地开发。考虑的因素分层架构及设计模式分层模式概述从系统高层的观点来看设计方案比较简单,它把系统进行分为几个层次并且把它们叠加起来,最下面的抽象层称为第一层,它是系统基础。依次类推,把n层放在第n-1层上。模式结构客户层N层N-1层1最高的抽象层次最低的抽象层次分层架构及设计模式分层模式概述优点与缺点优点层次的复用性如果每个层次有很好的抽象接口,那么它可以被其他环境复用。支持基于抽象程度递增的系统设计

使设计者可以把一个复杂系统按递增的步骤进行分解,使系统更容易模块化。支持功能增强因为每一层至多和相邻的上下层交互,因此功能的改变最多影响相邻的上下层。可替换性因为独立的层次设计很容易被功能相同的模块替换但是在实际的项目中缺点低效率因为有时高层过分依赖底层的服务,因此必须穿过许多中间层进行数据的传送,甚至多次改变行为的连锁反映。分层架构及设计模式JavaEE的结构J2EE平台能提供多层分布式应用模型,能重用组件,能为用户提供统一安全模型和灵活的事务处理控制。在J2EE规范中进行了以下的分层,不同的组件可以在逻辑上分为三层:后端层、中间层和网络层。这只是一个逻辑表示,根据应用程序的要求,组件可以被限制到不同的层。分层架构及设计模式JavaEE的结构表现层,

Presentationlayer(PL)业务逻辑层,

BisinessLogicLayer(BLL)数据访问层,

DataAccessLayer(DAL)经典的三层架构:分层架构及设计模式JavaEE的结构三层架构优点:满足大部分的业务场景,实现高内聚、低耦合业务不同层次之间逻辑解耦或者隔离,变为弱依赖,每层的逻辑内聚。从层次角度看,使系统有了较好的可扩展性。三层架构缺点:业务逻辑复杂度高的系统,业务逻辑层将变得庞大臃肿。分层架构及设计模式JavaEE核心设计模式在整个JavaEE中最核心的设计模式就是MVC(Mode-View-Controller)设计模式,且被广泛应用。JavaEE中的标准MVC设计模式如图所示:分层架构及设计模式JavaEE的结构J2EE平台为设计、开发、集成和部署企业应用提供基于组件的方法。这种方法不但能降低成本,还能对整个设计和实施过程进行快速跟踪。JavaEE8体系结构及其提供的主要服务敏捷轻型框架Hibernate3简介Struts2简介3Spring简介JSF简介Tapestry简介WebWork简介敏捷轻型框架Hibernate3简介作为SSH三大框架之一的Hibernate,作用是优化Dao层和数据库之间进行联系。它封装了JDBC的步骤,使我们对数据库的操作更加简单,更加快捷。Hibernate提供了它特有的数据库查询语言HQL,这种查询语言屏蔽了不同数据库之间的差别,可以使开发者编写统一的查询语句执行查询。敏捷轻型框架Hibernate3简介Hibernate是开源的一个ORM(对象关系映射)框架,它的作用就是在关系型数据库和对象之间做了一个映射。这样,我们在操作数据库的时候,不需要再去和复杂SQL打交道,只要像操作对象一样操作它就可以了。简单的说就是把我们程序中的实体类和数据库表建立起来对应关系。敏捷轻型框架Hibernate3简介Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。Hibernate的体系结构分层架构及设计模式Struts2简介Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts2可以理解为WebWork的更新产品。Struts2的整体结构分层架构及设计模式Struts2简介Struts2将实现用户业务逻辑(Action)同ServletAPI分离开,这种分离机制,是采用了拦截器或者拦截器栈(拦截器链)。拦截器是Struts2的核心内容之一。Struts2内建了多个拦截器和拦截器栈(由多个拦截器形成的拦截器链),将用户的Web请求进行拦截处理,从而提供了更加丰富的功能,例如数据类型转换、国际化、文件上传等。分层架构及设计模式Struts2简介一个请求在struts2框架中的处理大概分为以下几个步骤:客户端初始化一个指向Servlet容器(例如Tomcat)的请求。这个请求经过一系列的过滤器(Filter)。接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请求是否需要调用某个Action。如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy。分层架构及设计模式Struts2简介ActionProxy通过ConfigurationManager询问框架的配置文件,找到需要调用的Action类。ActionProxy创建一个ActionInvocation的实例。

ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。分层架构及设计模式Struts2简介一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是(但不总是,也可能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。在表示的过程中可以使用struts2框架中继承的标签。Struts2流程分层架构及设计模式Spring简介Spring是一个开源框架,是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。分层架构及设计模式Spring简介Spring的核心是控制反转(IoC)和面向切面(AOP)。简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式)轻量级开源框架。分层架构及设计模式JSF简介JavaServerFaces是Sun公司的一项技术,简称JSF。是一种用于构建Web应用程序的新标准Java框架。它提供了一种以组件为中心来开发JavaWeb用户界面的方法,从而简化了开发。分层架构及设计模式JSF简介JSF将Web应用程序的开发者划分了三个角色:页设计人员、应用程序设计人员以及UI组件开发人员。JSF的主要优势之一就是它既是JavaWeb应用程序的用户界面标准又是严格遵循MVC设计模式的框架,确保了应用程序具有更高的可维护性。用户界面代码与应用程序数据和逻辑的清晰分离使JSF应用程序更易于管理。分层架构及设计模式Tapestry简介

Tapestry是一个用Java编写的基于组件的web应用开发框架。它不仅仅是一个模板系统,更是一个建立在JavaServletAPI基础上的动态交互式网站的开发平台。它是一个使用简单、可重用的组件开发复杂应用的框架。框架自身完成了把许多在创建web应用时容易出错并且极为乏味的工作。分层架构及设计模式Tapestry简介Tapestry是完全组件化的框架。Tapestry将应用程序分为一系列页面,每个页面都有一系列组件组成。组件自身又可由一系列其它组件组成,而且对组件的没有递归深度的限制。Tapestry使用组件替代了标签库,没有标签库概念,从而避免了标签库和组件结合的问题。Tapestry只有组件或页面两个概念,因此,链接跳转目标要么是组件,要么是页面,没有多余的path概念。组件名,也就是对象名称,组件名称和path名称合二为一。分层架构及设计模式WebWork简介

WebWork是建立在称为XWork的Command模式框架之上的强大的基于Web的MVC框架。XWork简洁、灵活功能强大,它是一个标准的Command模式框架实现,并且完全从Web层脱离出来。Xwork提供了很多核心功能:前端拦截机(interceptor),运行时表单属性验证,类型转换,强大的表达式语言(OGNL–theObjectGraphNotationLanguage),IoC(InversionofControl依赖倒转控制)容器等。分层架构及设计模式WebWork简介WebWork2使用ServletDispatcher将HTTP请求的变成Action(业务层Action类)、Session(会话)、Application(应用程序)范围的映射及Request请求参数映射。WebWork2支持多视图表示,视图部分可以使用JSP、Velocity、FreeMarker、JasperReports、XML等。JavaEE开发环境JDKJShell4Tomcat8.0MyEclipseMySQLJavaEE开发环境JDKJDK(JavaDevelopmentKit)是Java语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了Java的运行环境(JVM+Java系统类库)和Java工具。JavaEE开发环境JDKjdk9.0与jdk8.0之间的比较如表1-2所示。版本新特性Jdk1.8.0Jdk1.9.01.版本控制方案JDK版本控制方案对开发人员来说并不直观,程序解析并不容易。JDK9试图规范JDK版本控制方案,因此人们很容易理解,易于程序解析,并遵循行业标准版本控制方案。2.支持标准覆盖机制可以使用支持标准的覆盖机制来使用更新版本的类和接口来实现支持标准或独立API。

仍然支持认可的标准和独立API覆盖机制。3.扩展机制允许扩展机制,可以通过将JAR放置在系统属性java.ext.dirs指定的目录中来扩展运行时映像。不支持扩展机制。如果需要类似的功能,可以将这些JAR放在类路径的前面。4.访问资源可以使用以下两个类中的方法来访问资源:java.lang.Classjava.lang.ClassLoader;可以从类路径上的任何JAR访问资源。包含三类资源查找方法:java.lang.Classjava.lang.ClassLoaderjava.lang.ModuleClass和ClassLoader类没新增任何新的方法;类和资源封装在模块中。JavaEE开发环境JDKJDK9中的主要变化是引入了Java平台模块系统。Java平台模块系统引入了一种新的Java编程组件,即模块。模块是一个自定义的代码和数据的自描述集合。模块代码被组织为一组包含类型的包,即Java类和接口;模块数据包括资源和其他类型的静态信息。模块可以导出或封装包,它们显式地依赖于其他模块。而模块化(Modularity)以Module为基础的组件,方便开发与部署。JavaEE开发环境JDK下载首先要安装开发工具包JDK。版本为Java1.8.0.可以在Oracle公司的官方网站下载(/),安装过程非常简单,根据提示一步步进行就可以了。JavaEE开发环境JDK配置环境变量安装好之后就可以对环境变量进行配置了。我们需要配置的环境变量有三个PATH,JAVA_HOME,CLASSPATH;右击计算机,选择环境变量。配置JAVA_HOME的时候需要输入JDK的安装位置,例如D:\ProgramFiles\Java\jdk1.8.0_131。配置PATH路径,%java_home%\bin;%java_home%\jre\bin;最后是CLASSPATH,输入.;%java_home%\lib;JavaEE开发环境JShellJava

Shell工具(JShell)是用于学习Java编程语言和原型开发Java代码的交互式工具。

JShell是一个读取

-

评估

-

打印循环(REPL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论