分享J2EE的13种核心技术

Java最初是在浏览器和客户端机器中粉墨登场的。当时,很多人质疑它是否适合做服务器端的开发。现在,随着对Java2平台企业版(J2EE)第三方支持的增多,Java被广泛接纳为开发企业级服务器端解决方案的首选平台之一。

在本文中我将解释支撑J2EE的13种核心技术:JDBC, JNDI, EJBs, RMI, JSP, Java servlets, XML, JMS, Java IDL, JTS, JTA, JavaMail 和 JAF。

J2EE平台由一整套服务(Services)、应用程序接口(APIs)和协议构成,它对开发基于Web的多层应用提供了功能支持。

一、JDBC(Java Database Connectivity)

JDBC API为访问不同的数据库提供了一种统一的途径,象ODBC一样,JDBC对开发者屏蔽了一些细节问题,另外,JDBC对数据库的访问也具有平台无关性。

二、JNDI(Java Name and Directory Interface)

  JNDI API被用于执行名字和目录服务。它提供了一致的模型来存取和操作企业级的资源如DNS和LDAP,本地文件系统,或应用服务器中的对象。

三、EJB(Enterprise JavaBean)

  J2EE技术之所以赢得媒体广泛重视的原因之一就是EJB。它们提供了一个框架来开发和实施分布式商务逻辑,由此很显著地简化了具有可伸缩性和高度复杂的企业级应用的开发。EJB规范定义了EJB组件在何时如何与它们的容器进行交互作用。容器负责提供公用的服务,例如目录服务、事务管理、安全性、资源缓冲池以及容错性。但这里值得注意的是,EJB并不是实现J2EE的唯一途径。正是由于J2EE的开放性,使得有的厂商能够以一种和EJB平行的方式来达到同样的目的。

四、RMI(Remote Method Invoke)

  调用远程对象上的方法。它使用了序列化方式在客户端和服务器端传递数据。RMI是一种被EJB使用的更底层的协议。

五、Java IDL/CORBA

  在Java IDL的支持下,开发人员可以将Java和CORBA集成在一起。他们可以创建Java对象并使之可在CORBA ORB中展开,或者他们还可以创建Java类并作为和其它ORB一起展开的CORBA对象的客户。后一种方法提供了另外一种途径,通过它Java可以被用于将你的新的应用和旧的系统相集成。

六、JSP(Java Server Pages)

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

七、Java Servlet

  Servlet是一种小型的Java程序,它扩展了Web服务器的功能。作为一种服务器端的应用,当被请求时开始执行,这和CGI Perl脚本很相似。Servlet提供的功能大多与JSP类似,不过实现的方式不同。JSP通常是大多数HTML代码中嵌入少量的Java代码,而servlets全部由Java写成并且生成HTML。

八、XML(Extensible Markup Language)

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

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

九、JMS(Java Message Service)

  JMS是用于和面向消息的中间件相互通信的应用程序接口(API)。它既支持点对点的域,又支持发布/订阅(publish/subscribe)类型的域,并且提供对下列类型的支持:经认可的消息传递,事务型消息的传递,一致性消息和具有持久性的订阅者支持。JMS还提供了另一种方式来对您的应用与旧的后台系统相集成。

十、JTA(Java Transaction Architecture)

  JTA定义了一种标准的API,应用系统由此可以访问各种事务监控。

十一、JTS(Java Transaction Service)

  JTS是CORBA OTS事务监控的基本的实现。JTS规定了事务管理器的实现方式。该事务管理器是在高层支持Java Transaction API (JTA)规范,并且在较底层实现OMG OTS specification的Java映像。JTS事务管理器为应用服务器、资源管理器、独立的应用以及通信资源管理器提供了事务服务。

十二、JavaMail

  JavaMail是用于存取邮件服务器的API,它提供了一套邮件服务器的抽象类。不仅支持SMTP服务器,也支持IMAP服务器。

十三、JAF(JavaBeans Activation Framework)

  JavaMail利用JAF来处理MIME编码的邮件附件。MIME的字节流可以被转换成Java对象,或者转换自Java对象。大多数应用都可以不需要直接使用JAF。

接着我们来看一看JDBC是如何在企业应用中的进行使用。

  JDBC在企业级应用中的应用

  以上实例其实是很基本的,可能有些微不足道。它假定了一个2层结构。在一个多层的企业级应用中,更大的可能是在客户端和一个EJB进行通信,该EJB将建立数据库连接。为了实现和改进可伸缩性和系统性能, WebLogic服务器提供了对连接缓冲池connection pool的支持。

  Connection pool减少了建立和释放数据库连接的消耗。在系统启动以后即可建立这样的缓冲池,此后如故再有对数据库的请求,WebLogic服务器可以很简单地从缓冲池中取出数据。数据缓冲池可以在WebLogic服务器的 weblogic.properties 文件中进行定义。(可参考 weblogic.properties 文件中的例子,WebLogic服务器的文档中还有更详细的参考信息)

  在企业级应用的另一个常见的数据库特性是事务处理。事务是一组申明statement,它们必须做为同一个statement来处理以保证数据完整性。缺省情况下JDBC使用 auto-commit 事务模式。这可以通过使用Connection类的 setAutoCommit() 方法来实现。

  现在我们已经对JDBC有了一些认识,下面该转向JNDI了。

  Java Naming and Directory Interface (JNDI)

  JNDI API被用于执行名字和目录服务。它提供了一致的模型来存取和操作企业

