一.JAVE核心技术简介
JAVAEE核心技术有13种:
EJB、 CORBA、 RMI、JSP、
Java Servlet、JavaBean、JDBC
EJB-JAVAEE的基石
1.1什么是EJB?
EJB (Enterprise JavaBean)是一个Java服务器端组件开发的规范.他从技术上而言不是一种"产品" 而是一种标准.描述了构建应用组件要解决的:
可扩展 (Scalable)
分布式 (Distributed)
事务处理 (Transactional)
数据存储 (Persistent)
安全性 (Secure)
1.2 EJB组件
EJB组件分为三种:
会话EJB:会话EJB向客户提供一定的服务,如:特定的商业逻辑、数据库查询等
实体EJB:实体EJB则代表数据对象,通常代表的是数据表记录集的一行,一个实体EJB可以同时与多个客户进行交互。
消息驱动EJB:是EJB2.0中引入的新的企业Bean,它基于JMS消息,只能接收客户端发送的JMS消息然后处理。
1.3 EJB的容器
是EJB组件的运行环境,为部署的EJB组件提供各种服务(事务、安全、远程客户端的网络发布、资源管理等)。容器厂商也可以在容器或服务器中提供额外服务的接口
1.4 EJB的服务器
管理EJB容器的高端进程或应用程序,并提供对系统服务的访问。EJB服务器也可以提供厂商自己的特性,如优化的数据库访问接口,对其他服务(如CORBA服务)的访问等。
CORBA技术
公用对象请求代理(调度)程序体系结构(Common Object Request Broker Architecture),缩写为CORBA,是对象治理组织(Object Management Group)(OMG)为解决分布式处理环境(DCE)中,硬件和软件系统的互连而提出的一种解决方案.简而言之,CORBA答应应用程序和其他的应用程序通讯,而不论他们在什么地方或者由谁来设计。CORBA1.1由对象治理组织在1991年发布。他定义了接口定义语言(IDL)和应用编程接口(API),从而通过实现对象请求代理(ORB)来激活客户/服务器的交互。CORBA2.0于1994年的12月发布。他定义了如何跨越不同的ORB提供者而进行通讯.
RMI技术
RMI,远程方法调用(Remote Method Invocation)是Enterprise JavaBeans的支柱,是建立分布式Java应用程序的方便途径。
RMI协议调用远程对象的方法,使用序列化方式在客户端和服务器端的对象之间传递数据。
1. JSP技术
JSP是服务器端的脚本语言,是以Java和Servlet为基础开发而成的动态网页生成技术,它的底层实现是Java Servlet。
JSP(Java Server Pages)页面由HTML代码和嵌入其中的Java代码所组成。服务器在面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
特点:面向对象,跨平台,和Servlet一样稳定,可以使用Servlet提供的API,克服了Servlet的缺点。
应用:一般和JavaBeans结合使用,从而将界面表现和业务逻辑分离。
浏览器 |
JSP文件 |
数据库 |
BEAN |
JAVA SERVLET技术
Servlets(=Server +Applet):是一些运行于Web服务器端的Java小程序,用来扩展Web服务器的功能。
Servlet是一种扩展Web服务器功能的技术,而且由于它是用Java编写的,所以能够访问整个Java API库,包括用于访问企业数据库的JDBC API。
Servlets用特定的Java解决方案替代了其它的Web服务器方编程模式(如:CGI,ISAPI等),因而继承了Java的所有特性(跨平台、多线程、OO)。
Servlets也同样使用HTTP协议与客户端进行通讯,所以有时也称Sevlets为“HTTP Servlets”
用来编写Servlets的Servlet API对于服务器环境和协议没有任何特殊的要求,所以Servlets具有很强的可移植性,也不像利用CGI程序等其它方式那样具有性能局限。
JAVABEAN技术
JavaBean是基于Java的组件模型,有点类似于Microsoft的COM组件。在Java平台中,通过JavaBean可以无限扩充Java程序的功能,通过JavaBean的组合可以快速的生成新的应用程序。
JavaBean可以实现代码的重复利用,并有利于提高程序的易维护性。
JavaBean的传统应用领域是可视化组件,如AWT下的应用。自从Jsp诞生后,JavaBean更多的应用在了非可视化领域,在服务器端应用方面表现出来了越来越强的生命力。
JDBC技术
JDBC是一组API,定义了用来访问数据源的标准Java类库,使用这个类库可以以一种标准的方法、方便地访问数据库资源。
JDBC对数据库的访问具有平台无关性。
JDBC API为访问不同的数据库提供了一种统一的途径,象ODBC一样,JDBC对开发者屏蔽了一些细节问题。
JDBC的目标是使应用程序开发人员使用JDBC可以连接任何提供了JDBC驱动程序的数据库系统,这样就使得程序员无需对特定的数据库系统的特点有过多的了解,从而大大简化和加快了开发过程。
XML技术
XML(Extensible Markup Language)是一种可以用来定义其它标记语言的语言,被用来在不同的商务过程中共享数据。
XML的发展和Java是相互独立的,但是它和Java具有的相同目标即平台独立性。通过将Java和XML的组合,可以得到一个完美的具有平台独立性的解决方案。
JavaEE平台全面支持和实施XML,这种强大的组合可使XML具备跨平台的兼容性,甚至用于对XML代码进行语法检查和调试的工具也可与平台无关
其他技术
JNDI(Java Naming and Directory Interface)、
JMAPI(Java Management API)、 JTS/JTA(Java Transaction Service/API)、 JMS( Java Messaging Service)、 Java Security API。
技术之间的区别
10.1 RMI和CORBA的区别
首先,二者的工作的语言环境不同。RMI是纯粹的JAVA解决方案,而CORBA用的是IDL
其次,CORBA的安全性没有RMI的强。
再次,RMI具有可移植性。
10.2 JSP和ASP
相同:二者都是运行服务器端的脚本语言,都是动态网页的生成技术。二者都是使用HTML来决定网页的版面,都是在HTML 代码中混合某种程序代码,由语言引擎解释执行程序代码。
不同:JSP是基于JAVASERVLET及整个JAVA体系的WEB生成技术。ASP只能在MS平台上运行。二者的编程语言不同。两种语言引擎用完全不同的方式处理页面中嵌入的程序代码。在 ASP 下, VBScript 代码被 ASP 引擎解释执行;在 JSP 下,代码被编译成 Servlet 并由 Java 虚拟机执行
10.3 JAVASERVLET和JSP
两者工作方式相似:JSP代码先被JSP容器转换为Servlet代码再编译为类。
两者在JavaEE体系结构中的工作层次相同,都负责与客户端的连接
Servlets是一些运行于Web服务器端的Java小程序;而JSP是脚本,编写起来更简单容易。
Servlet主要用于从客户端接收请求信息,而JSP主要负责将服务器端信息传送到客户端