Java:除了tomcat以外,还有哪些常用的Web服务器呢?
1、weblogic
WebLogic是美国bea公司出品的一个application server确切的说是一个基于j2ee架构的中间件。BEA WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。
2、webSphere
WebSphere是 IBM 的集成软件平台。它包含了编写、运行和监视全天候的工业强度的随需应变 Web 应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施。
如服务器、服务和工具。WebSphere 提供了可靠、灵活和健壮的集成软件。
3、JBoss
JBoss是一个管理EJB的容器和服务器,支持EJB 11、EJB 20和EJB30的规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。2006年,Jboss公司被Redhat公司收购。
4、 Apache
Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。
Apache是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。
本来它只用于小型或试验Internet网络,后来逐步扩充到各种Unix系统中,尤其对Linux的支持相当完美。
Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。
到目前为止Apache仍然是世界上用的最多的Web服务器,世界上很多著名的网站都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。
5、 IIS
Microsoft的Web服务器产品为InternetInformation Server (IIS), IIS 是允许在公共Intranet或Internet上发布信息的Web服务器。
IIS是目前最流行的Web服务器产品之一,很多著名的网站都是建立在IIS的平台上。IIS提供了一个图形界面的管理工具,称为 Internet服务管理器,可用于监视配置和控制Internet服务。
IIS是一种Web服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包括互联网和局域网)上发布信息成了一件很容易的事。
它提供ISAPI(IntranetServer API)作为扩展Web服务器功能的编程接口;同时它还提供一个Internet数据库连接器,可以实现对数据库的查询和更新。
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使用率达到5866%,稳坐第一。
相较2014年,Tomcat使用率大幅增长,增长将近19%。
整体而言,Tomcat做为Servlet和Jsp规范的参考实现(Reference implementation , 简称RI),一般都会在第一时间实现规范的新特性并通过Oracle的CTS 测试认证。目前最新的Tomcat 90,虽还是alpha版,但已经实现了Servlet 40草案,感兴趣的朋友,可以下载尝鲜哦!
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目录中有一个serverxml文件,你打开它瞄两眼看看,是不是发现serverxml文件中已经包含了上述的几个名称。
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。
11 Session
服务器集群通常操纵两种session:
1 Stickysessions: 尽量让同一个客户请求由同一台服务器来处理,这样 sticky sessions 就是 存在于单机服务器中接受客户端请求的 session,它不需要进行 Session 复制,如果这个 单机失败的话,用户必须重新登录网站。
2 Replicatedsessions: 在一台服务器中的 session 状态被复制到集群的其他服务器上,无论 何时,只要 session 改变了,session 数据都要重新全部或部分(依据复制策略)被复制 到其他服务器上。
Tomcat 支持以下三种 session 持久性类型:
1 内存复制:在 JVM 内存中复制 session状态,使用 Tomcat自带的 SimpleTcpCluster 和SimpleTcpClusterManager类。
2 数据库持久性:在这种类型中,session 状态保存在一个关系数据库中,服务器使用orgapachecatalinasessionJDBCManager类从数据库中获取 Session 信息。
3 基于文件的持久性:这里使用类orgapachecatalinasessionFileManager 把session 状态保存到一个文件系统。
Session Manager
Tomcat 通过 orgapachecatalinaManager 来管理 Session,Manager 接口总是和 Context Container 相关联。它主要负责 session 的建立、更新和销毁。该接口中一些重要的方法有:
用户在 Servlet 中通过 javaxservlethttpHttpServletRequest 接口的 getSession 方法获得 Session,而该接口的实现位于 orgapachecatalinaconnectorRequest 类中的 doGetSession 方 法中,在该方法中通过 orgapachecatalinaManager 来获得 Session , doGetSession 方法的 部分代码如下:
组通讯框架--Tribe
组通讯框架 Tribe 在 Tomcat 中的位置可如下图
如图所示,Tribe 的核心主要是 Channel 类,由此看出,它采用 NIO 进行 Socket 通讯,运用
了组播,事件、心跳检测等技术,下面我们来着重看看代码中 Tomcat 是如何与 Tribe 衍接首先在 SimpleTcpReplication 类中的实现 Manager 接口的 start 方法中:
Cluster
Cluster 用于管理集群中的 Session 复制,它有一个简单的实现类 SimpleTcpCluster。
;服务器的种类有哪些并简单概述概念?实现各种不同的用途,bai那么如何在众多不同类型的服务器之间,选择个适合的使用呢
大家通常需要在服务器上安装各种软件。因此服务器按照功能可以划分为文件服务器、数据库服务器、邮件服务器、Web服务器、DNS服务器
文件服务器
文件服务器是以文件数据共享为目标。它的特点是将供多台计算机共享的文件存放于一台计算机中,这台计算机被称为文件服务器,如Windows Server
2003文件服务器。
2数据库服务器
安装了不同的数据库软件,提供不同的数据库服务的服务器被称为数据库服务器,如Oracle数据库服务器、MySQL数据库服务器、Microsoft SQL
Server数据库服务器等。
3邮件服务器
邮件服务器是用户所需要的重要的网络服务之一。没有邮件服务器的网络是不完整的网络。提供邮件功能的服务器被称为邮件服务器。它们通常安装的软件包括WebEasyMail、Sendmail、Postfix、Qmail、Microsoft
Exchange等。
4Web服务器
web服务器也是网络服务器,如Apache、IIS等搭建的服务器,其目的是提供Web网页服务。
5DNS服务器
提供域名服务的服务器称之为DNS服务器。通过DNS服务器,可以实现域名服务的查询、应答。
6代理服务器
代理服务器的功能好比网络的中转站,主要功能如下。
突破自身IP访问限制,访问受限游戏服务器。可以通过代理IP,将自己的IP变成国外IP,从而可以访问游戏服务器。
访问一些组织内部资源,如使用教育网IP地址段内的免费代理服务器,可以登录教育网内部的各类FTP下载学习资料。
突破IP封锁:出于安全或其他原因考虑,很多网站对某些IP段限制访问,这种限制是认为的,所以不能访问时可以换一个代理服务器试试。
隐藏真实IP:可以通过代理的方法隐藏自己的真实IP,免受攻击。
7FTP服务器
FTP服务器是提供FTP服务的服务器,掌握了FTP账户和密码登录FTP服务器后,可以对服务器的文件进行上传、下载、删除、修改等操作。Windows下最广泛使用的FTP服务器软件是Serv-U;Linux下最广泛使用的FTP服务器软件是VsFTP。
8应用服务器
这类服务器是提供各种不同应用服务器的统称,如网络游戏服务器。例如,传奇游戏服务器通过8000端口提供游戏过程中服务器与游戏玩家的客户端之间的数据传输以及处理;QQ聊天软件通过QQ服务器来传输文字、视频、音频数据等。
0条评论