JavaEE基础知识(一)

JavaEE是一个开发企业级应用的规范和标准,在现在的企业级开发中最为常用,最受人开发者的青睐。

JavaEE分层模型

JavaEE核心技术

JavaEE核心技术中最常用的技术:

EJB、 JSP、Java Servlet、JavaBean、JDBC、……

EJB

EJB ---- JavaEE的基石

EJB (Enterprise JavaBeans) :

一个Java服务器端组件开发的规范,定义了一个用来开发面向对象分布式应用组件的标准方法,软件厂商根据它来实现EJB服务器。

Java程序员可以将一些EJB组件组合起来,从而方便、快捷地建构起分布式应用程序。EJB规范在简化分布式应用程序开发复杂性方面也做了大量的工作,EJB程序员不必太担心事务处理、多线程、资源管理等方面的问题,可以专注于支持应用所需的商业逻辑,而不用担心周围框架的实现问题。使用EJB可以使整个程序分块明确,并且EJB可以使用其它EJB或JDBC等服务,从而增强了分布式应用程序的可扩展性和性能;另外,EJB的使用增强了整个系统程序的可靠性、可管理性和可移植性。

EJB组件

EJB分为三种:会话EJB、实体EJB和消息驱动EJB

EJB容器

是EJB组件的运行环境,为部署的EJB组件提供各种服务(事务、安全、远程客户端的网络发布、资源管理等)。容器厂商也可以在容器或服务器中提供额外服务的接口。

EJB服务器

管理EJB容器的高端进程或应用程序,并提供对系统服务的访问。EJB服务器也可以提供厂商自己的特性,如优化的数据库访问接口,对其他服务(如CORBA服务)的访问等。

CORBA

CORBA(Common Object Request Broker Architecture)是一个开发分布式对象系统标准(规范),它独立于平台,也独立于语言。由OMG制定。

在这个体系结构中,一个对象可以被本机上的客户或远程客户通过方法激活来访问。客户(一个对象或应用)无须知道被调用对象(称为服务对象)的运行环境,也无须知道实现这个对象的编程语言,客户只要知道服务对象的逻辑地址和提供的接口。

这种互操作性的关键是IDL(Interface Definition Language、接口定义语言),IDL说明对象接口中的方法,这些方法可以被其它对象(或应用)激活。

JSP

JSP是服务器端的脚本语言,是以Java和Servlet为基础开发而成的动态网页生成技术,它的底层实现是Java Servlet。

JSP(Java Server Pages)页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端所请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。

特点:面向对象,跨平台,和Servlet一样稳定,可以使用Servlet提供的API,克服了Servlet的缺点。

应用:一般和JavaBeans结合使用,从而将界面表现和业务逻辑分离。

JSP和ASP的比较:

相似点:

  • 都是运行于服务器端的脚本语言,两者都是动态网页生成技术。
  • 这两项技术都使用HTML来决定网页的版面,都是在HTML 代码中混合某种程序代码,由语言引擎解释执行程序代码。HTML代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。

不同点:

  • JSP是由Sun推出的一项技术,是基于JavaServlet以及整个java体系的Web开发技术,利用这一技术可以建立先进、安全和跨平台的动态网站。ASP是MS公司推出的技术,只能在MS的平台上运行,无法实现跨平台,也无安全性保障。
  • ASP下的编程语言是 VBScript 之类的脚本语言,而JSP 使用的是Java。
  • ASP 与 JSP 还有一个更为本质的区别:两种语言引擎用完全不同的方式处理页面中嵌入的程序代码。在 ASP 下, VBScript 代码被 ASP 引擎解释执行;在 JSP 下,代码被编译成 Servlet 并由 Java 虚拟机执行,这种编译操作仅在对 JSP 页面的第一次请求时发生。

Java Servlet

Servlets(=Server +Applet):是一些运行于Web服务器端的Java小程序,用来扩展Web服务器的功能。

Servlets用特定的Java解决方案替代了其它的Web服务器方编程模式(如:CGI,ISAPI等),因而继承了Java的所有特性(跨平台、多线程、OO)。

Servlets可以嵌入在不同的Java Web服务器之中,因为用来编写Servlets的Servlet API对于服务器环境和协议没有任何特殊的要求,所以Servlets具有很强的可移植性,也不像利用CGI程序等其它方式那样具有性能局限。

Servlets也同样使用HTTP协议与客户端进行通讯,所以有时也称Sevlets为“HTTP Servlets”。

Servlet是一种扩展Web服务器功能的简单而相似的技巧,而且由于它是用Java编写的,所以能够访问整个Java API库,包括用于访问企业数据库的JDBC API。

