基于J2EE架构的企业级组件开发技术课件_第1页
基于J2EE架构的企业级组件开发技术课件_第2页
基于J2EE架构的企业级组件开发技术课件_第3页
基于J2EE架构的企业级组件开发技术课件_第4页
基于J2EE架构的企业级组件开发技术课件_第5页
已阅读5页,还剩171页未读 继续免费阅读

下载本文档

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

文档简介

基于J2EE架构的企业级组件开发技术刘炜上海大学计算机学院liuw@基于J2EE架构的企业级组件开发技术刘炜课程简介在软件工程理论、高级程序设计语言的基础上,掌握基于JavaEE的企业级开发环境、架构和开发技术,掌握面向对象和面向组件的编程思想,熟悉各种面向对象的软件设计模式。自主开发或改写一个基于JAVAEE平台的开源组件系统。课程简介在软件工程理论、高级程序设计语言的基础上,掌握基于J课程目标(1)立足于企业级的JAVAEE架构技术,基于组件的软件开发思想。(2)讲授系统级的开发方法,从需求分析到设计及实现。(3)通过工程化训练,构筑一个完整的软件系统,实践javaee软件开发全过程。课程目标(1)立足于企业级的JAVAEE架构技术,基于组课程内容结构Java6.0编程语言JavaEE架构技术JSP、Servlet和JavaBean相关技术Struts2,Hibernate,Spring等JavaEE框架面向对象的设计模式开源项目分析与开发(讨论)课程内容结构Java6.0编程语言课程安排..第一讲:组件开发与JavaEE技术概述(3学时)概括地讲解什么是组件和组件开发,讲解JavaEE技术框架。使学生站在宏观角度看待JavaEE和JavaEE组件开发技术。第二讲:Java6.0编程基础(3学时)1.JavaEE编程基础2.Java6语言新特性:增强的for循环、注释、枚举、泛型、静态导入等3.JavaEEAPIs要求:掌握Java编程基础知识,面向对象的基本概念,Java类的编写与测试,掌握Java5的一些新特性。重点:Java语言、面向对象语言的特性,Java类的编写、编译和测试难点:Java6的新特性:增强的for循环、注释、枚举、泛型、静态导入等课程安排..第一讲:组件开发与JavaEE技术概述(3学时..课程安排..第三讲:JSP、Servlet和JavaBean相关技术(3学时)1.Jsp相关技术详解Web应用和Web.xml文件JSP基本原理JSP的10个基本指令JSP的9个内置对象JSP2特性2.Servlet相关技术详解Servlet的工作原理Servlet的开发Servlet的配置3.JavaBean的开发与使用4.Filter和Listener要求:掌握Jsp、Servlet和Javabean的相关技术。重点:Jsp的工作原理,编写Jsp程序难点:Jsp2特性,Servelet的工作原理..课程安排..第三讲:JSP、Servlet和JavaBe..课程安排..第四讲:Struts2应用及替代技术(3个学时)1.MVC简介2.Struts2体系结构3.Struts2基本应用及工作流程4.Struts2标签库应用5.Struts2拦截器6.Struts2国际化应用7.Struts2综合应用实例8.其他替代技术要求:了解MVC开发模式,理解MVC三层模式的工作原理;了解Struts2的体系结构及工作原理;掌握Struts开发流程(包括程序的编写和配置)。重点:Struts的工作原理和开发流程。难点:Struts的体系结构以及工作原理,标签库和拦截器的工作原理。..课程安排..第四讲:Struts2应用及替代技术(3..课程安排..第五讲:Hibernate3及替代技术(3个学时)1.ORM和流行的ORM框架介绍2.Hibernate概述3.对象/关系数据库映射(ORM)、基本的映射方式4.Hibernate体系结构5.Hibernate深入使用6.HQL语言的使用7.Hibernate的事务控制要求:掌握ORM的工作原理,掌握基本的映射方式,掌握使用Hibernate编写JAVAEE应用的数据库访问层,掌握Hibernate的配置、映射文件的编写、关联映射、继承映射等,熟悉HQL语言的使用。重点:Hibernate的配置和使用、HQL语言的使用难点:Hibernate的关联映射..课程安排..第五讲:Hibernate3及替代技术(..课程安排..第六讲:Spring及替代技术(3个学时)1.Spring的起源和背景2.Spring的下载和安装3.Spring的核心机制:依赖注入4.Spring容器配置5.Spring的资源访问6.Spring的AOP7.Spring的事务管理8.Spring和Struts整合9.Spring和Hibernate整合要求:掌握Spring的安装和配置,掌握Spring的核心机制,掌握Spring容器的配置,了解SpringAOP、Spring的事务管理机制;掌握Spring和Struts及Hibernate的整合方法。重点:Spring的核心机制,Spring的容器配置,Spring和Struts、Hibernate的整合。难点:Spring的核心机制,Spring的AOP。..课程安排..第六讲:Spring及替代技术(3个学..课程安排..第七讲:

Spring、Struts、Hibernate整合开发(3个学时)1.学生项目管理系统应用背景2.JAVAEE编程结构3.系统功能介绍4.系统的设计概要设计数据库设计5.实现DAO层6.实现Service层7.实现Web层要求:掌握JAVAEE编程环境的配置,掌握简单的JAVAEE应用系统开发流程,掌握JAVAEE相关技术的应用。重点:基于MVC模式的JAVAEE开发流程。难点:如何将功能需求用JAVAEE技术转化成应用程序。..课程安排..第七讲:Spring、Struts、Hib..课程安排..第八讲:JavaEE常用的设计模式(3个学时)1.面向对象设计模式简介2.JAVAEE与设计模式3.单例模式4.工厂模式5.观察者模式6.抽象类模式7.接口模式要求:掌握设计模式在JAVAEE应用开发中的使用方法,掌握几种常见设计模式的原理和编写方式。重点:常见面向对象设计模式的使用。难点:如何在系统设计中使用设计模式。..课程安排..第八讲:JavaEE常用的设计模式(3..课程安排..第九讲:项目研讨(5-6个学时)学生汇报所分析和开发的项目;教师和学生进行点评和提问;第十讲:android移动开发..课程安排..第九讲:项目研讨(5-6个学时)课程考核方式课程成绩=项目分析与研讨(50%)+课程论文或技术报告(50%)课程考核方式课程成绩=项目分析与研讨(50%)+课程论文或技参考项目元搜索引擎语义Web应用程序(本体编程)全文检索系统WebUIAndroid移动互联网应用机器学习(文本分类、聚类应用)网络爬虫SNS语义分析MVC框架参考项目元搜索引擎参考书 《轻量级JavaEE企业应用实战》,李刚《疯狂Java讲义》,李刚《开发自己的搜索引擎---Lucene+Heritrix》,邱哲,符滔滔,王学松编著《Web3.0与SemanticWeb编程》,(美)赫布勒…等参考书 《轻量级JavaEE企业应用实战》,李刚第一讲:组件开发与JAVAEE概述刘炜上海大学计算机学院liuw@第一讲:组件开发与JAVAEE概述刘炜目录组件与组件开发主流Web开发技术及比较什么是JavaEE?JavaEELightFramework开发技术JavaEE开发与部署环境配置总结目录组件与组件开发软件领域的发展程序设计方法的发展软件需求的变化软件环境的变化软件开发模式的变化软件领域的发展程序设计方法的发展程序设计方法的发展功能分解法——计算任务结构化程序设计——以数据为中心面向对象程序设计——以对象为中心组件程序设计——以组件为中心综合使用程序设计方法的发展功能分解法——计算任务综软件需求的变化计算实用管理(MIS)分布式系统软件需求的变化计算实用管理(MIS)分布式系统软件环境的变化单任务多任务文字界面图形界面单线程多线程平台相关跨平台单机(本地)网络(分布式)单一语言多种语言软件环境的变化单任务多任务文字界面图形界面单线程多线程平台相软件开发模式机器码高级语言和脚本代码OS+Compiler+EditorOS+Compilers+IDEs+Libraries+Wizards+Components+otherinforstructures+经验软件开发模式机器码高级语言OS+Compiler+E对象技术用一种新的思路来看待问题10多年的发展证明了OO符合软件的规律对象技术的发展需要开发工具和开发语言的支持三大特性:封装性、继承性、多态性四个要点:对象+类+继承+消息通信对象技术用一种新的思路来看待问题面向对象技术弱点在中小规模的软件中,对象和对象之间的协作关系就能够满足需要。但是当软件规模扩大,复杂度上升的时候,面向对象技术强调的协作却表现出另一个极端的特点-耦合度太高导致的复杂度。这时候就需要有一种新的方法来弥补面向对象技术的弱点。面向对象技术弱点在中小规模的软件中,对象和对象之间的协作关系大规模软件的特点大规模软件主要特点是复杂度。比较典型的例子是集成性的项目。软件系统需要将各种各样的硬件、遗留系统、外部接口整合起来。其间可能遇到不同的硬件接口,不同的操作系统,不同的语言,不同的平台,不同的数据库,不同的消息中间件,不同的网络介质。这些都使得系统变得非常的复杂。面向对象技术的特点是通过对象之间的职责分工和高度协作来完成任务。这样的好处是代码量较少,系统布局合理,重用程度高。但是当对象的个数大量增加的时候,对象之间的高度耦合的关系将会使得系统变得复杂,难以理解。大规模软件的特点大规模软件主要特点是复杂度。比较典型的例子是大规模软件的特点以前对于这个问题的方法是采用包作为容器来组织对象,对象之间的依赖性将转化为包之间的依赖性。这种方法听起来有道理,但是在实际中仍会出现难以解决的问题。包仅仅只是容器。这意味着对对象的组织可以是任意的,而包之间依赖关系的设计则还是取决于对象的依赖。此外,包的设计和对象一样,缺乏一个统一的风格。而统一的风格正是大规模软件设计所必须的,因为这样可以有效改进系统的可理解性,这一点非常重要。大规模软件的特点以前对于这个问题的方法是采用包作为容器来组织面向组件编程面向组件编程的缩写是COP。COP是对OOP的补充,帮助实现更加优秀的软件结构。组件的粒度可大可小,需要取决于具体的应用。在COP中有几个重要的概念:服务,服务(Service)是一组接口,供客户端程序使用。例如,验证和授权服务,任务调度服务。服务是系统中各个部件相互调用的接口;组件,组件(Component)实现了一组服务,此外,组件必须符合容器订立的规范,例如,初始化,配置、销毁。COP是对一种组织代码的思路,尤其是服务和组件这两个概念。在Spring框架中,就采用了COP的思路,将系统看作一个个的组件,通过定义组件之间的协作关系(通过服务)来完成系统的构建。这样做的好处是能够隔离变化,合理的划分系统。而框架的意义就在于定义一个组织组件的方式。面向组件编程面向组件编程的缩写是COP。COP是对OOP的补关于组件定义:软件开发和重用的单位构成:接口和实现运行环境:容器驱动机制:框架可视化组件-包括外观,事件和属性控件非可视化组件-包括业务方法及其实现服务,业务逻辑形态:DLL,JSP,Jar等关于组件定义:软件开发和重用的单位组件的粒度组件的粒度是和系统的架构息息相关的。组件的粒度确定了,系统的架构也就确定了。在小规模的软件中,可能组件的粒度很小,仅相当于普通的对象,但是对于大规模的系统来说,一个组件可能包括几十,甚至上百个对象。因此,对使用COP技术的系统来说,需要正确的定义组件的粒度。较好的定义粒度的方法是对核心流程进行分析。组件的粒度组件的粒度是和系统的架构息息相关的。组件的粒度确定针对接口编程接口和实现分离是COP的基础,没有接口和实现的分离,就没有COP。接口的高度抽象特性使得各个组件能够被独立的抽取出来,而不影响到系统的其它部分。针对接口编程接口和实现分离是COP的基础,没有接口和实现的分接口和实现分离的好处在模块/组件/对象之间解耦。轻松的抽换实现,而不用修改客户端。用户只需要了解接口,而不需要了解实现细节。增加了重用的可能性。接口和实现分离的好处在模块/组件/对象之间解耦。基于组件开发的好处实现了各类人员的分工合作促进了代码重用降低应用开发的难度大大提高了软件开发效率提升了软件的质量便于分配任务和控制进度基于组件开发的好处实现了各类人员的分工合作目录组件与组件开发主流Web开发技术及比较什么是JavaEE?JavaEELightFramework开发技术JavaEE开发与部署环境配置总结目录组件与组件开发主流Web开发技术.NETJavaEE(J2EE)LAMP(Linux+Apache+Mysql+PHP)RubyonRails前三者曾经三足鼎立,R&R异军突起主流Web开发技术.NET前三者曾经三足鼎立,R&R异军突起LAMPLAMP:LAMP是一个缩写,它指一组通常一起使用来运行动态网站或者服务器的开源软件,包括:Linux操作系统,Apache网络服务器,MySQL数据库,Perl、PHP或者Python编程语言。核心:PHP领域:大型商业网站,如开心网、校内网、Discuz等LAMPLAMP:LAMP是一个缩写,它指一组通常一起使用来RubyonRailsRails是一个用于开发数据库驱动的网络应用程序的完整框架。Rails基于MVC(模型-视图-控制器)设计模式。从视图中的Ajax应用,到控制器中的访问请求和反馈,到封装数据库的模型,Rails为你提供一个纯Ruby的开发环境。发布网站时,你只需要一个数据库和一个网络服务器即可。各类机构,从初创公司、非赢利性组织到企业集团都在使用Rails。Rails是一个基础框架,适用于开发各类网络应用程序。至于这个程序究竟是团队合作平台,社区,电子商务,内容管理或者统计系统,则由你来决定。国内先驱:“RubyonRails是一个重大突破,大大降低了编程的门槛。以前需要数周或数月才能实现的强力网络应用程序,现在只需要几天而已。”

-TimO'Reilly,O'Reilly媒体创始人

RubyonRailsRails是一个用于开发数据库驱JavaEE经过多年沉淀,JavaEE平台已经成为电信、金融、电子商务、保险、证券等各行业的大型系统的首选开发平台。目前Java行业的软件开发已经基本稳定,几年内没有出现具有广泛影响的新技术。我们说的JavaEE,大致分为两种方式:(1)以Spring为核心的轻量级JavaEE企业开发平台。(2)以EJB3+JPA为核心的经典JavaEE开发平台。JavaEE经过多年沉淀,JavaEE平台已经成为电信、JavaEE案例(业界)…JavaEE案例(业界)目录组件与组件开发主流Web开发技术及比较什么是JavaEE?JavaEELightFramework开发技术JavaEE开发与部署环境配置总结目录组件与组件开发JAVA&J2EEJava和JavaEE是两个不同概念,Java不只是指一种语言,已经代表与微软不同的另外一个巨大阵营,所以Java有时是指一种软件系统的流派,目前主要是.NET和Java两大主流体系。目前JAVA2有三个平台:适用于小型设备和智能卡的Java2平台Micro版(Java2PlatformMicroEdition,J2ME)适用于桌面系统的Java2平台标准版(Java2PlatformStandardEdition,J2SE)适用于创建服务器应用程序和服务的Java2平台企业版(Java2PlatformEnterPriseEdition,J2EE)。JAVA&J2EEJava和JavaEE是两个不同概念WhatisJavaEE

运用Java技术开发企业应用的标准包括了多层应用开发模型开发平台-APIs和服务测试软件包参考实现将所有Sun的企业技术集合在一个体系结构下的平台特定版本下的EJB,Servlet,JSPJavaWebServerJNDI,JDBC,JTA,JMS,JavaMail,CORBA…WhatisJavaEE

运用Java技术开发企业应用WhatisJavaEE今天我们说的JavaEE应用,超出了Sun所提出的经典JavaEE应用规范,而是一种更广泛的开发规范。经典JavaEE应用以EJB(企业级JavaBean)为核心,以应用服务器为运行环境,所以开发、运行成本高。我们的培训介绍的轻量级JavaEE应用具备了JavaEE规范的种种特征,例如面向对象建模的思维、优秀的应用分层及良好的扩展性、可维护性。轻量级JavaEE保留了经典JavaEE应用的架构,但开发更简单,成本更低。WhatisJavaEE今天我们说的JavaEE应用JavaEE技术架构任何平台Java虚拟机JavaEEFramework安全组件组件组件组件JCAebXMLJTAJMS…JavaEE技术架构任何平台Java虚拟机JavaEEJavaEE应用的分层模型(1)不管是经典的JavaEE架构还是轻量级JavaEE架构,大致上可以分为以下几层:DomainObject(领域对象)层:此层有系列的POJO(PlainOldJavaObject,普通传统的Java对象)DAO(DataAccessObject,数据访问对象)层:此层由系列的DAO组成,这些DAO实现了对数据库的创建、查询、更新和删除(CRUD)等原子操作。JavaEE应用的分层模型(1)不管是经典的JavaEEJavaEE应用的分层模型(2)业务逻辑层:此层由系列的业务逻辑对象组成,这些业务逻辑对象实现了系统所需要的业务逻辑方法。这些业务逻辑方法可能仅仅用于暴露DomainObject对象所实现的业务逻辑方法,也可能是依赖DAO组件实现的业务逻辑方法。控制器层:此层有系列控制器组成,这些控制器用于拦截用户请求,并调用业务逻辑组件的业务逻辑方法,处理用户请求,并根据处理结果转发到不同的表现层组件。表现层:此层有系列的jsp页面、Velocity页面、PDF文档视图组件组成,负责收集用户请求,并显示处理结果。JavaEE应用的分层模型(2)业务逻辑层:此层由系列的业JavaEE应用分层结构数据库DomainObject层DAO层业务逻辑层MVC控制器层表现层提供持久化服务封装提供数据访问服务提供业务逻辑实现显示各层代码通过松散耦合方式组合在一起,不以硬编码方式组合。JavaEE应用分层结构数据库DomainObject组件,框架和容器之间的关系UI组件逻辑组件数据组件事件调用调用客户端请求容器事件处理框架业务处理数据访问请求数据处理流程组件数据库组件,框架和容器之间的关系UI组件逻辑组件数据组件事件调用调框架的作用为组件运行提供基础服务为组件开发提供基础类实现了组件之间的隔离支持组件间的协作管理组件生命周期运行于容器之内框架的作用为组件运行提供基础服务JavaEE应用的组件(1)JavaEE大致包括如下几个组件:表现层组件:主要负责收集用户输入数据和向用户显示系统状态。最常用的表现层技术就是JSP,还可以有Velocity,FreeMarker和Taperstry等技术,也可以用应用程序充当表现层组件。控制器组件:对于JavaEE的MVC框架而言,框架提供一个前端核心控制器,负责拦截用户请求,并将请求转发给控制器组件,控制器组件调用业务逻辑方法,处理用户请求。控制器组件有Struts,SpringMVC等。JavaEE应用的组件(1)JavaEE大致包括如下几个JavaEE应用的组件(2)业务逻辑组件:系统的核心组件,实现系统的业务逻辑。通常,一个业务逻辑方法对应一次用户操作。一个业务逻辑方法应该是一个整体,因此我们要求对业务逻辑方法增加事务性,业务逻辑方法仅仅负责实现业务逻辑,不应该进行数据库访问,因此,在业务逻辑层不应该出现Hibernate,JDBC等API。DAO组件:数据访问对象组件。每个DAO组件都提供DomainObject对象基本的CRUD操作。采用不同的持久层访问技术,DAO组件的实现会完全不同。为了业务逻辑组件的实现与DAO组件的实现分离,我们为每个DAO组件提供接口,业务逻辑组件面向DAO接口编程,从而达到最好的解耦。JavaEE应用的组件(2)业务逻辑组件:系统的核心组件,JavaEE应用的组件(3)领域对象组件:领域对象抽象了系统的对象模型。通常而言,这些领域对象的状态都必须保存在数据库里。因此,每个领域对象通常对应一个或多个数据表,领域对象通常需要提供对数据记录的访问方式。JavaEE应用的组件(3)领域对象组件:领域对象抽象了系应用的构成数据库逻辑组件数据组件注册页面购物流程注册流程充值流程登陆流程登陆页面充值页面购物页面商品服务认证服务帐户服务支付服务订单服务帐户DAO商品DAO订单DAOUI组件流程组件领域对象组件帐户POJO商品POJO订单POJO应用的构成数据库逻辑组件数据组件注册页面购物流程注册流程充值JavaEE的优势用简单的Jsp就能完成,为什么还要用Spring,Hibernate这些技术?软件开发不仅仅考虑开发过程,还要考虑后期的维护、扩展;不仅仅考虑那些小型系统,还要考虑大型系统的协同开发。对于大型系统而言,采用JavaEE架构有很大优势。软件不是一次性系统,在软件的更新换代中,不是彻底替换软件,只能在其原来基础上延伸。如果支撑企业系统的软件不具备扩展性,将损失惨重。对于信息化系统,前期开发工作对于整个系统工作量而言只是一小部分,后期的维护、升级往往占更大比重,极端情况下,企业需求发生重大变化,这些都要求软件具有很好的伸缩性。JavaEE可以让软件系统中组件以松耦合的方式组织在一起,让应用之间的耦合停留在接口层次,而不是代码层次。JavaEE的优势用简单的Jsp就能完成,为什么还要用SpJavaEE的优势保留现存的IT资产高效的开发支持异构环境坚持面向对象的设计原则灵活性、可移植性和互操作性轻松的企业信息系统集成引进面向服务的体系结构JavaEE为搭建具有可伸缩性、灵活性、易维护性的商业化系统提供了良好的机制:

JavaEE的优势保留现存的IT资产JavaEE为搭建具HOW?J2EE如此庞大!怎样入手学习?HOW?J2EE如此庞大!怎样入手学习?最佳途径J2EEwithoutEJBSimplifytheBest:轻量框架Pragmatic的企业应用开发Kickstart最佳途径J2EEwithoutEJB目录组件与组件开发主流Web开发技术及比较什么是JavaEE?JavaEELightFramework开发技术JavaEE开发与部署环境配置总结目录组件与组件开发概念理清JAVA技术流(以Java作为开发语言的技术)Java2平台(以j2se为核心api)Java2EE架构规范JDBC,JNDI,JMS…EJB非EJBJ2EE容器JSP,Servelet...概念理清JAVA技术流(以Java作为开发语言的技术)Jav相关概念JavaEE=JavaEE容器+Web应用JavaEE容器包括EJB容器和Web容器Web容器是指Jsp/Servlet容器,你如果要开发一个Web应用,无论是编译或运行,都必须要有Jsp/Servlet库或API支持(除了JDK/J2SE以外)。相关概念JavaEE=JavaEE容器+Web应用JavaWeb服务器常见的Web服务器有三个:Tomcat:开源的javaweb服务器,和Java结合得最好,Sun官方推荐的Jsp服务器。性能和稳定性都非常优秀。Jetty:另一个优秀的Web服务器,最大优点是可以作为嵌入式服务器。加入在应用中加入Jetty的jar文件,应用可以在代码中对外提供Web服务。Resin:目前最快的Jsp、Servlet运行平台,支持EJB。JavaWeb服务器常见的Web服务器有三个:专业JavaEE服务器JavaEE服务器支持更多的JavaEE特性,例如分布式事务、EJB容器等。常见的JavaEE服务器有:JBoss:开源的JavaEE服务器,支持EJB3.0。Weblogic和Websphere:两个专业的商用JavaEE服务器,价格不菲,性能非常出色。对于轻量级JavaEE应用而言,JavaWeb容器完全能胜任。专业JavaEE服务器JavaEE服务器支持更多的JavJavaEE与设计模式模式1:JSP+JavaBeans以JavaBean封装部分业务处理逻辑的开发模型这种模式的最大优势是实现起来比较简单,适合快速开发小规模的项目。模式2:MVC(Model-View-Controller)合理使用了Servlet和JSP的各自特点,Servlet负责业务流程的控制,Bean负责业务数据的逻辑处理,JSP专注于页面表示。各个层次的责任明确而且独立,开发和维护非常容易。系统的可扩展性也比较好。JavaEE与设计模式模式1:JSP+JavaBeans典型的MVCFrameworkStrutsSpringMVCTapestryWebworkJSF典型的MVCFrameworkStruts我们选择的技术路线与开源产品技术路线:Struts2+Spring+Hibernate,SSHSpring作为核心MVC三层模式开源技术:

Tomcat,Hibernate,JBoss,MySQL,Struts,Spring,Hibernate,Acegi,JMS,QuartzJasperReport,iReport,JFreeChart,JBPM……我们选择的技术路线与开源产品技术路线:开源技术:SSH:优秀的轻量级JavaEE架构Struts2+Spring+Hibernate或SpringMVC+Spring+Hibernate,新的MVC软件开发模式Struts2(SpringMVC)进行流程控制,Spring进行业务流转,Hibernate进行数据库操作的封装,这种新的开发模式让我们的开发更加方便、快捷、思路清晰!SSH无需专业的JAVAEE服务器,只需简单的Web服务器就可以运行。大多数组件和Web服务器都是开源和免费的。SSH:优秀的轻量级JavaEE架构Struts2+Sp相关技术:JSP、Servlet3.0和JavaBean及替代技术Jsp是最早的JavaEE规范之一,也是最经典的JavaEE技术之一。目前,Jsp仍然充当JavaEE应用的表现层角色。Servlet和Jsp完全统一,二者在底层的运行原理完全一样,Jsp必须被Web服务器编译成Servlet,真正在Web服务器运行的是Servlet,可以把Jsp看做是“草稿”文件,用于生产Servlet,真正提供HTTP服务的是Servlet。Servlet开发成本高,难以维护。JavaEE的中间层组件将应用底层的状态信息封装为JavaBean,也称为DTO(数据传输对象)。Freemarker和Velocity可以替代Jsp作为表现层技术。相关技术:JSP、Servlet3.0和JavaBean及替相关技术:Struts2及替代技术Struts2是一个优雅的,可扩展的JAVAEEweb框架。相关技术:Struts2及替代技术Struts2是一个优雅的相关技术:Struts2及替代技术Struts是世界最早的MVC框架,是JavaEE应用中使用最广泛的MVC框架。Struts2拥有众多优秀设计,吸收了传统的Struts和WebWork的精华。Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开。其他替代技术:SpringMVC,JSF,Tapestry。相关技术:Struts2及替代技术Struts是世界最早的M69Spring简介Spring是一个开源框架,是为了解决企业应用开发的复杂性而创建的。依赖注入—set注入Loginlog=newLogin();Log.iuserDao=UsersDAO对象名.msg=“world”69Spring简介Spring是一个开源框架,是为了解决Spring简介SpringFramework是种非侵入式轻量级框架,允许自由选择和组装各部分功能,也提供了和其他很多软件集成的接口,如与Hibernate、Struts的集成。Spring主要功能有DependencyInjection、SpringContext、SpringAOP、SpringORM、SpringDAO、SpringMVC。Spring简介SpringFramework是种非侵入式轻Spring用法下载springFramework最新版本,将其下的*.jar拷贝到项目lib中,并引用。在Web.xml中配置spring的启动方式:Listener方式或Servlet方式。设置Spring配置文件。通常在系统运行前完Spring成初始化工作,因此在Web.xml中配置一个初始化Servlet。Spring用法下载springFramework最新版本,Spring优势利用延时注入思想组装代码,提高系统扩展性,灵活性,实现插件式编程。利用AOP思想,集中处理业务逻辑,减少重复代码,构建优雅的解决方案。利用HibernateTransactionManager类封装Hibernate事务管理,其是AOP思想的典型运用,使持久层操作代码简洁精悍。…Spring优势利用延时注入思想组装代码,提高系统扩展性,灵73Hibernate简介Hibernate能帮助我们利用面向对象的思想,开发基于关系型数据库的应用程序第一:将对象数据保存到数据库第二:将数据库数据读入对象中73Hibernate简介Hibernate能帮助我们利用面Hibernate对象到关系型数据映射(ORM)是架构中热门的话题,人们希望用ORM工具从单调的SQL中解脱出来,规范数据层的开发,提高开发效率。Hibernate也是实现这样的功能。Hibernate性能稳定、参考文档齐全,有专门的组织提供升级与技术支持。Hibernate对象到关系型数据映射(ORM)是架构中热门Hibernate-搭建环境从下载hibernate最新发行包。然后将hibernate相关jar包加入项目lib,并引用。影射文件。影射类。加载配置信息。Hibernate-搭建环境从www.hibernate.o76SSH结构分析Jsp页面struts2springhibernatedatabaseView层Controller层Model层客户端请求解释用户的输入,映射为model层可执行的操作返回值Jsp页面根据返回值选择恰当的视图以用于显示76SSH结构分析Jsp页面struts2springhibJavaEE逻辑结构图Struts/SpringMVC数据库IOCAOP事务管理HibernateTemplateOrJdbcTemplateServiceJSPJSTLWEBUI/AJAXEntityDAOSERVICEPOOLSpringFrameworkJavaEE逻辑结构图Struts/数据库IOCAOP事轻量型架构Spring=银弹?×轻量型架构Spring=银弹?×目录组件与组件开发主流Web开发技术及比较什么是JavaEE?JavaEELightFramework开发技术JavaEE开发与部署环境配置总结目录组件与组件开发JavaEE开发运行环境配置系统环境规范系统环境包括了Java环境、环境变量定义、相关软件的安装和插件的配置。该部分目的在于保证一个全新系统执行标准操作后,能够达到开发的所需要的环境,而且所有团队中所有成员的环境都一致,能够降低因为不同环境造成的问题所浪费的精力。1.系统目录建议所有Java开发所需要的软件都在Java目录下(e:\java),不需要安装,只需要拷贝即可。Java目录包括:JDK6Tomcat6Eclipse3.6Ant1.8Docs包括各种javadoc,如JDK,Hibernate,Commons等autoexec.batJavaEE开发运行环境配置系统环境规范JavaEE开发环境配置开发工具概述Eclipse,目前版本为3.6,使用方法略Dreamwaver8.0UltraEdit32

项目的版本控制Eclipse+NTCVSJavaEE开发环境配置开发工具概述安装Tomcat6通常机器上装了jdk6,建议安装Tomcat6.0.x系列。Jdk6和Tomcat6以及Ant安装的路径都放在e:\java目录下,安装路径如:e:\java\jdk1.6和e:\java\tomcat6.0一个操作系统下可以安装多个Tomcat,安装的方法可以通过运行安装程序,也可以直接复制Tomcat6目录文件。启动Tomcat的方式:运行Tomcat6.0\bin\startup.bat或tomcat6.exe通过TomcatMonitor启动tomcat服务运行系统服务中的Tomcat服务安装Tomcat6通常机器上装了jdk6,建议安装TomTomcat6文件结构Bin:存放启动和关闭Tomcat的命令Conf:存放Tomcat配置文件Lib:存放Tomcat服务器的核心类库(jar文件),如果需要扩展Tomcat功能,也可将第三方类库复制到该路径下。Logs:保存Tomcat每次运行后产生的日志Temp:存放Web应用运行过程中生成的临时文件Webapps:用于自动部署Web应用,将Web应用复制到该路径下,Tomcat会将该应用自动部署在容器中;Work:保存web应用运行过程中,编译生成的class文件,可删除,每次启动tomcat将再次建立。Tomcat6文件结构Bin:存放启动和关闭Tomcat的Tomcat6服务端口配置打开conf下的server.xml修改<Connectorport="8080"protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443"/>如果要让Tomcat运行多个服务,只需要复制Server.xml文件的<Service>元素,并修改相应的参数便可以实现一个Tomcat运行多个服务,要求不同的端口。Tomcat6服务端口配置打开conf下的server.xmTomcat6部署web应用四种方法:Tomcat自动部署利用控制台部署增加自定义的Web部署文件修改server.xml部署Tomcat6部署web应用四种方法:项目目录结构项目目录结构项目目录结构说明Src/java目录主要用来存放项目的类代码Src/test目录主要用来存放一些单元测试代码.jar文件项目所使用的一些第三方类库docs目录主要存放项目的相关说明文件(如需求说明,工作日志等)WebContent目录主要存放web应用的页面文件WebContent/web-inf和webapp/web-info/config配置文件project.xml文件基于ant的项目管理脚本项目目录结构说明Src/java目录课后实验任务1:安装jdk6.0和Tomcat6.0,并能运行Tomcat6.0,用不同的方法启动和关闭Tomcat服务;任务2:安装mysql,按test.txt中的数据库脚本建立数据库和表,注意建立数据库时的字符集为gb2312;任务3:部署aa应用,修改aa的部署文件,在Tomcat中为aa配置一个局部数据源,通过jndi的方式访问mysql数据库。运行aa应用中的tomcatTest。任务4:安装和熟悉使用Eclipse3.6创建一个Web应用,并使之运行。课后实验任务1:安装jdk6.0和Tomcat6.0,并能运基于J2EE架构的企业级组件开发技术刘炜上海大学计算机学院liuw@基于J2EE架构的企业级组件开发技术刘炜课程简介在软件工程理论、高级程序设计语言的基础上,掌握基于JavaEE的企业级开发环境、架构和开发技术,掌握面向对象和面向组件的编程思想,熟悉各种面向对象的软件设计模式。自主开发或改写一个基于JAVAEE平台的开源组件系统。课程简介在软件工程理论、高级程序设计语言的基础上,掌握基于J课程目标(1)立足于企业级的JAVAEE架构技术,基于组件的软件开发思想。(2)讲授系统级的开发方法,从需求分析到设计及实现。(3)通过工程化训练,构筑一个完整的软件系统,实践javaee软件开发全过程。课程目标(1)立足于企业级的JAVAEE架构技术,基于组课程内容结构Java6.0编程语言JavaEE架构技术JSP、Servlet和JavaBean相关技术Struts2,Hibernate,Spring等JavaEE框架面向对象的设计模式开源项目分析与开发(讨论)课程内容结构Java6.0编程语言课程安排..第一讲:组件开发与JavaEE技术概述(3学时)概括地讲解什么是组件和组件开发,讲解JavaEE技术框架。使学生站在宏观角度看待JavaEE和JavaEE组件开发技术。第二讲:Java6.0编程基础(3学时)1.JavaEE编程基础2.Java6语言新特性:增强的for循环、注释、枚举、泛型、静态导入等3.JavaEEAPIs要求:掌握Java编程基础知识,面向对象的基本概念,Java类的编写与测试,掌握Java5的一些新特性。重点:Java语言、面向对象语言的特性,Java类的编写、编译和测试难点:Java6的新特性:增强的for循环、注释、枚举、泛型、静态导入等课程安排..第一讲:组件开发与JavaEE技术概述(3学时..课程安排..第三讲:JSP、Servlet和JavaBean相关技术(3学时)1.Jsp相关技术详解Web应用和Web.xml文件JSP基本原理JSP的10个基本指令JSP的9个内置对象JSP2特性2.Servlet相关技术详解Servlet的工作原理Servlet的开发Servlet的配置3.JavaBean的开发与使用4.Filter和Listener要求:掌握Jsp、Servlet和Javabean的相关技术。重点:Jsp的工作原理,编写Jsp程序难点:Jsp2特性,Servelet的工作原理..课程安排..第三讲:JSP、Servlet和JavaBe..课程安排..第四讲:Struts2应用及替代技术(3个学时)1.MVC简介2.Struts2体系结构3.Struts2基本应用及工作流程4.Struts2标签库应用5.Struts2拦截器6.Struts2国际化应用7.Struts2综合应用实例8.其他替代技术要求:了解MVC开发模式,理解MVC三层模式的工作原理;了解Struts2的体系结构及工作原理;掌握Struts开发流程(包括程序的编写和配置)。重点:Struts的工作原理和开发流程。难点:Struts的体系结构以及工作原理,标签库和拦截器的工作原理。..课程安排..第四讲:Struts2应用及替代技术(3..课程安排..第五讲:Hibernate3及替代技术(3个学时)1.ORM和流行的ORM框架介绍2.Hibernate概述3.对象/关系数据库映射(ORM)、基本的映射方式4.Hibernate体系结构5.Hibernate深入使用6.HQL语言的使用7.Hibernate的事务控制要求:掌握ORM的工作原理,掌握基本的映射方式,掌握使用Hibernate编写JAVAEE应用的数据库访问层,掌握Hibernate的配置、映射文件的编写、关联映射、继承映射等,熟悉HQL语言的使用。重点:Hibernate的配置和使用、HQL语言的使用难点:Hibernate的关联映射..课程安排..第五讲:Hibernate3及替代技术(..课程安排..第六讲:Spring及替代技术(3个学时)1.Spring的起源和背景2.Spring的下载和安装3.Spring的核心机制:依赖注入4.Spring容器配置5.Spring的资源访问6.Spring的AOP7.Spring的事务管理8.Spring和Struts整合9.Spring和Hibernate整合要求:掌握Spring的安装和配置,掌握Spring的核心机制,掌握Spring容器的配置,了解SpringAOP、Spring的事务管理机制;掌握Spring和Struts及Hibernate的整合方法。重点:Spring的核心机制,Spring的容器配置,Spring和Struts、Hibernate的整合。难点:Spring的核心机制,Spring的AOP。..课程安排..第六讲:Spring及替代技术(3个学..课程安排..第七讲:

Spring、Struts、Hibernate整合开发(3个学时)1.学生项目管理系统应用背景2.JAVAEE编程结构3.系统功能介绍4.系统的设计概要设计数据库设计5.实现DAO层6.实现Service层7.实现Web层要求:掌握JAVAEE编程环境的配置,掌握简单的JAVAEE应用系统开发流程,掌握JAVAEE相关技术的应用。重点:基于MVC模式的JAVAEE开发流程。难点:如何将功能需求用JAVAEE技术转化成应用程序。..课程安排..第七讲:Spring、Struts、Hib..课程安排..第八讲:JavaEE常用的设计模式(3个学时)1.面向对象设计模式简介2.JAVAEE与设计模式3.单例模式4.工厂模式5.观察者模式6.抽象类模式7.接口模式要求:掌握设计模式在JAVAEE应用开发中的使用方法,掌握几种常见设计模式的原理和编写方式。重点:常见面向对象设计模式的使用。难点:如何在系统设计中使用设计模式。..课程安排..第八讲:JavaEE常用的设计模式(3..课程安排..第九讲:项目研讨(5-6个学时)学生汇报所分析和开发的项目;教师和学生进行点评和提问;第十讲:android移动开发..课程安排..第九讲:项目研讨(5-6个学时)课程考核方式课程成绩=项目分析与研讨(50%)+课程论文或技术报告(50%)课程考核方式课程成绩=项目分析与研讨(50%)+课程论文或技参考项目元搜索引擎语义Web应用程序(本体编程)全文检索系统WebUIAndroid移动互联网应用机器学习(文本分类、聚类应用)网络爬虫SNS语义分析MVC框架参考项目元搜索引擎参考书 《轻量级JavaEE企业应用实战》,李刚《疯狂Java讲义》,李刚《开发自己的搜索引擎---Lucene+Heritrix》,邱哲,符滔滔,王学松编著《Web3.0与SemanticWeb编程》,(美)赫布勒…等参考书 《轻量级JavaEE企业应用实战》,李刚第一讲:组件开发与JAVAEE概述刘炜上海大学计算机学院liuw@第一讲:组件开发与JAVAEE概述刘炜目录组件与组件开发主流Web开发技术及比较什么是JavaEE?JavaEELightFramework开发技术JavaEE开发与部署环境配置总结目录组件与组件开发软件领域的发展程序设计方法的发展软件需求的变化软件环境的变化软件开发模式的变化软件领域的发展程序设计方法的发展程序设计方法的发展功能分解法——计算任务结构化程序设计——以数据为中心面向对象程序设计——以对象为中心组件程序设计——以组件为中心综合使用程序设计方法的发展功能分解法——计算任务综软件需求的变化计算实用管理(MIS)分布式系统软件需求的变化计算实用管理(MIS)分布式系统软件环境的变化单任务多任务文字界面图形界面单线程多线程平台相关跨平台单机(本地)网络(分布式)单一语言多种语言软件环境的变化单任务多任务文字界面图形界面单线程多线程平台相软件开发模式机器码高级语言和脚本代码OS+Compiler+EditorOS+Compilers+IDEs+Libraries+Wizards+Components+otherinforstructures+经验软件开发模式机器码高级语言OS+Compiler+E对象技术用一种新的思路来看待问题10多年的发展证明了OO符合软件的规律对象技术的发展需要开发工具和开发语言的支持三大特性:封装性、继承性、多态性四个要点:对象+类+继承+消息通信对象技术用一种新的思路来看待问题面向对象技术弱点在中小规模的软件中,对象和对象之间的协作关系就能够满足需要。但是当软件规模扩大,复杂度上升的时候,面向对象技术强调的协作却表现出另一个极端的特点-耦合度太高导致的复杂度。这时候就需要有一种新的方法来弥补面向对象技术的弱点。面向对象技术弱点在中小规模的软件中,对象和对象之间的协作关系大规模软件的特点大规模软件主要特点是复杂度。比较典型的例子是集成性的项目。软件系统需要将各种各样的硬件、遗留系统、外部接口整合起来。其间可能遇到不同的硬件接口,不同的操作系统,不同的语言,不同的平台,不同的数据库,不同的消息中间件,不同的网络介质。这些都使得系统变得非常的复杂。面向对象技术的特点是通过对象之间的职责分工和高度协作来完成任务。这样的好处是代码量较少,系统布局合理,重用程度高。但是当对象的个数大量增加的时候,对象之间的高度耦合的关系将会使得系统变得复杂,难以理解。大规模软件的特点大规模软件主要特点是复杂度。比较典型的例子是大规模软件的特点以前对于这个问题的方法是采用包作为容器来组织对象,对象之间的依赖性将转化为包之间的依赖性。这种方法听起来有道理,但是在实际中仍会出现难以解决的问题。包仅仅只是容器。这意味着对对象的组织可以是任意的,而包之间依赖关系的设计则还是取决于对象的依赖。此外,包的设计和对象一样,缺乏一个统一的风格。而统一的风格正是大规模软件设计所必须的,因为这样可以有效改进系统的可理解性,这一点非常重要。大规模软件的特点以前对于这个问题的方法是采用包作为容器来组织面向组件编程面向组件编程的缩写是COP。COP是对OOP的补充,帮助实现更加优秀的软件结构。组件的粒度可大可小,需要取决于具体的应用。在COP中有几个重要的概念:服务,服务(Service)是一组接口,供客户端程序使用。例如,验证和授权服务,任务调度服务。服务是系统中各个部件相互调用的接口;组件,组件(Component)实现了一组服务,此外,组件必须符合容器订立的规范,例如,初始化,配置、销毁。COP是对一种组织代码的思路,尤其是服务和组件这两个概念。在Spring框架中,就采用了COP的思路,将系统看作一个个的组件,通过定义组件之间的协作关系(通过服务)来完成系统的构建。这样做的好处是能够隔离变化,合理的划分系统。而框架的意义就在于定义一个组织组件的方式。面向组件编程面向组件编程的缩写是COP。COP是对OOP的补关于组件定义:软件开发和重用的单位构成:接口和实现运行环境:容器驱动机制:框架可视化组件-包括外观,事件和属性控件非可视化组件-包括业务方法及其实现服务,业务逻辑形态:DLL,JSP,Jar等关于组件定义:软件开发和重用的单位组件的粒度组件的粒度是和系统的架构息息相关的。组件的粒度确定了,系统的架构也就确定了。在小规模的软件中,可能组件的粒度很小,仅相当于普通的对象,但是对于大规模的系统来说,一个组件可能包括几十,甚至上百个对象。因此,对使用COP技术的系统来说,需要正确的定义组件的粒度。较好的定义粒度的方法是对核心流程进行分析。组件的粒度组件的粒度是和系统的架构息息相关的。组件的粒度确定针对接口编程接口和实现分离是COP的基础,没有接口和实现的分离,就没有COP。接口的高度抽象特性使得各个组件能够被独立的抽取出来,而不影响到系统的其它部分。针对接口编程接口和实现分离是COP的基础,没有接口和实现的分接口和实现分离的好处在模块/组件/对象之间解耦。轻松的抽换实现,而不用修改客户端。用户只需要了解接口,而不需要了解实现细节。增加了重用的可能性。接口和实现分离的好处在模块/组件/对象之间解耦。基于组件开发的好处实现了各类人员的分工合作促进了代码重用降低应用开发的难度大大提高了软件开发效率提升了软件的质量便于分配任务和控制进度基于组件开发的好处实现了各类人员的分工合作目录组件与组件开发主流Web开发技术及比较什么是JavaEE?JavaEELightFramework开发技术JavaEE开发与部署环境配置总结目录组件与组件开发主流Web开发技术.NETJavaEE(J2EE)LAMP(Linux+Apache+Mysql+PHP)RubyonRails前三者曾经三足鼎立,R&R异军突起主流Web开发技术.NET前三者曾经三足鼎立,R&R异军突起LAMPLAMP:LAMP是一个缩写,它指一组通常一起使用来运行动态网站或者服务器的开源软件,包括:Linux操作系统,Apache网络服务器,MySQL数据库,Perl、PHP或者Python编程语言。核心:PHP领域:大型商业网站,如开心网、校内网、Discuz等LAMPLAMP:LAMP是一个缩写,它指一组通常一起使用来RubyonRailsRails是一个用于开发数据库驱动的网络应用程序的完整框架。Rails基于MVC(模型-视图-控制器)设计模式。从视图中的Ajax应用,到控制器中的访问请求和反馈,到封装数据库的模型,Rails为你提供一个纯Ruby的开发环境。发布网站时,你只需要一个数据库和一个网络服务器即可。各类机构,从初创公司、非赢利性组织到企业集团都在使用Rails。Rails是一个基础框架,适用于开发各类网络应用程序。至于这个程序究竟是团队合作平台,社区,电子商务,内容管理或者统计系统,则由你来决定。国内先驱:“RubyonRails是一个重大突破,大大降低了编程的门槛。以前需要数周或数月才能实现的强力网络应用程序,现在只需要几天而已。”

-TimO'Reilly,O'Reilly媒体创始人

RubyonRailsRails是一个用于开发数据库驱JavaEE经过多年沉淀,JavaEE平台已经成为电信、金融、电子商务、保险、证券等各行业的大型系统的首选开发平台。目前Java行业的软件开发已经基本稳定,几年内没有出现具有广泛影响的新技术。我们说的JavaEE,大致分为两种方式:(1)以Spring为核心的轻量级JavaEE企业开发平台。(2)以EJB3+JPA为核心的经典JavaEE开发平台。JavaEE经过多年沉淀,JavaEE平台已经成为电信、JavaEE案例(业界)…JavaEE案例(业界)目录组件与组件开发主流Web开发技术及比较什么是JavaEE?JavaEELightFramework开发技术JavaEE开发与部署环境配置总结目录组件与组件开发JAVA&J2EEJava和JavaEE是两个不同概念,Java不只是指一种语言,已经代表与微软不同的另外一个巨大阵营,所以Java有时是指一种软件系统的流派,目前主要是.NET和Java两大主流体系。目前JAVA2有三个平台:适用于小型设备和智能卡的Java2平台Micro版(Java2PlatformMicroEdition,J2ME)适用于桌面系统的Java2平台标准版(Java2PlatformStandardEdition,J2SE)适用于创建服务器应用程序和服务的Java2平台企业版(Java2PlatformEnterPriseEdition,J2EE)。JAVA&J2EEJava和JavaEE是两个不同概念WhatisJavaEE

运用Java技术开发企业应用的标准包括了多层应用开发模型开发平台-APIs和服务测试软件包参考实现将所有Sun的企业技术集合在一个体系结构下的平台特定版本下的EJB,Servlet,JSPJavaWebServerJNDI,JDBC,JTA,JMS,JavaMail,CORBA…WhatisJavaEE

运用Java技术开发企业应用WhatisJavaEE今天我们说的JavaEE应用,超出了Sun所提出的经典JavaEE应用规范,而是一种更广泛的开发规范。经典JavaEE应用以EJB(企业级JavaBean)为核心,以应用服务器为运行环境,所以开发、运行成本高。我们的培训介绍的轻量级JavaEE应用具备了JavaEE规范的种种特征,例如面向对象建模的思维、优秀的应用分层及良好的扩展性、可维护性。轻量级JavaEE保留了经典JavaEE应用的架构,但开发更简单,成本更低。WhatisJavaEE今天我们说的JavaEE应用JavaEE技术架构任何平台Java虚拟机JavaEEFramework安全组件组件组件组件JCAebXMLJTAJMS…JavaEE技术架构任何平台Java虚拟机JavaEEJavaEE应用的分层模型(1)不管是经典的JavaEE架构还是轻量级JavaEE架构,大致上可以分为以下几层:DomainObject(领域对象)层:此层有系列的POJO(PlainOldJavaObject,普通传统的Java对象)DAO(DataAccessObject,数据访问对象)层:此层由系列的DAO组成,这些DAO实现了对数据库的创建、查询、更新和删除(CRUD)等原子操作。JavaEE应用的分层模型(1)不管是经典的JavaEEJavaEE应用的分层模型(2)业务逻辑层:此层由系列的业务逻辑对象组成,这些业务逻辑对象实现了系统所需要的业务逻辑方法。这些业务逻辑方法可能仅仅用于暴露DomainObject对象所实现的业务逻辑方法,也可能是依赖DAO组件实现的业务逻辑方法。控制器层:此层有系列控制器组成,这些控制器用于拦截用户请求,并调用业务逻辑组件的业务逻辑方法,处理用户请求,并根据处理结果转发到不同的表现层组件。表现层:此层有系列的jsp页面、Velocity页面、PDF文档视图组件组成,负责收集用户请求,并显示处理结果。JavaEE应用的分层模型(2)业务逻辑层:此层由系列的业JavaEE应用分层结构数据库DomainObject层DAO层业务逻辑层MVC控制器层表现层提供持久化服务封装提供数据访问服务提供业务逻辑实现显示各层代码通过松散耦合方式组合在一起,不以硬编码方式组合。JavaEE应用分层结构数据库DomainObject组件,框架和容器之间的关系UI组件逻辑组件数据组件事件调用调用客户端请求容器事件处理框架业务处理数据访问请求数据处理流程组件数据库组件,框架和容器之间的关系UI组件逻辑组件数据组件事件调用调框架的作用为组件运行提供基础服务为组件开发提供基础类实现了组件之间的隔离支持组件间的协作管理组件生命周期运行于容器之内框架的作用为组件运行提供基础服务JavaEE应用的组件(1)JavaEE大致包括如下几个组件:表现层组件:主要负责收集用户输入数据和向用户显示系统状态。最常用的表现层技术就是JSP,还可以有Velocity,FreeMarker和Taperstry等技术,也可以用应用程序充当表现层组件。控制器组件:对于JavaEE的MVC框架而言,框架提供一个前端核心控制器,负责拦截用户请求,并将请求转发给控制器组件,控制器组件调用业务逻辑方法,处理用户请求。控制器组件有Struts,SpringMVC等。JavaEE应用的组件(1)JavaEE大致包括如下几个JavaEE应用的组件(2)业务逻辑组件:系统的核心组件,实现系统的业务逻辑。通常,一个业务逻辑方法对应一次用户操作。一个业务逻辑方法应该是一个整体,因此我们要求对业务逻辑方法增加事务性,业务逻辑方法仅仅负责实现业务逻辑,不应该进行数据库访问,因此,在业务逻辑层不应该出现Hibernate,JDBC等API。DAO组件:数据访问对象组件。每个DAO组件都提供DomainObject对象基本的CRUD操作。采用不同的持久层访问技术,DAO组件的实现会完全不同。为了业务逻辑组件的实现与DAO组件的实现分离,我们为每个DAO组件提供接口,业务逻辑组件面向DAO接口编程,从而达到最好的解耦。JavaEE应用的组件(2)业务逻辑组件:系统的核心组件,JavaEE应用的组件(3)领域对象组件:领域对象抽象了系统的对象模型。通常而言,这些领域对象的状态都必须保存在数据库里。因此,每个领域对象通常对应一个或多个数据表,领域对象通常需要提供对数据记录的访问方式。JavaEE应用的组件(3)领域对象组件:领域对象抽象了系应用的构成数据库逻辑组件数据组件注册页面购物流程注册流程充值流程登陆流程登陆页面充值页面购物页面商品服务认证服务帐户服务支付服务订单服务帐户DAO商品DAO订单DAOUI组件流程组件领域对象组件帐户POJO商品POJO订单POJO应用的构成数据库逻辑组件数据组件注册页面购物流程注册流程充值JavaEE的优势用简单的Jsp就能完成,为什么还要用Spring,Hibernate这些技术?软件开发不仅仅考虑开发过程,还要考虑后期的维护、扩展;不仅仅考虑那些小型系统,还要考虑大型系统的协同开发。对于大型系统而言,采用JavaEE架构有很大优势。软件不是一次性系统,在软件的更新换代中,不是彻底替换软件,只能在其原来基础上延伸。如果支撑企业系统的软件不具备扩展性,将损失惨重。对于信息化系统,前期开发工作对于整个系统工作量而言只是一小部分,后期的维护、升级往往占更大比重,极端情况下,企业需求发生重大变化,这些都要求软件具有很好的伸缩性。JavaEE可以让软件系统中组件以松耦合的方式组织在一起,让应用之间的耦合停留在接口层次,而不是代码层次。JavaEE的优势用简单的Jsp就能完成,为什么还要用SpJavaEE的优势保留现存的IT资产高效的开发支持异构环境坚持面向对象的设计原则灵活性、可移植性和互操作性轻松的企业信息系统集成引进面向服务的体系结构JavaEE为搭建具有可伸缩性、灵活性、易维护性的商业化系统提供了良好的机制:

JavaEE的优势保留现存的IT资产JavaEE为搭建具HOW?J2EE如此庞大!怎样入手学习?HOW?J2EE如此庞大!怎样入手学习?最佳途径J2EEwithoutEJBSimplifytheBest:轻量框架Pragmatic的企业应用开发Kickstart最佳途径J2EEwithoutEJB目录组件与组件开发主流Web开发技术及比较什么是JavaEE?JavaEELightFramework开发技术JavaEE开发与部署环境配置总结目录组件与组件开发概念理清JAVA技术流(以Java作为开发语言的技术)Java2平台(以j2se为核心api)Java2EE架构规范JDBC,JNDI,JMS…EJB非EJBJ2EE容器JSP,Servelet...概念理清JAVA技术流(以Java作为开发语言的技术)Jav相关概念JavaEE=JavaEE容器+Web应用JavaEE容器包括EJB容器和Web容器Web容器是指Jsp/Servlet容器,你如果要开发一个Web应用,无论是编译或运行,都必须要有Jsp/Servlet库或API支持(除了JDK/J2SE以外)。相关概念JavaEE=JavaEE容器+Web应用JavaWeb服务器常见的Web服务器有三个:Tomcat:开源的javaweb服务器,和Java结合得最好,Sun官方推荐的Jsp服务器。性能和稳定性都非常优秀。Jetty:另一个优秀的Web服务器,最大优点是可以作为嵌入式服务器。加入在应用中加入Jetty的jar文件,应用可以在代码中对外提供Web服务。Resin:目前最快的Jsp、Se

温馨提示

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

评论

0/150

提交评论