【菜鸟学Java】2:初识J2EE

2024-05-25 16:08
文章标签 java 初识 菜鸟 j2ee

本文主要是介绍【菜鸟学Java】2:初识J2EE,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        自从软考之后,就没再写过关于Java的博客了,虽然学习Java有段时间了,也正在做着Java开发的项目,但是对于Java技术的总结还开始,真的是不应该啊,今天准备开始写Java技术方面的博客,发现无从下手,不知从哪开始,于是就先对J2EE来个入门总结吧。


        众所周知,Java2平台包括标准版(J2SE)、企业版(J2EE)和微缩版(J2ME)三个版本。今天我们要讨论的是Java 2 Platform Enterprise Edition(Java2平台企业版)。


        首先我们必须明确几个问题,便于我们对J2EE更好的认识和理解。


        1J2EE是一套不同于传统应用开发的技术架构,包含许多组件,主要作用是简化并且规范应用系统的开发和部署,进而提高可移植性、安全性与复用性。注意,它是一套技术架构!


        2J2EE的核心内容为一组技术规范和指南,其中所包含的各类组件、服务架构及技术层次,均有共同的标准及规范,让各种遵循J2EE架构的不同平台之间,能够很好实现兼容。注意,它的核心是一组规范,剧透一下,这些规范大致分为13个。


        3J2EE组件和我们通常意义的Java类的区别是:J2EE组件被转配在一个J2EE应用中,具有固定的格式并遵守J2EE规范,由J2EE服务器对其进行管理。比如J2EE规范这样定义J2EE组件:客户端应用程序和Applet是运行在客户端的组件;Java Service和Java Server Pages是运行在服务器端的Web组件;Enterprise Java Bean是运行在服务器端的业务组件。


        以上三点是我们在学习J2EE的时候,个人认为需要好好理解的。关于J2EE的体系结构,请看下图:


        我们可以看到,整个J2EE架构无非就是由若干J2EE组件组合起来的,这样的架构设计很好的体现了可维护性,可移植性以及可复用性等优势。


        J2EE技术的核心——13个技术规范

        1.JDBC(JavaDatabase Connectivity)

        JDBC是以统一方式访问数据库的API.它提供了独立于平台的数据库访问,也就是说,有了JDBC API,我们就不必为访问Oracle数据库专门写一个程序,为访问Sybase数据库又专门写一个程序等等,只需要用JDBC API写一个程序就够了,它可以向相应数据库发送SQL调用.JDBC是Java应用程序与各种不同数据库之间进行对话的方法的机制.简单地说,它做了三件事:与数据库建立连接--发送操作数据库的语句--处理结果.

 

        2.JNDI(JavaName and Directory Interface)

        JNDI是一组在Java应用中访问命名和目录服务的API.(命名服务将名称和对象联系起来,我们即可用名称访问对象.JNDI允许把名称同Java对象或资源关联起来,建立逻辑关联,而不必知道对象或资源的物理ID.)JNDI为开发人员提供了查找和访问各种命名和目录服务的通用,统一的接口,可访问的目录及服务,利用JNDI的命名与服务功能可满足企业级API对命名与服务的访问,诸如EJB,JMS,JDBC 2.0以及IIOP上的RMI通过JNDI来使用CORBA的命名服务.

JNDI和JDBC类似,都是构建在抽象层上.因为:它提供了标准的独立于命名系统的API,这些API构建在命名系统之上.这一层有助于将应用与实际数据源分离,因此不管是访问的LDAP,RMI还是DNS.也就是说,JNDI独立于目录服务的具体实现,只要有目录的服务提供接口或驱动,就可以使用目录.

 

        3.EJB(EnterpriseJavaBean)

        J2EE将业务逻辑从客户端软件中抽取出来,封装在一个组件中。这个组件运行在一个独立的服务器上,客户端软件通过网络调用组件提供的服务以实现业务逻辑,而客户端软件的功能只是负责发送调用请求和显示处理结果。