Java Servlet和JSP的比较:

  • 两者都是基于Java的技术,所以都继承了Java的所有特性(跨平台、多线程、OO),都可以使用Java强大的API。

  • 两者工作方式相似:JSP代码先被JSP容器转换为Servlet代码再编译为类。

  • 两者在JavaEE体系结构中的工作层次相同,都负责与客户端的连接。

  • Servlets是一些运行于Web服务器端的Java小程序;而JSP是脚本,编写起来更简单容易。

  • Servlet主要用于从客户端接收请求信息,而JSP主要负责将服务器端信息传送到客户端。

  • 使用Servlet的真正意义在于:可以将界面设计和业务逻辑设计分离。

JavaBean

JavaBean技术:

JavaBean是基于Java的组件模型,有点类似于Microsoft的COM组件。

在Java平台中,通过JavaBean可以无限扩充Java程序的功能,通过JavaBean的组合可以快速的生成新的应用程序。

对于程序员来说,最好的一点就是JavaBean可以实现代码的重复利用,另外对于程序的易维护性等等也有很重大的意义。

JavaBean通过Java虚拟机(Java Virtual Machine)执行,运行JavaBean最小的需求是JDK1.1或者以上的版本。

JavaBean传统的应用在于可视化的领域,如AWT下的应用。自从Jsp诞生后,JavaBean更多的应用在了非可视化领域,在服务器端应用方面表现出来了越来越强的生命力。

JDBC

JDBC技术:

JDBC是一组API,定义了用来访问数据源的标准Java类库,使用这个类库可以以一种标准的方法、方便地访问数据库资源。

JDBC的目标是使应用程序开发人员使用JDBC可以连接任何提供了JDBC驱动程序的数据库系统,这样就使得程序员无需对特定的数据库系统的特点有过多的了解,从而大大简化和加快了开发过程。

JDBC API为访问不同的数据库提供了一种统一的途径,象ODBC一样,JDBC对开发者屏蔽了一些细节问题,

JDBC对数据库的访问也具有平台无关性。

XML

XML技术:

XML(Extensible Markup Language)是一种可以用来定义其它标记语言的语言,被用来在不同的商务过程中共享数据。

XML的发展和Java是相互独立的,但是它和Java具有的相同目标即平台独立性。通过将Java和XML的组合,可以得到一个完美的具有平台独立性的解决方案。

JavaEE平台全面支持和实施XML,这种强大的组合可使XML具备跨平台的兼容性,甚至用于对XML代码进行语法检查和调试的工具也可与平台无关。

因为XML可实施独立于平台的数据,而JavaEE平台则可实施独立于平台的解决方案,所以JavaEE技术和XML技术分别是企业开发的阴阳两极。XML可通过移植的方式表现数据,因此就对Java技术的可移植性构成了补充。

JavaEE其它核心技术:

   RMI(Remote Method Invoke)
   JNDI(Java Naming and  Directory Interface)、           
   JMAPI(Java  Management API)、
   JTS/JTA(Java Transaction Service/API)、   
   JMS( Java Messaging Service)、
   Java Security API。

JavaEE分层模型

javaEE应用的分层模型大致分为以下几层:
在这里插入图片描述
1)Domain Object(领域对象)层:此层由一系列的POJO(Plain Old Java Object,普通的、传统的java对象)组成,这些对象是该系统的Domain Object,往往包含了各自所需实现的业务逻辑方法。

(2)DAO(Data Access Object,数据访问对象)层:此层由一系列的DAO组件组成,这些DAO实现了对数据库的创建、查询、更新和删除(CRUD)等原子操作。

(3)业务逻辑层:此层由一系列的业务逻辑对象组成,这些业务逻辑对象实现了系统所需要的业务逻辑方法。这些业务逻辑方法可能仅仅用于暴露Domain Object对象所实现的业务逻辑方法,也可能是依赖DAO组件实现的业务逻辑方法。

(4)控制器层:此层由一系列控制器组成,这些控制器用于拦截用户请求,并调用业务逻辑组件的业务逻辑方法,处理用户请求,并根据处理结果转发到不同的表现层组件。

(5)表现层:此层由一系列的JSP页面,Velocity页面,PDF文档视图组件组成,负责收集用户请求,并显示处理结果。

各层的javaEE组件之间以松耦合的方式耦合在一起,各组件并不以硬编码方式耦合,这种方式是为了应用以后的扩展性。 从上向下,上面组件的实现依赖于下面组件的功能;从下向上,下面组件支持上面组件的实现。

JavaEE MVC模式

MVC—Model(模型)、View(试图)、Controller(控制器)
在这里插入图片描述

模型:代表应用程序状态和业务逻辑

视图:提供可交互的客户界面,向客户显示模型数据

控制器:根据客户的请求来操纵模型,并把结果经由视图展现给客户

Web容器处理请求过程

在这里插入图片描述

模型:封装数据,进行业务处理,返回处理结果

视图:展示界面

控制器:接收用户端请求,将模型和视图联系在一起以实现用户请求的功能

MVC模式的编程思路

在这里插入图片描述
MVC的目的:将模型(业务对象)和视图(页面展示)分离。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值