1概念

一、是什么?

J2EE官方说是一套全然不同于传统应用开发的技术框架,包括许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。简单的一句话就是“统一系统开发和部署的一种规范,让不同系统开发商可以拥有统一的规范接口,从而提高可移植性、安全与再用价值”
    明白了J2EE是什么?更艰巨的任务又来了:“它的体系结构是什么?既然它是规范,那么它的规范有哪些呢?这些规范有时怎么用的呢?其核心又是什么呢?”带着这些问题咱们进入学习:

二、体系结构是什么?

企业级j2ee架构实践 j2ee架构是什么意思_客户端


J2EE使用多层分布式的应用模型,通常通过三层或四层来实现:

1、客户层,运行在客户计算机上的组件。

2、Web层,运行在J2EE服务器上的组件。

3、业务层,同样是运行在J2EE服务器上的组件。

4、企业信息系统层(EIS),是指运行在EIS服务器上的软件系统。

以上划分也可说是MVC三层应用,因分布在三个不同位置:客户计算机、J2EE服务器及后台的数据库或过去遗留下来的系统。

三、核心是什么?

J2EE有13个规范:JDBC, JNDI, EJBS, RMI, JSP, JAVASERVLETS, XML, JMS, JAVA IDL, JTS, JTA, JAVAMAIL
    接下来就对J2EE的核心技术规范进行简单描述

1、JDBC(Java Database Connectivity )
JDBC API被用于执行名字和目录服务。它提供了一致的模型用于连接不同数据库的接口。类似有ODBC
2、RMI
主要用于远程方法调用
3、EJB
用RMI来完成远程调用,分布式的一种解决方法。
4、JNDE
用于规范目录,寻找EJB想要的地址,类似于DNS域名解析。
5、JMS
消息服务,类似于观察者模式。有一对一的队列式,还有一对多的topic式。EJB将其发布到JMS,JMS在JNDE中注册,然后为EJB服务。
6、JTA
解决事务和分布式的问题,与JTS一块完成。统一规范两个不同系统事务的接口。
7、JAVAMALL/JAF
JAVAMALL用于处理邮件的接口,JAF用于处理邮件附件的接口
8、JAVASERVLETS和JSP
解决web层服务端接收客户端消息及消息的返回的HTML。
9、JAVA IDL/CORBA
开发人员可以将Java和CORBA集成在一起。集成后可以创建Java对象或Java类,即:可以被用于将你的新应用程序和旧的系统集合在一起。
10、XML
是一种标记语言,它用来在不同的商务过程中共享数据。XML的发展和Java是相互独立的,但它们有共同的目标“平台独立性”。
11、JMS
是用于和面向对象消息的中间件相互通信的应用程序接口。
四、总结
以上就是对J2EE的简单理解,即J2EE就是一个规范,它的表现形式就是提供的不同的接口,并且这些接口已经由各公司实现,我们在开发系统的时候就直接调用它的接口实现就好。理解欠缺的地方在今后的学习中,会慢慢的深入。

2-技术名词

(1)JNDI:Java Naming & DirectoryInterface,JAVA命名目录服务.主要提供的功能是:提供一个目录系统,让其它各地的应用程序在其上面留下自己的索引,从而满足快速查找和定位分布式应用程序的功能.

(2)JMS:Java MessageService,JAVA消息服务.主要实现各个应用程序之间的通讯.包括点对点和广播.

(3)JTA:Java TransactionAPI,JAVA事务服务.提供各种分布式事务服务.应用程序只需调用其提供的接口即可.
JTA与JDBC

JTA事务比JDBC事务更强大。一个JTA事务可以有多个参与者,而一个JDBC事务则被限定在一个单一的数据库连接。下列任一个Java平台的组件都可以参与到一个JTA事务中:JDBC连接、JDOPersistenceManager 对象、JMS 队列、JMS主题、企业JavaBeans(EJB)、一个用J2EE Connector Architecture规范编译的资源分配器。

(4)JAF: JavaBeansActivation Framework
JAF是一个专用的数据处理框架,它用于封装数据,并为应用程序提供访问和操作数据的接口。JAF的主要作用在于让java应用程序知道如何对一个数据源进行查看、编辑和打印等操作。

(5)RMI:Remote Method Interface,远程方法调用 RMI是用Java在JDK1.1中实现的,它大大增强了Java开发分布式应用的能力。Java作为一种风靡一时的网络开发语言,其巨大的威力就体现在它强大的开发分布式网络应用的能力上,而RMI就是开发百分之百纯Java的网络分布式应用系统的核心解决方案之一。其实它可以被看作是RPC的Java版本。但是传统RPC并不能很好地应用于分布式对象系统。而JavaRMI 则支持存储于不同地址空间的程序级对象之间彼此进行通信,实现远程对象之间的无缝远程调用。

RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。

3-九大内置对象

request对象

客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。
request对象具有请求域,即完成客户端的请求之前,该对象一直有效。
response对象

response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。它是HttpServletResponse类的实例。
response对象具有页面作用域,即访问一个页面时,该页面内的response对象只能对这次访问有效,其它页面的response对象对当前页面无效。
session对象

session对象指的是客户端与服务器的一次会话,从客户端连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。它是HttpSession类的实例。
Session对象是一个JSP内置对象,它在第一个JSP页面被装载时自动创建,完成会话期管理。从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间切换,服务器应当通过某种办法知道这是一个客户,就需要Session对象。
session对象具有会话作用域。

application对象

application对象实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。服务器的启动和关闭决定了application对象的生命。它是ServletContext类的实例
out对象

out对象是JspWriter类的实例,是向客户端输出内容常用的对象
page对象

page对象就是指向当前JSP页面本身,有点象类中的this指针,它是java.lang.Object类的实例
pageContext对象

pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者,它的本类名也叫pageContext
exception对象

exception对象是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。他实际上是java.lang.Throwable的对象
config对象

config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象)