在J2EE中,这个运行在一个独立的服务器上,并封装了业务逻辑的组件就是EJB组件。其实就是把原来放到客户端实现的代码放到服务器端,并依靠RMI进行通信。

 

        4.RMI(Remote MethodInvoke)

        是一组用户开发分布式应用程序的API.

        这一协议调用远程对象上的方法使用了序列化的方式在客户端和服务器之间传递数据,使得原先的程序在同一操作系统的方法调用,变成了不同操作系统之间程序的方法调用,即RMI机制实现了程序组件在不同操作系统之间的通信.它是一种被EJB使用的更底层的协议.

        RMI/JNI: RMI可利用标准Java本机方法接口与现有的和原有的系统相连接

        RMI/JDBC: RMI利用标准JDBC包与现有的关系数据库连接

        这就实现了与非Java语言的现有服务器进行通信.

 

        5.JavaIDL/CORBA(Common Object Request BrokerArchitecture)

        Java接口定义语言/公用对象请求代理程序体系结构

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

        CORBA是面向对象标准的第一步,有了这个标准,软件的实现与工作环境对用户和开发者不再重要,可以把精力更多地放在本地系统的实现与优化上。

 

        6.JSP(Java Server Pages)

        JSP页面=HTML+Java,其根本是一个简化的Servlet设计.

        服务器在页面被客户端请求后,对这些Java代码进行处理,然后将执行结果连同原HTML代码生成的新HTML页面返回给客户端浏览器.

 

        7.Java Servlet

        Servlet是一种小型的Java程序,扩展了Web服务器的功能,作为一种服务器的应用,当被请求时开始执行.Servlet提供的功能大多和JSP类似,不过,JSP通常是大多数的HTML代码中嵌入少量的Java代码,而Servlet全部由Java写成并生成HTML.

 

        8.XML

        XML是一个用来定义其它标记语言的语言,可用作数据共享。XML的发展和Java是相互独立的。不过,它和Java具有的相同目标就是跨平台。通过将Java与XML结合,我们可以得到一个完全与平台无关的解决方案。

 

        9.JMS(JavaMessage Service)

        它是一种与厂商无关的API,用来访问消息收发系统消息.它类似于JDBC.JDBC是可以用来访问不同关系数据库的API,而JMS则提供同样与厂商无关的访问消息收发服务的方法,这样就可以通过消息收发服务实现从一个JMS客户机向另一个JMS客户机发送消息,所需要的是厂商支持JMS.换句话说,JMS是Java平台上有关面向消息中间件的技术规范.

 

        10.JTA(JavaTransaction API)

        定义了一种标准API,应用程序由此可以访问各种事务监控.它允许应用程序执行分布式事务处理--在两个或多个网络计算机资源上访问并且更新数据.JTA和JTS为J2EE 平台提供了分布式事务服务.

        TA事务比JDBC事务更强大,一个JTA事务可以有多个参与者,而一个JDBC事务则被限定在一个单一的数据库连接.

 

        11.JTS(JavaTransaction Service)

        JTS是CORBA OTS事务监控器的一个基本实现。JTS指定了一个事务管理器的实现(Transaction Manager),这个管理器在一个高级别上支持JTA规范,并且在一个低级别上实现了OMGOTS规范的Java映射。一个JTS事务管理器为应用服务器、资源管理器、standalone应用和通信资源管理器提供事务服务。

 

        12.JavaMail

        用于访问邮件服务器的API,提供了一套邮件服务器的抽象类.

 

        13.JAF(JavaBeansActivation Framework)

        JAF是一个专用的数据处理框架,它用于封装数据,并为应用程序提供访问和操作数据的接口.也就是说,JAF让Java程序知道怎么对一个数据源进行查看,编辑,打印等.

JavaMail利用JAF来处理MIME编码的邮件附件.

 

        小结一下:

        J2EE的学习才刚刚开始,对于理论的学习还要继续,同时在理论学习的基础上尝试实践,这样才会深刻的理解J2EE技术规范的那些东西是什么,有什么作用,他们是如何为我们的系统提供服务的,进而学习J2EE企业级开发的各种前沿技术,想想都有点小激动呢。

这篇关于【菜鸟学Java】2:初识J2EE的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1001982

相关文章

SpringBoot启动报错的11个高频问题排查与解决终极指南

《SpringBoot启动报错的11个高频问题排查与解决终极指南》这篇文章主要为大家详细介绍了SpringBoot启动报错的11个高频问题的排查与解决,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一... 目录1. 依赖冲突:NoSuchMethodError 的终极解法2. Bean注入失败:No qu

Java异常架构Exception(异常)详解

《Java异常架构Exception(异常)详解》:本文主要介绍Java异常架构Exception(异常),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. Exception 类的概述Exception的分类2. 受检异常(Checked Exception)

使用Java实现通用树形结构构建工具类

《使用Java实现通用树形结构构建工具类》这篇文章主要为大家详细介绍了如何使用Java实现通用树形结构构建工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录完整代码一、设计思想与核心功能二、核心实现原理1. 数据结构准备阶段2. 循环依赖检测算法3. 树形结构构建4. 搜索子

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

springboot报错Invalid bound statement (not found)的解决

《springboot报错Invalidboundstatement(notfound)的解决》本文主要介绍了springboot报错Invalidboundstatement(not... 目录一. 问题描述二.解决问题三. 添加配置项 四.其他的解决方案4.1 Mapper 接口与 XML 文件不匹配

MySQL新增字段后Java实体未更新的潜在问题与解决方案

《MySQL新增字段后Java实体未更新的潜在问题与解决方案》在Java+MySQL的开发中,我们通常使用ORM框架来映射数据库表与Java对象,但有时候,数据库表结构变更(如新增字段)后,开发人员可... 目录引言1. 问题背景:数据库与 Java 实体不同步1.1 常见场景1.2 示例代码2. 不同操作

SpringBoot使用OkHttp完成高效网络请求详解

《SpringBoot使用OkHttp完成高效网络请求详解》OkHttp是一个高效的HTTP客户端,支持同步和异步请求,且具备自动处理cookie、缓存和连接池等高级功能,下面我们来看看SpringB... 目录一、OkHttp 简介二、在 Spring Boot 中集成 OkHttp三、封装 OkHttp

JavaScript错误处理避坑指南

《JavaScript错误处理避坑指南》JavaScript错误处理是编程过程中不可避免的部分,它涉及到识别、捕获和响应代码运行时可能出现的问题,本文将详细给大家介绍一下JavaScript错误处理的... 目录一、错误类型:三大“杀手”与应对策略1. 语法错误(SyntaxError)2. 运行时错误(R

SpringBoot如何通过Map实现策略模式

《SpringBoot如何通过Map实现策略模式》策略模式是一种行为设计模式,它允许在运行时选择算法的行为,在Spring框架中,我们可以利用@Resource注解和Map集合来优雅地实现策略模式,这... 目录前言底层机制解析Spring的集合类型自动装配@Resource注解的行为实现原理使用直接使用M

JavaScript Array.from及其相关用法详解(示例演示)

《JavaScriptArray.from及其相关用法详解(示例演示)》Array.from方法是ES6引入的一个静态方法,用于从类数组对象或可迭代对象创建一个新的数组实例,本文将详细介绍Array... 目录一、Array.from 方法概述1. 方法介绍2. 示例演示二、结合实际场景的使用1. 初始化二