J2EE应用服务器(j2ee服务器有哪些)
大家好,感谢邀请,今天来为大家分享一下J2EE应用服务器的问题,以及和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。
基于J2EE 的应用都有哪些
熟悉JAVA的人都知道在JAVA体系中划分为三大版本,分别是:J2EE、J2SE、J2ME。今天我们就先谈谈J2EE的技术应用。
J2EE是Sun公司推出的一种全新概念的模型,比传统的互联网应用程序模型更有优势.
J2EE平台是Java技术企业级应用的最佳平台,它可以让程序员迅速、快捷地开发和分布企业级应应用程序.以下便是它的相关技术:
1.Enterprise JavaBeans Architecture,企业级JavaBeans定义了一个应用程序接口.它可以使程序员迅速开发、发布和管理跨平台的、基于组件的企业级应用程序.
2.JavaServer Pages,JSP技术提供了一种简单、快速的方法来创建动态网页.通过它,可以快速地开发基于Web的应用程序,并且这些应用程序都是与平台无关的.因为JSP与ASP很相似,所以熟悉ASP的人学习它就很容易了.
3.Java Servlet,提供了应用程序接口.通过它可以简单快速地开发并扩展服务器功能.就发展趋势来看,它将来有可能取代CGI.
4.J2EE Connector,提供了一种标准结构来联接不同的企业信息平台.
5.Java Naming and Directory Interface(JNDI),在Java平台与商业信息之间,JNDI提供了统一、无缝的标准化连接.通过使用JNDI,程序员可以在企业多命名与目录服务之间传送Java应用程序.
6.Java Interface Definition Language(JIDL),通过使用CORBA,可以提供协同工作的能力.JIDL包括一个IDL-to-Java编译器和支持IIOP(Internet Inter-Orb Protocol)的ORB.
7.JDBC,几乎是为所有的数据库提供了统一的接口,同时可以创建高级工具和接口.
8.Java Message Service(JMS),它几乎规范了所有企业级消息服务,如可靠查询、发布消息、订阅杂志等各种各样的PUSS/PULL技术的应用,并且为它们提供了一个标准接口.
9.Java Transaction API(JTA),为分布式系统中可处理的应用程序规定了一个高级的管理规范.
10.JavaMail,JavaMail应用程序接口提供了一整套模拟邮件系统的抽象类.通过JavaMail,可以创建邮件或消息应用程序.
什么是Java EE应用服务器
【1】、Java EE服务器其实就是我们平时所说的J2EE应用服务器;
【2】、到底什么是Java EE应用服务器?
J2EE Java2平台企业版(Java 2 Platform,Enterprise Edition)
J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。
J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,导致企业内部或外部难以互通的窘境。
【那么也就是说满足了J2EE架构的应用服务器就是Java EE应用服务器。】
支持J2EE的应用服务器有IBM WEBSPHERE APPLICATION SERVER,BEA WEBLOGIC SERVER,JBOSS,ORACLE APPLICATION SERVER,SUN ONE APPLICATION SERVER等。
【3】、IIS(Internet Information Server,互联网信息服务)是一种Web(网页)服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包括互联网和局域网)上发布信息成了一件很容易的事。
可见IIS不同于J2EE的技术架构,他也就不属于Java EE应用服务器啦!
有什么不清楚可以联系我!(by adamkisy)
OK,本文到此结束,希望对大家有所帮助。