J2EE十三种技术规范介绍
J2EE的十三个技术规范
J2EE体系结构
一、JDBC:Java Data Base Connectivity,数据库连接
我们大家对微软公司的ODBC数据库访问接口比较熟悉,而在Java中创建数据库连接使用的是JDBC。学习的过程中,我们会发现:其实,JDBC和ODBC使用方法很相似,JDBC甚至比ODBC更加好用。这是因为JDBC是在ODBC的基础上发展起来的,集成了ODBC很多优点,同时它也是独立于平台的。
二、JNDI:Java Naming and Directory Interfaces,Java命名和目录接口
JNDI是一个Java应用程序设计接口,它为我们提供了查找和访问各种命名和目录服务的通用、统一方式。JNDI避免了程序与数据库之间的紧耦合,使应用更加易于配置,便于部署。
有了JNDI,我们就不要关心“具体的数据库后台是什么?JDBC驱动程序是什么?JDBC URL格式是什么?访问数据库的用户名和密码是什么?”这些问题了。我们编写的程序不用关心对JDBC驱动的引用。我们只需要在J2EE容器中定义一个数据源,然后通过这个数据源访问后台数据库。
三、EJB:Enterprise Java Beans,企业级Java Beans
EJB是实现分布式业务逻辑的Java组件。它以一个标准自动处理了如数据持久化、事务集成、安全对策等问题,为后台业务提供了一个标准方式。
EJB规范讨论了四中对象类型:无状态会话bean、有状态会话bean、实体bean、消息驱动bean。
- Stateless Session Beans是一类不包含状态信息的分布式对象,允许来自多个客户端的并发访问。无状态回话Bean没有资源集约性,访问的实例变量内容页不会被保存。举个例子:一个发送邮件的EJB就可以设计为一个无状态回话Bean。整个会话期,用户指向服务器提交一个动作:发送指定邮件到我的地址。
- Stateful Session Beans是包含状态的实例对象。比如在淘宝买完东西结账时,就需要一个有状态会话bean,因为服务器必须随时了解用户进行到了哪一步。尽管有状态会话bean可以被保存,但始终只能同时由一个用户来访问。
- Entity Beans用于实现O/R映射,负责将数据库中的表记录映射为内存中的Entity对象,事实上,创建一个Entity Bean对象,相当于新建一条记录,删除一个Entity Bean会同时从数据库中删除对应记录,修改时,容器会自动将Entity Bean的状态和数据库同步。
- MessageDriven Bean支持异步行为的分布式对象。消息驱动Bean的示例有监控应用错误队列并向email寻呼机发送非常要重错误的EJB;处理servlet发回的网站反馈信息的EJB;打印从订单队列到仓库打印机的订单EJB……
四、RMI:Remote Method Invocation,远程方法调用
RMI是一种机制,能够让在某个Java虚拟机上的对象调用另一个Java虚拟机中的对象上的方法,它使得客户机上运行的程序可以调用远程服务器上的对象。
五、Java IDL/CORBA:Java Interface Definiyion Language/Common Object Request Broker Architecture ,Java接口定义语言/公用对象请求代理程序体系结构
CORBA是一个分布式的面向对象应用架构规范,定义了分布式对象如何实现互操作。CORBA对象的接口使用IDL语言来定义。对象的接口定义了对象的类型,对象的方法和引用参数以及对象方法可能返回的异常结果。
六、JSP:Java Server Pages
JSP页面有HTML代码和嵌入其中的Java代码组成。它将网页逻辑与网页设计显示分离,支持可重用的基于组件的设计,是的java开发快速、容易。JSP是一种动态页面技术,它主要目的是将表示逻辑从Servlet中分离出来。
七、Servlet
Servlet是服务端的Java应用程序,可以生成动态的页面,在客户端Session中保存客户的数据。它定义了动态生成HTML、XML或其他格式文档的Web网页的技术标准。JSP以Java语言作为脚本语言,将java代码和特定的预定义动作嵌入到静态页面中。
下面是Serlvet八大内置对象:
八、XML:Extensible Markup Language,可扩展标记语言
在学习donet时,我们就学习过XML。它是一种与平台无关的通用数据交换格式。所以说,XML与跨平台运行的Java结合,绝对件完美的事情。
九、JMS:Java Message Service,Java消息服务
JMS是java平台上有关面向消息中间件的技术规范。
JMS对象模型包含六个要素:连接工厂、JMS连接、JMS会话、JMS目的、JMS生产者和消费者、JMS消息类型(点对点、发布/订阅)。
- 连接工厂:由管理员创建,绑定到JNDI树种。客户端使用JNDI查找连接工厂,然后利用连接工厂创建一个JMS连接。
- JMS连接:JMS会话表示JMS客户与JMS服务器之间的会话状态。JMS会话建立在JMS连接上,表示客户与服务器之间的一个会话线程。
- JMS目的:消息队列,是实际的消息源。
- 生产者和消费者:由Session对象创建,用于发送和接受消息。
- 点对点消息类型:消息发送给一个单独的使用者。
- 发布/订阅消息类型:支持一个事件驱动模型,生产者和消费者都残余消息的传递。
十、JTA:Java Transaction API,Java事务API
JTA允许应用程序执行分布式事务处理,在多个网络计算机资源上访问并且更新数据,极大地增强了数据访问能力。
十一、JTS:Java Transaction Service,Java事务服务
JTS是一个组件事务监视器。JTS和JTA为J2EE提供了分布式事务服务。
十二、JavaMail
为我们提供了电子邮件的开发接口。它可以方便的执行一些常用的邮件传输。JavaMail包中用于处理电子邮件的核心类是:Session,Message,Address,Authenticator,Transport,Store,Folder等。Session定义了一个基本的邮件会话,它需要从Properties中读取类似于邮件服务器,用户名和密码等信息。
十三、JAF:JavaBeans Activation Framework,JavaBeans活动框架
JAF是一个专用的数据处理框架,它用于封装数据,并为应用程序访问和操作数据的接口。JFA主要作用在于让Java应用层序知道如何对一个数据源进行查看、编辑和打印等操作。
应用程序通过JAF提供的接口可以完成:访问数据源中的数据、获取数据源数据类型、获知可对数据进行的操作、用户执行操作时,自动创建该操作的软件部件的实例对象。
J2EE十三种技术规范介绍的更多相关文章
- J2EE十三个技术规范
从事Java开发的童鞋都知道,java是一种非常棒的语言,能够实现跨平台运行.它屏蔽了具体的平台环境的要求,也就是说,无论是windows,还是Unix.Linux系统,只要支持Java虚拟机,就可以 ...
- (转)J2EE十三个技术规范
从事Java开发的童鞋都知道,java是一种非常棒的语言,能够实现跨平台运行.它屏蔽了具体的平台环境的要求,也就是说,无论是windows,还是Unix.Linux系统,只要支持Java虚拟机,就可以 ...
- J2EE 13种技术规范
J2EE平台由一整套服务(种技术规范进行简单的描述(限于篇幅,这里只能进行简单的描述): 1.JDBC(Java Database Connectivity): JDBC API为访问不同的数据 ...
- javaEE的十三个技术规范
java 是一种非常棒的语言,健壮,跨平台运行,屏蔽了具体的平台环境的要求,也就是说只要支持java 虚拟机,就可以运行java程序. 下面,我们一起学习一下J2EE的十三种技术规范. 一.JDBC: ...
- Java EE的十三个技术规范
Java 是一种非常棒的语言,健壮,跨平台运行,屏蔽了具体的平台环境的要求,也就是说只要支持java 虚拟机,就可以运行java程序. 下面,我们一起学习一下J2EE的十三种技术规范. 一.JDBC: ...
- J2EE的十三种技术——JNDI
背景: 上一篇博客中介绍了J2EE的十三种技术之一--JDBC,主要用于提供了统一访问多种数据库的方式.这篇文章我们继续介绍J2EE的技术--JNDI. JNDI: Java Naming and D ...
- J2EE的十三种技术——JDBC
背景: 之前准备软考的时候,我们就学习过J2SE的视频.在进入J2EE之前,一定要复习和回顾下Java的基础知识,这对以后的学习十分重要.首先,简单回忆下java的体系结构.Java有三个体系结构:J ...
- J2EE的十三种技术(规范)
J2EE的十三种技术(规范) Java数据库连接(JDBC) JDBC API以一个统一的方式访问各种数据库.与ODBC类似,JDBC将开发者和私有数据库之间的问题隔离开来.由于它建立在Java上, ...
- j2ee的十三种技术
J2EE的十三种技术(规范) 种不同的驱动,具体来说,包括有: 类型1:JDBC-ODBC桥 在JDBC刚产生时,JDBC-ODBC桥是非常有用的.通过它,开发者可以使用JDBC来访问一个ODBC数 ...
随机推荐
- Word中用VBA插入一个文件夹里的所有.jpg图片
每四张图片放在一页,第一行为四张图片的文件名 插入图片调整尺寸参考 Sub final() Dim FN As String, N%, W#, H#, PW#, PH# With ActiveDocu ...
- svg vs canvas
http://fabricjs.com/ https://github.com/ecomfe/zrender http://raphaeljs.com/
- 20155234 2610-2017-2第九周《Java学习笔记》学习总结
20155234第九周<Java学习笔记>学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC(Ja ...
- 20155330 实验一《Java开发环境的熟悉》(Windows+IDEA)实验报告
实验知识点 JVM.JRE.JDK的安装位置与区别: 命令行运行javac:java:javac -cp; java -cp: PATH,CLASSPATH,SOURCEPATH的设定方法与应用: 包 ...
- 【LG5017】[NOIP2018pj]摆渡车
[LG5017][NOIP2018pj]摆渡车 题面 洛谷 题解 震惊!普及组竟然考斜率优化??? 当然有其他的方法 首先我们转化一下模型 此题可以变为: 在一根时间轴上有一些点,每个时间点\(i\) ...
- com.genuitec.runtime.generic.jee60 is not defined 导入项目的异常
系统加载工程后,报错Target runtime com.genuitec.runtime.generic.jee60 is not defined,在发布工程的同事电脑上正常 新导入的工程,出问题很 ...
- javascript 强制转换规则 boolean 布尔值类型
摘自 <你不知道的Javascript(中卷)> p55 一句话简述, 假值表以外的值均可以认为是真值,部分浏览器可能自定义了假值表以外的假值,并不符合W3C规范,需要特殊对待. 首先也是 ...
- Smokeping配置
参考文档: 官网:http://oss.oetiker.ch/smokeping/ 参考:http://jaminzhang.github.io/monitoring/smokeping-deploy ...
- No module named MYSQLdb 报错
问题描述: 报错:ImportError: No module named MySQLdb 对于不同的系统和程序有如下的解决方法: easy_install mysql-python (mix os) ...
- Paper Reading - Long-term Recurrent Convolutional Networks for Visual Recognition and Description ( CVPR 2015 )
Link of the Paper: https://arxiv.org/abs/1411.4389 Main Points: A novel Recurrent Convolutional Arch ...