今天给各位分享j2ee的知识,其中也会对j2ee是什么意思进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、J2EE技术规范
- 2、j2ee服务器有哪些
- 3、JAVA和J2EE有区别吗?
- 4、J2EE是什么意思啊
- 5、j2ee是什么?
J2EE技术规范
J2EE技术规范大全
良好的技术规范将带来很大的便利,那么J2EE有哪些技术规范,下面我就为大家介绍11种J2EE(J2EE培训 )的技术规范。
1)JDBC(Java(Java教程 Java培训 ) Database Connectivity):
JDBC API为访问不同的数据库提供了一种统一的途径,象ODBC一样,JDBC对开发者屏蔽了一些细节问题,另外,JDCB对数据库的访问也具有平台无关性。
2)JNDI(Java Name and Directory Interface):
JNDI API被用于执行名字和目录服务。它提供了一致的模型来存取和操作企业级的资源如DNS和LDAP,本地文件系统,或应用服务器中的对象。
3)EJB(Enterprise JavaBean):
J2EE技术之所以赢得某体广泛重视的原因之一就是EJB。它们提供了一个框架来开发和实施分布式商务逻辑,由此很显著地简化了具有可 伸缩性和高度复杂的企业级应用的开发。EJB规范定义了EJB组件在何时如何与它们的容器进行交互作用。容器负责提供公用的服务,例如目录服务、事务管 理、安全性、资源缓冲池以及容错性。但这里值得注意的是,EJB并不是实现J2EE的唯一途径。正是由于J2EE的开放性,使得有的厂商能够以一种和EJB平行的方式来达到同样的目的。
4)RMI(Remote Method Invoke):
正如其名字所表示的那样,RMI协议调用远程对象上方法。它使用了序列化方式在客户端和服务器端传递数据。RMI是一种被EJB使用的更底层的协议。
5) Java IDL/CORBA:
在Java IDL的支持下,开发人员可以将Java和CORBA集成在一起。他们可以创建Java对象并使之可在CORBA ORB中展开, 或者他们还可以创建Java类并作为和其它ORB一起展开的CORBA对象的客户。后一种方法提供了另外一种途径,通过它Java可以被用于将你的新的应用和旧的系统相集成。
6) JSP(Java Server Pages):
JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端所请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
7)Java Servlet:
Servlet是一种小型的Java程序,它扩展了Web服务器的功能。作为一种服务器端的应用,当被请求时开始执行,这和CGI Perl脚本很相似。Servlet提供的功能大多与JSP类似,不过实现的方式不同。JSP通常是大多数HTML代码中嵌入少量的Java代码,而servlets全部由Java写成并且生成HTML。
8) XML(Extensible Markup Language):
XML是一种可以用来定义其它标记语言的语言。它被用来在不同的商务过程中共享数据。XML的发展和Java是相互独立的,但是,它和Java具有的相同目标正是平台的独立性。通过将Java和XML的组合,您可以得到一个完美的具有平台的独立性的'解决方案。
9)JMS(Java Message Service):
MS是用于和面向消息的中间件相互通信的应用程序接口(API)。它既支持点对点的域,有支持发布/订阅(publish/subscribe)类型的 域,并且提供对下列类型的支持:经认可的消息传递,事务型消息的传递,一致性消息和具有持久性的订阅者支持。JMS还提供了另一种方式来对您的应用与旧的 后台系统相集成。
10)JTA(Java Transaction Architecture):
JTA定义了一种标准的API,应用系统由此可以访问各种事务监控。
11)JTS(Java Transaction Service):
JTS是CORBA OTS事务监控的基本的实现。JTS规定了事务管理器的实现方式。该事务管理器是在高层支持Java Transaction API (JTA)规范,并且在较底层实现OMG OTS specification的Java映像。JTS事务管理器为应用服务器、资源管理器、独立的应用以及通信资源管理器提供了事务服务。
;
j2ee服务器有哪些
j2ee服务器有哪些
众所周知,J2EE应用服务器百花齐放,种类众多。那么J2EE应用服务器有哪些?又有哪些功能呢?一起来看看吧!
从功能实现上划分:
有实现完整J2EE规范(full profile)的Weblogic, WebSphere, GlassFish
有实现web应用规范(web profile)的 TomEE, JBoss/WildFly
有基本的Servlet及Jsp规范的Web容器(Web Container) Tomcat, Jetty, Resin
回顾过去的2015年,各应用服务器市场占有率各有千秋。
下图为各个应用服务器使用率饼图
我们看到,在众多J2EE应用服务器中,Tomcat使用率达到58.66%,稳坐第一。
相较2014年,Tomcat使用率大幅增长,增长将近19%。
整体而言,Tomcat做为Servlet和Jsp规范的参考实现(Reference implementation , 简称RI),一般都会在第一时间实现规范的新特性并通过Oracle的CTS 测试认证。目前最新的Tomcat 9.0,虽还是alpha版,但已经实现了Servlet 4.0草案,感兴趣的朋友,可以下载尝鲜哦!
Tomcat是一个实现了JAVA EE标准的最小的WEB服务器,是Apache 软件基金会的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且开源免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。学习JavaWeb开发一般都使用Tomcat服务器,该服务器支持全部JSP以及Servlet规范,启动界面如图:
Tomcat 是一款非常优秀的 Java Web 服务器,以致于很多开源 Java 应用服务器(如 JOnAS) 直接集成它作为 servlet 容器。
Tomcat的总体结构
Tomcat中主要涉及Server,Service,Engine,Connector,Host,Context组件,之前用过Tomcat的童鞋是不是觉得这些组件的名称有点似曾相识的赶脚,没赶脚?!您再想想。好吧,不用你想了,我来告诉你吧。其实在Tomcat二进制分发包解压后,在conf目录中有一个server.xml文件,你打开它瞄两眼看看,是不是发现server.xml文件中已经包含了上述的几个名称。
Tomcat 集群源码的类图
从图中我们可以看出 Tomcat 集群包括以下几个方面的内容:
Session: Session 分为 StandardSession 与ClusterSession 两种,后者用于 Session 复制。
Session Manager: 有用于集群 Session 管理的ClusterSession,也有用于对 Session 进行一般日常管理的,如 PersistentManager,BackupManager,SimpleTcpReplicationManager。
组通迅框架:SessionManager调用组通讯框架进行 Session 的.传输,Tomcat采用的组通
讯框架是 tribe,目前 tribe 已被独立为开放的 apache 工程。
Cluster: 方便集群管理而派生出的逻辑概念,可将实际物理机划分为一个 Cluster,也可 将一台物理机上不同端口的实例划分为一个 Cluster,它有一个简单的实现类 SimpleTcpCluster。
1.1 Session
服务器集群通常操纵两种session:
1. Stickysessions: 尽量让同一个客户请求由同一台服务器来处理,这样 sticky sessions 就是 存在于单机服务器中接受客户端请求的 session,它不需要进行 Session 复制,如果这个 单机失败的话,用户必须重新登录网站。
2. Replicatedsessions: 在一台服务器中的 session 状态被复制到集群的其他服务器上,无论 何时,只要 session 改变了,session 数据都要重新全部或部分(依据复制策略)被复制 到其他服务器上。
Tomcat 支持以下三种 session 持久性类型:
1. 内存复制:在 JVM 内存中复制 session状态,使用 Tomcat自带的 SimpleTcpCluster 和SimpleTcpClusterManager类。
2. 数据库持久性:在这种类型中,session 状态保存在一个关系数据库中,服务器使用org.apache.catalina.session.JDBCManager类从数据库中获取 Session 信息。
3. 基于文件的持久性:这里使用类org.apache.catalina.session.FileManager 把session 状态保存到一个文件系统。
Session Manager
Tomcat 通过 org.apache.catalina.Manager 来管理 Session,Manager 接口总是和 Context Container 相关联。它主要负责 session 的建立、更新和销毁。该接口中一些重要的方法有:
用户在 Servlet 中通过 javax.servlet.http.HttpServletRequest 接口的 getSession 方法获得 Session,而该接口的实现位于 org.apache.catalina.connector.Request 类中的 doGetSession 方 法中,在该方法中通过 org.apache.catalina.Manager 来获得 Session , doGetSession 方法的 部分代码如下:
组通讯框架--Tribe
组通讯框架 Tribe 在 Tomcat 中的位置可如下图
如图所示,Tribe 的核心主要是 Channel 类,由此看出,它采用 NIO 进行 Socket 通讯,运用
了组播,事件、心跳检测等技术,下面我们来着重看看代码中 Tomcat 是如何与 Tribe 衍接首先在 SimpleTcpReplication 类中的实现 Manager 接口的 start 方法中:
Cluster
Cluster 用于管理集群中的 Session 复制,它有一个简单的实现类 SimpleTcpCluster。
;
JAVA和J2EE有区别吗?
java 是软件开发语言,j2ee是在java语言基础上实现的一套供企业开发用的框架。
J2EE是什么意思啊
j2ee 也叫 javaee 是企业标准版主要用于网页后台一些逻辑判断数据传输。Java EE 是 J2EE的一个新的名称,之所以改名,目的还是让大家清楚J2EE只是Java企业应用。
在2004年底中国软件技术大会Ioc微容器(也就是Jdon框架的实现原理)演讲中指出:
我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
扩展资料:
核心优势:
J2EE容易让初学者误解是独立于一套Java的技术方案。
从更深层次来看,Java诞生十年,多年前的业务组件还可以使用,软件应用不再由于语言的更迭革命带来毁灭的打击了。
当然,Java EE 5重要改变还是:Java EE不再象以前那样只注重大型商业系统的开发,而是更关注小到中型系统的开发,简化这部分系统开发步骤。
落实这一简化行动的最大特征是在Java 5.0(Java 1.5)中加入Annotations,通过Annotations引入,降低Java EE开发时,既要写code,又要写XML配置文件之苦。
来回照顾,疲于奔命,Annotations既是得益于C++语言,也是从开源项目xDoclet实践中获得经验。
但是Annotations是一把双刃剑,初学者用得不好,将会使得原本在XML中的Hard code(硬编码) 写进入代码Annotations,破坏代码的简洁和灵活性,
当然,Annotations的引入不只是解决XML配置,从大的概念说,是解决一个资源注射问题(XML属于其中一个资源),在原理J2EE中,容器管理的资源都是由JNDI向应用程序提供的,通过Annotations可以方便实现注射。
参考资料:
百度百科-JavaEE
j2ee是什么?
什么是J2EE呢?从整体上讲,J2EE是使用Java技术开发企业级应用的一种事实上的工业标准(Sun公司出于其自身利益的考虑,至今没有将Java及其相关技术纳入标准化组织的体系),它是Java技术不断适应和促进企业级应用过程中的产物。目前,Java平台有三个版本:适用于小型设备和智能卡的J2ME(Java 2 Platform Micro Edition)、适用于桌面系统的J2SE和适用于企业级应用的J2EE。Sun推出J2EE的目的是为了克服传统Client/Server模式的弊病,迎合Browser/Server架构的潮流,为应用Java技术开发服务器端应用提供一个平台独立的、可移植的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用的开发、管理和部署。J2EE是一个标准,而不是一个现成的产品。各个平台开发商按照J2EE规范分别开发了不同的J2EE应用服务器,J2EE应用服务器是J2EE企业级应用的部署平台。由于它们都遵循了J2EE规范,因此,使用J2EE技术开发的企业级应用可以部署在各种J2EE应用服务器上。
为了推广并规范化使用J2EE架构企业级应用的体系架构,Sun同时给出了一个建议性的J2EE应用设计模型:J2EE Blueprints。J2EE Blueprints提供了实施J2EE企业级应用的体系架构、设计模式和相关的代码,通过应用J2EE Blueprints所描述的体系模型,能够部分简化架构企业级应用这项复杂的工作。J2EE Blueprints是开发人员设计和优化J2EE组件的基本原则,同时为围绕开发工作进行职能分工给出了指导性策略,以帮助应用开发设计人员合理地分配技术资源。
下面我们参照J2EE Blueprints,结合最新版的J2EE规范(J2EE 1.4),从整体上阐述如何使用J2EE架构企业级应用。
图2给出了使用J2EE架构企业级应用的体系架构。J2EE将组成一个完整企业级应用的不同部分纳入不同的容器(Container),每个容器中都包含若干组件(这些组件是需要部署在相应容器中的),同时各种组件都能使用各种J2EE Service/API。J2EE容器包括:
◆ Web容器服务器端容器,包括两种组件JSP和Servlet,JSP和Servlet都是Web服务器的功能扩展,接受Web请求,返回动态的Web页面。Web容器中的组件可使用EJB容器中的组件完成复杂的商务逻辑。
◆ EJB容器 服务器端容器,包含的组件为EJB(Enterprise JavaBeans),它是J2EE的核心之一,主要用于服务器端的商业逻辑的实现。EJB规范定义了一个开发和部署分布式商业逻辑的框架,以简化企业级应用的开发,使其较容易地具备可伸缩性、可移植性、分布式事务处理、多用户和安全性等。
◆ Applet容器客户端容器,包含的组件为Applet。Applet是嵌在浏览器中的一种轻量级客户端,一般而言,仅当使用Web页面无法充分地表现数据或应用界面的时候,才使用它。Applet是一种替代Web页面的手段,我们仅能够使用J2SE开发Applet,Applet无法使用J2EE的各种Service和API,这是为了安全性的考虑。
◆ Application Client容器 客户端容器,包含的组件为Application Client。Application Client相对Applet而言是一种较重量级的客户端,它能够使用J2EE的大多数Service和API。
通过这四个容器,J2EE能够灵活地实现前面描述的企业级应用的架构。
在View部分,J2EE提供了三种手段:Web容器中的JSP(或Servlet)、Applet和Application Client,分别能够实现面向浏览器的数据表现和面向桌面应用的数据表现。Web容器中的Servlet是实现Controller部分业务流程控制的主要手段;而EJB则主要针对Model部分的业务逻辑实现。至于与各种企业资源和企业级应用相连接,则是依靠J2EE的各种服务和API。
在J2EE的各种服务和API中,JDBC和JCA用于企业资源(各种企业信息系统和数据库等)的连接,JAX-RPC、JAXR和SAAJ则是实现Web Services和Web Services连接的基本支持。
J2EE的各种组件
我们就J2EE的各种组件、服务和API,进行更加详细的阐述,看看在开发不同类型的企业级应用时,根据各自需求和目标的不同,应当如何灵活使用并组合不同的组件和服务。
· Servlet
Servlet是Java平台上的CGI技术。Servlet在服务器端运行,动态地生成Web页面。与传统的CGI和许多其它类似CGI的技术相比,Java Servlet具有更高的效率并更容易使用。对于Servlet,重复的请求不会导致同一程序的多次转载,它是依靠线程的方式来支持并发访问的。
· JSP
JSP(Java Server Page)是一种实现普通静态HTML和动态页面输出混合编码的技术。从这一点来看,非常类似Microsoft ASP、PHP等技术。借助形式上的内容和外观表现的分离,Web页面制作的任务可以比较方便地划分给页面设计人员和程序员,并方便地通过JSP来合成。在运行时态,JSP将会被首先转换成Servlet,并以Servlet的形态编译运行,因此它的效率和功能与Servlet相比没有差别,一样具有很高的效率。
· EJB
EJB定义了一组可重用的组件:Enterprise Beans。开发人员可以利用这些组件,像搭积木一样建立分布式应用。在装配组件时,所有的Enterprise Beans都需要配置到EJB服务器(一般的Weblogic、WebSphere等J2EE应用服务器都是EJB服务器)中。EJB服务器作为容器和低层平台的桥梁管理着EJB容器,并向该容器提供访问系统服务的能力。所有的EJB实例都运行在EJB容器中。EJB容器提供了系统级的服务,控制了EJB的生命周期。EJB容器为它的开发人员代管了诸如安全性、远程连接、生命周期管理及事务管理等技术环节,简化了商业逻辑的开发。EJB中定义了三种Enterprise Beans:
◆ Session Beans
◆ Entity Beans
◆ Message-driven Beans
· JDBC
JDBC(Java Database Connectivity,Java数据库连接)API是一个标准SQL(Structured Query Language,结构化查询语言)数据库访问接口,它使数据库开发人员能够用标准Java API编写数据库应用程序。JDBC API主要用来连接数据库和直接调用SQL命令执行各种SQL语句。利用JDBC API可以执行一般的SQL语句、动态SQL语句及带IN和OUT参数的存储过程。Java中的JDBC相当与Microsoft平台中的ODBC(Open Database Connectivity)。
· JMS
JMS(Java Message Service,Java消息服务)是一组Java应用接口,它提供创建、发送、接收、读取消息的服务。JMS API定义了一组公共的应用程序接口和相应语法,使得Java应用能够和各种消息中间件进行通信,这些消息中间件包括IBM MQ-Series、Microsoft MSMQ及纯Java的SonicMQ。通过使用JMS API,开发人员无需掌握不同消息产品的使用方法,也可以使用统一的JMS API来操纵各种消息中间件。通过使用JMS,能够最大限度地提升消息应用的可移植性。 JMS既支持点对点的消息通信,也支持发布/订阅式的消息通信。
· JNDI
由于J2EE应用程序组件一般分布在不同的机器上,所以需要一种机制以便于组件客户使用者查找和引用组件及资源。在J2EE体系中,使用JNDI(Java Naming and Directory Interface)定位各种对象,这些对象包括EJB、数据库驱动、JDBC数据源及消息连接等。JNDI API为应用程序提供了一个统一的接口来完成标准的目录操作,如通过对象属性来查找和定位该对象。由于JNDI是独立于目录协议的,应用还可以使用JNDI访问各种特定的目录服务,如LDAP、NDS和DNS等。
· JTA
JTA(Java Transaction API)提供了J2EE中处理事务的标准接口,它支持事务的开始、回滚和提交。同时在一般的J2EE平台上,总提供一个JTS(Java Transaction Service)作为标准的事务处理服务,开发人员可以使用JTA来使用JTS。
· JCA
JCA(J2EE Connector Architecture)是J2EE体系架构的一部分,为开发人员提供了一套连接各种企业信息系统(EIS,包括ERP、SCM、CRM等)的体系架构,对于EIS开发商而言,它们只需要开发一套基于JCA的EIS连接适配器,开发人员就能够在任何的J2EE应用服务器中连接并使用它。基于JCA的连接适配器的实现,需要涉及J2EE中的事务管理、安全管理及连接管理等服务组件。
· JMX
JMX(Java Management Extensions)的前身是JMAPI。JMX致力于解决分布式系统管理的问题。JMX是一种应用编程接口、可扩展对象和方法的集合体,可以跨越各种异构操作系统平台、系统体系结构和网络传输协议,开发无缝集成的面向系统、网络和服务的管理应用。JMX是一个完整的网络管理应用程序开发环境,它同时提供了厂商需要收集的完整的特性清单、可生成资源清单表格、图形化的用户接口;访问SNMP的网络API;主机间远程过程调用;数据库访问方法等。
· JAAS
JAAS(Java Authentication and Authorization Service)实现了一个Java版本的标准Pluggable Authentication Module(PAM)的框架。JAAS可用来进行用户身份的鉴定,从而能够可靠并安全地确定谁在执行Java代码。同时JAAS还能通过对用户进行授权,实现基于用户的访问控制。
· JACC
JACC(Java Authorization Service Provider Contract for Containers)在J2EE应用服务器和特定的授权认证服务器之间定义了一个连接的协约,以便将各种授权认证服务器插入到J2EE产品中去。
· JAX-RPC
通过使用JAX-RPC(Java API for XML-based RPC),已有的Java类或Java应用都能够被重新包装,并以Web Services的形式发布。JAX-RPC提供了将RPC参数(in/out)编码和解码的API,使开发人员可以方便地使用SOAP消息来完成RPC调用。同样,对于那些使用EJB(Enterprise JavaBeans)的商业应用而言,同样可以使用JAX-RPC来包装成Web服务,而这个Web Servoce的WSDL界面是与原先的EJB的方法是对应一致的。JAX-RPC为用户包装了Web服务的部署和实现,对Web服务的开发人员而言,SOAP/WSDL变得透明,这有利于加速Web服务的开发周期。
· JAXR
JAXR(Java API for XML Registries)提供了与多种类型注册服务进行交互的API。JAXR运行客户端访问与JAXR规范相兼容的Web Servcices,这里的Web Services即为注册服务。一般来说,注册服务总是以Web Services的形式运行的。JAXR支持三种注册服务类型:JAXR Pluggable Provider、Registry-specific JAXR Provider、JAXR Bridge Provider(支持UDDI Registry和ebXML Registry/Repository等)。
· SAAJ
SAAJ(SOAP with Attachemnts API for Java)是JAX-RPC的一个增强,为进行低层次的SOAP消息操纵提供了支持。
下面我们通过假设一个企业应用的J2EE实现,来了解各种组件和服务的应用。假设应用对象是计算机产品的生产商/零售商的销售系统,这个销售系统能够通过自己的网站发布产品信息,同时也能将产品目录传送给计算机产品交易市场。销售系统能够在线接受订单(来自自己的Web网站或者来自计算机产品交易市场),并随后转入内部企业管理系统进行相关的后续处理。
参见图3,这个企业应用可以这种方式架构。该企业应用的核心是产品目录管理和产品定购管理这两个业务逻辑,使用EJB加以实现,并部署在EJB容器中。由于产品目录和定购信息都需要持久化,因此使用JDBC连接数据库,并使用JTA来完成数据库存取事务。
然后使用JSP/Servlet来实现应用的Web表现:在线产品目录浏览和在线定购。为了将产品目录发送给特定的交易市场,使用JMS实现异步的基于消息的产品目录传输。为了使得更多的其它外部交易市场能够集成产品目录和定购业务,需要使用Web Services技术包装商业逻辑的实现。由于产品定购管理需要由公司内部雇员进行处理,因此需要集成公司内部的用户系统和访问控制服务以方便雇员的使用,使用JACC集成内部的访问控制服务,使用JNDI集成内部的用户目录,并使用JAAS进行访问控制。由于产品订购事务会触发后续的企业ERP系统的相关操作(包括仓储、财务、生产等),需要使用JCA连接企业ERP。
最后为了将这个应用纳入到企业整体的系统管理体系中去,使用Application Client架构了一个管理客户端(与其它企业应用管理应用部署在一台机器上),并通过JMX管理这个企业应用。
关于j2ee和j2ee是什么意思的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
还没有评论,来说两句吧...