(0)

相关推荐

  • 经常听朋友说什么J2EE,终于知道点什么是J2EE了,汗一个

    经常听朋友说什么J2EE,终于知道点什么是J2EE了,汗一个,上网搜了下这个说的比较详细了,J2EE,Java2平台企业版(Java 2 Platform Enterprise Edition), 是Sun公司为企业级应用推出的标准平台.Java平台共分为三个主要版本Java EE.Java SE和Java ME. Sun公司在1998年发表JDK1.2版本的时候,使用了新名称Java 2 Platform,即"Java2平台",修改后的JDK称为Java 2 Platform Sof

  • J2EE 开发购物网站 经验篇 - 建表

    GO ON 继续进阶!!(本贴个人认为对初学者很有帮助,请大家认真看.因时间仓促,如有错误请指正)SQL*PLUS基础在上一贴中,我们掌握了些基本的oracle操作,如创建.授权用户,创建数据库等.在OEM(Oracle Enterprise Manager)可视化的窗口环境中,虽然我们也可以很方便地做这些事,但是事实上,用SQL语言书写在开发上更有效率!!oracle提供的SQL*Plus就是个不错的工具,如果大家喜欢窗口的开发环境,用SQLPlus Worksheet也行!下面说点基本的西西

  • J2EE验证码图片如何生成和点击刷新验证码

    验证码图片生成步骤 创建BufferedImage对象. 获取BufferedImage的画笔,即调用getGraphics()方法获取Graphics对象. 调用Graphics对象的setColor()方法和fillRect()方法设置图片背景颜色. 调用Graphics对象的setColor()方法和drawLine()方法设置图片干扰线. 调用BufferedImaged对象的setRGB()方法设置图片的噪点. 调用Graphics对象的setColor()方法.setFont()方法

  • 实战 J2EE 开发购物网站 - 创建数据库

    二:创建数据库小试牛刀oracle 8i(顺便我们练练手)(为了方便,我就将oracle 8i简写8i了)8i和9i确实有些不一样,不过在界面上区别不大,还是以我的oracle 8i为例为大家讲解一下吧!既然是实战,首先我们为自己新建一个开发用户,并创建一个表!!在oracle里创建新用户和表的方法比较多,只要你有管理员的权限(废话!),首先用最简单的,在8i的程序组中启动DBA Studio程序项,在出现的数据库链接信息中输入管理用户名和口令即可,当然,在oracle中,你可以用用户名斜杠口令

  • 图解Eclipse j2ee开发环境的搭建过程

    Eclipse是一个开源的功能强大的ide开发环境,再加上他的扩展插件功能,使得他被广泛使用. J2ee有几种开发环境,eclipse+lomboz或者eclipse+myeclipse. Myeclipse是一个商用产品,较lomboz功能更加强,特别是在struts这样的mvc开发中. 为了能够测试,需要安装一个web server,我用的是tomcat   下面分别介绍安装和配置(win32平台).  1.jdk的安装,注意环境变量的设置,JAVA_HOME,CLASSPATH,PATH

  • J2ee 高并发情况下监听器实例详解

    J2ee 高并发情况下监听器实例详解 引言:在高并发下限制最大并发次数,在web.xml中用过滤器设置参数(最大并发数),并设置其他相关参数.详细见代码. 第一步:配置web.xml配置,不懂的地方解释一下:参数50通过参数名maxConcurrent用在filter的实现类中获取,filter-class就是写的实现类, url-pattern就是限制并发时间的url,结束! <filter> <filter-name>ConcurrentCountFilter</filt

  • JDK、J2EE、J2SE、J2ME四个易混淆概念区分

    JDK,J2EE,J2SE,J2ME的概念区别是什么呢? 1.这些是什么? JDK是Java development toolkit,相当于是Java的库函数,是编译,运行java程序的工具包. J2EE是Java 2 enterprise edition是Java的一种企业版用于企业级的应用服务开发 J2SE是Java 2 standard edition是Java的标准版,用于标准的应用开发 J2ME是Java 2 Micro Edition是Java的微型版,常用于手机上的开发 J2EE,

  • 分享J2EE的13种核心技术

    Java最初是在浏览器和客户端机器中粉墨登场的.当时,很多人质疑它是否适合做服务器端的开发.现在,随着对Java2平台企业版(J2EE)第三方支持的增多,Java被广泛接纳为开发企业级服务器端解决方案的首选平台之一. 在本文中我将解释支撑J2EE的13种核心技术:JDBC, JNDI, EJBs, RMI, JSP, Java servlets, XML, JMS, Java IDL, JTS, JTA, JavaMail 和 JAF. J2EE平台由一整套服务(Services).应用程序接口

  • 分享ajax的三种解析模式

    一.Ajax中的JSON格式 html代码: <html> <body> <input type="button" value="Ajax" id="btn"> <script> var btn = document.getElementById("btn"); btn.onclick = function(){ var xhr = getXhr(); xhr.open(&quo

  • 面试最常问的13种Vue修饰符

    目录 1.lazy 2.trim 3.number 4.stop 5.capture 6.self 7.once 8.prevent 9.native 10.left,right,middle 11.passive 12.camel 12.sync 13.keyCode 1.lazy lazy修饰符作用是,改变输入框的值时value不会改变,当光标离开输入框时,v-model绑定的值value才会改变 <input type="text" v-model.lazy="v

  • python三种数据结构及13种创建方法总结

    目录 字符串的3种创建方式 列表的5种创建方式 字典的5种创建方式 Python常用的数据结构,有如下几种.但是我们用的最多的,还是字符串.列表.字典这3种. 其实学习任何一门编程语言,最基础的就是学习它的数据结构. 字符串的3种创建方式 ① 单引号(' '),创建字符串 a = 'I am a student' print(a) 结果如下: ② 双引号(" "),创建字符串 b = "I am a teacher" print(b) 结果如下: ③ 续3个单引号或

  • 分享JavaScript的 3 种工厂模式的用法

    目录 一.简单工厂模式 二.工厂方法模式 抽象工厂模式 三.小结 前言; 工厂模式(Factory Pattern)是设计模式中最常用的设计模式之一. 这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式. 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象. 工厂模式分为: 简单工厂模式 工厂方法模式 抽象工厂模式 一.简单工厂模式 简单工厂模式,也可以叫静态工厂模式,用一个工厂对象创建同一类对象类的实例. 比如: // 0.0.

  • 分享JVM 的四种引用方式

    目录 前言 一.强引用 二.软引用 三.弱引用 四.虚引用 前言 Java中提供这四种引用类型主要有两个目的: 可以让程序员通过代码的方式决定某些对象的生命周期: 有利于JVM进行垃圾回收 java.lang.ref包下的引用类结构图: 一.强引用 特点:GC时,永远不会被回收 是指创建一个对象并把这个对象赋给一个引用变量. 比如: Object object = new Object(); String str = "hello" 强引用有引用变量指向时永远不会被垃圾回收,JVM宁愿

  • 一起聊聊Java中13种锁的实现方式

    目录 1.悲观锁 2.乐观锁 3.分布式锁 加锁 4.可重入锁 5.自旋锁 6.独享锁 7.共享锁 8.读锁/写锁 9.公平锁/非公平锁 10.可中断锁/不可中断锁 11.分段锁 12.锁升级(无锁|偏向锁|轻量级锁|重量级锁) 无锁 偏向锁 轻量级锁 重量级锁 13.锁优化技术(锁粗化.锁消除) 最近有很多小伙伴给我留言,分布式系统时代,线程并发,资源抢占,"锁" 慢慢变得很重要.那么常见的锁都有哪些? 今天Tom哥就和大家简单聊聊这个话题. 1.悲观锁 正如其名,它是指对数据修改时

  • Spring事务失效的各种场景(13种)

    目录 一.访问权限 二.方法用final修饰 三.方法内部调用 四.没有被spring管理 五.多线程调用 六.设计的表不支持事务 七.没有开启事务 八.错误的事务传播 九.自己捕获了异常 十.手动抛出别的异常 十一.自定义回滚异常 十二.嵌套事务回滚过头 十三.编程式事务 一.访问权限 Java的访问权限主要是:private.default.protected.public,它们的权限则是依次变大.如果我们在开发的时候定义错误的访问权限,就会导致事务出现问题 @Service public

  • 分享Typescript的13个基础语法

    目录 一.Ts是什么 二. 基本语法 1.声明原始数据类型 2.声明Object类型 2.1声明数组类型 2.2声明元组类型 3.声明枚举类型 4.函数参数与返回类型 5.任意类型 6.类型断言 7.接口基本使用 8.类基本使用 9.类的访问修饰符 10.类只读属性 11.类与接口 12.抽象类 13.泛型 一.Ts是什么 首先,强类型不允许随意的隐式类型转换,而弱类型是允许的.JavaScript就是经典的弱类型语言.而Typescript可以说是JavaScript的超集,在JS的基础上新增

  • 分享Java常用几种加密算法(四种)

    对称加密算法是应用较早的加密算法,技术成熟.在对称加密算法中,数据发信方将明文(原始数据)和加密密钥(mi yue)一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去.收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文.在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥. 简单的java加密算法有: BASE 严格地说,属于编码格式,而非加密算法 MD(Mes

随机推荐