`
素寒丶玩玩
  • 浏览: 19361 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

谈谈服务器

 
阅读更多
 

Apache、Tomcat、JBoss、WebLogic的区别与关系

标签: jbossweblogictomcatapacheservlet应用服务器
 6628人阅读 评论(0) 收藏 举报
 分类:
J2EE(10) 

Apache全球应用最广泛的http服务器,免费,出自apache基金组织 
Tomcat应用也算非常广泛的web 服务器,支持部分j2ee,免费,出自 apache基金组织 
JBoss开源的应用服务器,比较受人喜爱,免费(文档要收费) 
weblogic应该说算是业界第一的app server,全部支持j2ee1.4, 对于开发者,有免费使用一年的许可证,用起来比较舒服,出资BEA公司,呵呵,我用的就是这个,所以比较熟悉 
jboss也支持j2ee

JBoss和WebLogic都含有Jsp和Servlet容器,也就可以做web容器, 
JBoss和WebLogic也包含EJB容器,是完整的J2EE应用服务器

tomcat 只能做jsp和servlet的container
一、tomcat 
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,它是Apache 软件基金会(Apache 
Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个 
人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得 
到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定 
,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的 
Web 应用服务器。 
Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮 
件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员 
都可以更改它或在其中加入新的功能。 
Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍 
使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配 
置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务 
器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进 
程单独运行的。 
这里的诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和 
Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是 
一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的 
能力不如Apache服务器。 
相关连接: 
http://tomcat.apache.org/ Tomcat概述 
    Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项 
目,由Apache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的 
Servlet和Jsp规范总能在Tomcat中得到体现。Tomcat被JavaWorld杂志的编辑选为2001年度最具创 
新的java产品,可见其在业界的地位。 
    Tomcat 最新版本是4.0x.4.0x与3.x的架构不同,而是重新设计的。Tomcat4.0x中采用了新的 
Servlet容器:Catalina,完整的实现了Servlet2.3和Jsp1.2规范。Tomcat提供了各种平台的版本 
供下载,可以从http://jakarta.apache.org上下载其源代码版或者二进制版。由于Java的跨平台 
特性,基于Java的Tomcat也具有跨平台性。 
    与传统的桌面应用程序不同,Tomcat中的应用程序是一个WAR(Web Archive)文件。WAR是 
Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包。这个包中的文件按一 
定目录结构来组织:通常其根目录下包含有Html和Jsp文件或者包含这两种文件的目录,另外还会 
有一个WEB-INF目录,这个目录很重要。通常在WEB-INF目录下有一个web.xml文件和一个classes 
目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的Servlet类和Jsp或 
Servlet所依赖的其它类(如JavaBean)。通常这些所依赖的类也可以打包成JAR放到WEB-INF下的 
lib目录下,当然也可以放到系统的CLASSPATH中,但那样移植和管理起来不方便。 
    在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat 
会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很慢, 
因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提 
供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件中 
。通过这个应用,辅助于Ftp,你可以在远程通过Web部署和撤销应用。当然本地也可以。 
    Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理Html页面。但是 
与Apache相比,它的处理静态Html的能力就不如Apache.我们可以将Tomcat和Apache集成到一块, 
让Apache处理静态Html,而Tomcat处理Jsp和Servlet.这种集成只需要修改一下Apache和Tomcat的 
配置文件即可。 
    另外,Tomcat提供Realm支持。Realm类似于Unix里面的group.在Unix中,一个group对应着系 
统的一定资源,某个group不能访问不属于它的资源。Tomcat用Realm来对不同的应用(类似系统 
资源)赋给不同的用户(类似group)。没有权限的用户则不能访问这个应用。Tomcat提供三种 
Realm,1:JDBCRealm,这个Realm将用户信息存在数据库里,通过JDBC获得用户信息来进行验证 
。2:JNDIRealm,用户信息存在基于LDAP的服务器里,通过JNDI获取用户信息。3:MemoryRealm 
,用户信息存在一个xml文件里面,上面讲的manager应用验证用户时即使用此种Realm.通过Realm 
我们可以方便地对访问某个应用的客户进行验证。 
    在Tomcat4中,你还可以利用Servlet2.3提供的事件监听器功能,来对你的应用或者Session 
实行监听。Tomcat也提供其它的一些特征,如与SSL集成到一块,实现安全传输。还有Tomcat也提 
供JNDI支持,这与那些J2EE应用服务器提供的是一致的。说到这里我们要介绍一下通常所说的应 
用服务器(如WebLogic)与Tomcat有何区别。应用服务器提供更多的J2EE特征,如EJB,JMS, 
JAAS等,同时也支持Jsp和Servlet.而Tomcat则功能没有那么强大,它不提供EJB等支持。但如果 
与JBoss(一个开源的应用服务器)集成到一块,则可以实现J2EE的全部功能。既然应用服务器具 
有Tomcat的功能,那么Tomcat有没有存在的必要呢?事实上,我们的很多中小应用不需要采用EJB 
等技术,Jsp和Servlet已经足够,这时如果用应用服务器就有些浪费了。而Tomcat短小精悍,配 
置方便,能满足我们的需求,这种情况下我们自然会选择Tomcat. 
    基于Tomcat的开发其实主要是Jsp和Servlet的开发,开发Jsp和Servlet非常简单,你可以用 
普通的文本编辑器或者IDE,然后将其打包成WAR即可。我们这里要提到另外一个工具Ant,Ant也 
是Jakarta中的一个子项目,它所实现的功能类似于Unix中的make.你需要写一个build.xml文件, 
然后运行Ant就可以完成xml文件中定义的工作,这个工具对于一个大的应用来说非常好,我们只 
需在xml中写很少的东西就可以将其编译并打包成WAR.事实上,在很多应用服务器的发布中都包含 
了Ant.另外,在Jsp1.2中,可以利用标签库实现Java代码与Html文件的分离,使Jsp的维护更方便 
。 
    Tomcat也可以与其它一些软件集成起来实现更多的功能。如与上面提到的JBoss集成起来开发 
EJB,与Cocoon(Apache的另外一个项目)集成起来开发基于Xml的应用,与OpenJMS 
    集成起来开发JMS应用,除了我们提到的这几种,可以与Tomcat集成的软件还有很多。 
二、Jboss

JBoss是全世界开发者共同努力的成果,一个基于J2EE的开放源代码的应用服务器。 因为JBoss代 
码遵循LGPL许可,你可以在任何商业应用中免费使用它,而不用支付费用。JBoss支持EJB 1.1和 
EJB 2.0 EJB3.0的规范,它是一个管理EJB的容器和服务器。类似于Sun's J2SDK Enterprise 
Edition(J2EE),JBoss的目标是一个源代码开放的J2EE环境。但是JBoss核心服务仅是提供EJB 
服务器。JBoss不包括serverlers/JSP page 的WEB容器,当然可以和Tomcat或Jetty绑定使用。 
JBoss还具有如下六大优点: 
1、JBoss是免费的,开放源代码J2EE的实现,它通过LGPL许可证进行发布。 
2、JBoss需要的内存和硬盘空间比较小。 
3、安装非常简单。先解压缩JBoss打包文件再配置一些环境变量就可以了。 
4、JBoss能够"热部署",部署BEAN只是简单拷贝BEAN的JAR文件到部署路径下就可以了。如果没有 
加载就加载它;如果已经加载了就卸载掉,然后LOAD这个新的。 
5、JBoss与Web服务器在同一个Java虚拟机中运行,Servlet调用EJB不经过网络,从而大大提高运 
行效率,提升安全性能。 
6、用户可以直接实施J2EE-EAR,而不是以前分别实施EJB-JAR和Web-WAR,非常方便。 
JBoss的安装和配置可以直接拷贝使用,但是要改动 %JBoss-HOME%/bin/run.bat里JAVA-HOME的设 
置,改成本机JDK的目录。运行run.bat来启动JBoss 
关闭JBoss:关闭JBoss的 DOS 窗口或按"CTRL + C" 
JBoss的目录结构 
1、bin:开始和停止JBoss的地方。 
其中有两个主要的批处理文件:run.bat和shutdown.bat。要启动JBoss只要执行run.bat文件即可 
;要停止JBoss必须执行shutdown.bat。 
注意,shutdown.bat文件直接执行并不会自动停止JBoss,它必须要输入参数,参数意义如下: 
h显示帮助信息;D设置系统属性;-停止处理选项;s停止用JNDI URL指定的远程服务;n通过制定 
JMX名字来停止服务;a适配到指定的JNDI名称的远程服务;u指定用户名称;p指定用户密码;S停 
止服务器;e从虚拟机退出;H暂停。 
一般,我们使用S选项来停止服务器。即执行shutdown.bat -S。 
2、docs:放置JBoss的例子、测试脚本和各种脚本配置文件的DTD。 
3、lib:放置JBoss所需要的部分jar包文件。 
4、client:放置EJB客户端运行时所需要的jar包。 
5、server:放置各启动类型的服务器端EJB配置所需要的文件等。 
6、backup 
以80端口服务 
修改这个文件: {%JBOSS_HOME%}/server/default/deploy/jbossweb-tomcat41.sar/META- 
INF/jboss-service.xml 
在"8080"的配置后加入以下代码 
<!-- A HTTP/1.1 Connector on port 80 --> 
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector" 
port="80" minProcessors="5" maxProcessors="100" 
enableLookups="true" acceptCount="10" debug="0" 
connectionTimeout="20000" useURIValidationHack="false"/> 
重新启动JBoss就OK了 
JBoss的启动过程 
设置环境变量 JBOSS_CLASSPATH (可以自己加上安全管理器和xml解析器) 
a) %JBOSS_CLASSPATH%; 
b) %JAVA_HOME%/lib/tools.jar; 
c) run.jar 
d) ../lib/crimson.jar; 
设置启动参数JAXP(xml解析器和相应工厂) 
启动 
设置配置信息 
读取配置文件JBoss.properties,保存在系统属性中(System.properties) 
设置缺省属性jboss.home和java.security.auth.login.config 
创建MBeanServer.的实例: 
把配置文件和补丁文件所在的目录指定给特定的远程类加载器Mlet 
加载保存配置文件(mlet会自动在配置文件目录中查找) 
初始化并启动MBean 
配置服务ConfigurationService 
加载配置文件 
保存配置 
服务控制ServiceControl 
初始化服务程序(init方法) 
启动服务程序(start方法) 
在JBOSS中发布文件 
1、制作JSP的war部署文件 
用"jar cvf hello.war index.jsp main.jsp"的方式生成把index.jsp和main.jsp文件加入到 
hello.war中。把生成的hello.war拷贝到jboss安装目录/server/default/deploy/下,部署成功 
。用"http://localhost:8080/hello/"或"http://localhost:8080/hello/index.jsp"这两个地址 
进行测试。 
2、制作Servlet的war部署文件 
A、用"javac -classpath "%CLASSPATH%;%jboss_home% 
/server/default/lib/javax.servlet.jar" HelloWorld.java"的形式编译HelloWorld.java(这 
是一个Servlet)得到HelloWorld.class 
B、写一个web.xml配置文件 
代码如下: 
<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE web-app 
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
"http://java.sun.com/dtd/web-app_2_3.dtd"> 
<web-app> 
<servlet> 
<servlet-name>HelloWorld</servlet-name> 
<servlet-class>hello.HelloWorld</servlet-class> 
</servlet> 
<servlet-mapping> 
<servlet-name>HelloWorld</servlet-name> 
<url-pattern>/HelloWorld</url-pattern> 
</servlet-mapping> 
</web-app> 
每个标记必须小写,否则会出错。 
C、先在c:/servlet下建立一个web-inf目录,在目录中放入web.xml文件。 
D、在web-inf目录下建立一个classes目录,放入编译好的HelloWorld.class文件 
E、在c:/servlet下执行jar cvf hello.war *.*,很快就生成了一个名为hello.war的文件,接着 
把hello.war复制到jboss的安装目录/server/default/deploy/下完成部署。 
3、也可以不打包,把文件放在deploy下的同名文件夹下也可以。比如原来是制作成hello.war文 
件,可以建立一个名称为hello.war的文件夹,把要发布的文件拷贝到这个目录底下也可以发布成 
功。 
补充 
1、JBoss的默认端口是8080 
3、对于NT和Win2000系统如果你要安装NT或Win2000服务的话,可以把JBoss加在系统服务中,避 
免你每次需要到JBoss目录下运行run.bat命令,只是当系统启动时,自动启动JBoss服务器。 
三、weblogic

WebLogic是美国bea公司出品的一个application server确切的说是一个基于j2ee架构的中间件, 
webserver是用来构建网站的必要软件用来解析发布网页等功能,它是用纯java开发的。weblogic 
本来不是由bea发明的,是它从别人手中买过来,然后再加工扩展。目前weblogic在世界 
application server市场上占有最大的份额,其他还有象IBM的websphere,免费的tomcat、resin 
等中间件。 
BEA WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java 
应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成 
、部署和管理之中。 
BEA WebLogic Server拥有处理关键Web应用系统问题所需的性能 、可扩展性和高可用性。 
与BEA WebLogic Commerce ServerTM配合使用, BEA WebLogic Server可为部署适应性个性化电 
子商务应用系统提供完善的解决方案。 
BEA WebLogic Server具有开发和部署关键任务电子商务Web应用系统 所需的多种特色和优势,包 
括: 
1)领先的标准 
对业内多种标准的全面支持,包括EJB、JSB、JMS、JDBC、XML和WML,使Web应用系统的实施更为 
简单,并且保护了投资,同时也使基于标准的解决方案的开发更加简便。 
2)无限的可扩展性 
BEA WebLogic Server以其高扩展的架构体系闻名于业内,包括客户机连接的共享、资源pooling 
以及**页和EJB组件群集。 
3)快速开发 
凭借对EJB和JSP的支持,以及BEA WebLogic Server 的Servlet组件架 构体系,可加速投放市场 
速度。这些开放性标准与WebGain Studio配合时,可简化开发,并可发挥已有的技能,迅速部署 
应用系统。 
4)部署更趋灵活 
BEA WebLogic Server的特点是与领先数据库、操作系统和Web服务器 紧密集成。 
5)关键任务可靠性 
其容错、系统管理和安全性能已经在全球数以千记的关键任务环境中得以验证。 
6)体系结构 
BEA WebLogic Server是专门为企业电子商务应用系统开发的。企业电子商务应用系统需要快速开 
发,并要求服务器端组件具有良好的灵活性和安全性,同时还要支持关键任务所必需的扩展、性 
能、和高可用性。BEA WebLogic Server简化了可移植及可扩展的应用系统的开发,并为其它应用 
系统和系统提供了丰富的互操作性。 
凭借其出色的群集技术,BEA WebLogic Server拥有最高水平的可扩展 性和可用性。BEA 
WebLogic Server既实现了网页群集,也实现了EJB组件 群集,而且不需要任何专门的硬件或操作 
系统支持。网页群集可以实现透明的复制、负载平衡以及表示内容容错,如Web购物车;组件群集 
则处理复杂的复制、负载平衡和EJB组件容错,以及状态对象(如EJB实体)的恢复。 
无论是网页群集,还是组件群集,对于电子商务解决方案所要求的可扩展性和可用性都是至关重 
要的。共享的客户机/服务器和数据库连接以及数据缓存和EJB都增强了性能表现。这是其它Web应用系统所不具备的。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zjrbiancheng/archive/2010/12/02/6049438.aspx

分享到:
评论

相关推荐

    服务器用途分类.txt

    低价稳定型服务器对服务器的处理速度,数据存储要求不高,但稳定性,安全性高,例如企业网站和普通论坛网站应用,以及DNS和代理服务器等 下面对每一类服务器的应用特点,谈谈服务器硬件配置要求: 一.web服务器 ...

    fileupload上传多个文件资料和代码

    接着,我们来谈谈服务器端的处理。无论是使用PHP、Java、Python还是其他后端语言,接收多文件上传的核心思路是一致的。以PHP为例,当用户提交表单时,文件会被存储在一个名为`$_FILES`的超全局数组中,每个文件对应...

    FileZilla客户端和服务器端windows服务器

    接下来,我们谈谈FileZilla服务器端。这是一套独立的软件,用于在Windows服务器上运行FTP服务。安装并配置FileZilla服务器后,你可以设置多个用户账户,为每个账户分配特定的访问权限,确保文件的安全传输。服务器端...

    玩个人服务器-域名、dns、WEB

    首先,让我们谈谈“域名”。域名是互联网上网站的地址,它便于人类记忆,比如www.google.com。当你在浏览器中输入一个域名时,实际上是在请求访问与该域名关联的IP地址。域名系统(DNS)就是用来将域名转换为IP地址...

    阿里云服务器建网的jdk与tomact

    接下来,我们来谈谈如何在阿里云服务器上搭建网站。首先,你需要购买并设置好阿里云服务器,选择合适的操作系统,通常是Linux发行版如Ubuntu、CentOS等。然后,通过SSH登录服务器,进行必要的安全更新和防火墙设置,...

    Apache服务器集群及负载均衡

    接下来,我们来谈谈Nginx在实现前端开发中的作用。Nginx以其高性能、轻量级的特性,常被用作反向代理服务器和静态文件服务器。在前端开发中,使用Nginx作为反向代理,可以实现无须重启服务器就能更新前端资源,极大...

    仙境传说(RO)私人服务器端

    首先,我们来谈谈Delphi。Delphi是一种基于Object Pascal语言的集成开发环境(IDE),由Embarcadero Technologies公司开发。它以其高效能、快速的编译器和强大的Windows应用程序开发能力而闻名。在游戏开发领域,...

    shell脚本远程启动其他服务器的tomcat传输文件自动登录判断启动停止

    最后,我们谈谈Tomcat。Tomcat是一个开源的Java应用服务器,主要用来部署和运行Java Servlets和JavaServer Pages(JSP)。在多服务器集群中,确保Tomcat的稳定运行和快速响应至关重要。因此,脚本会检查Tomcat的状态...

    刀片服务器与机架服务器优势完全对比.docx

    首先来谈谈机架服务器。机架服务器是标准化工业的产物,它沿用了统一的外观和尺寸标准,能够与标准的机柜完美配合。一般而言,机柜的高度为42U,而服务器的宽度遵循19英寸的标准。机架服务器的尺寸规格从1U到4U不等...

    web服务器、网站下载、浏览器例程.rar_c web 服务器_web 服务器_web服务器_从web服务器_网络浏览

    首先,我们来谈谈Web服务器。Web服务器如Apache、Nginx或IIS,是互联网的基础,它们存储、处理并提供网页内容。当用户在浏览器中输入URL并按下回车键时,浏览器会向Web服务器发送HTTP请求,请求可能包含获取特定页面...

    图片截取和图片服务器

    然后,我们来谈谈“图片服务器”。图片服务器是专门负责存储、处理和分发图片的服务。它可以是独立的,也可以集成在现有的Web服务器中。关键在于它需要能够快速响应请求,提供高效的图片加载。实现时,可以利用CDN...

    服务器监控程序

    接下来,我们谈谈“Tomcat服务器监控”。Tomcat是一款流行的开源Java Servlet容器,用于部署Web应用程序。监控Tomcat主要关注: 1. **应用性能**:监控HTTP请求响应时间、并发用户数、会话数量等,确保应用响应速度...

    使用HTTP上传文件到WEB服务器

    接下来,我们来谈谈实现文件上传的步骤: 1. 创建HTML表单:在网页中创建一个包含`&lt;form&gt;`元素的表单,设置`enctype="multipart/form-data"`和`method="POST"`属性,指定上传文件的URL。 2. 文件输入元素:在表单...

    更新服务器文件到本地

    接下来,我们谈谈“工具”。在IT领域,工具的选择和使用极大地影响了工作效率。对于文件同步,除了源码管理工具外,还有FTP(File Transfer Protocol)、SFTP(Secure File Transfer Protocol)、SCP(Secure Copy)...

    完成端口实现的回射服务器类临界保护

    然后,我们谈谈临界保护。在多线程编程中,临界区是指同一时刻只能被一个线程访问的代码段,以避免数据竞争。在本项目中,开发者可能在发送函数中定义了临界量,确保在发送数据时只有一个线程能访问相关资源。例如,...

    架设web服务器

    接下来,我们来谈谈如何设置IIS指向另一台机器上的共享虚拟目录。虚拟目录允许Web服务器访问不在本地服务器上的资源。在IIS管理器中,找到你想要添加虚拟目录的网站,然后右键点击"目录",选择"添加虚拟目录"。输入...

    不要下载作者个人MC服务器备份

    首先,让我们谈谈“服务器”。在本例中,提到的是一个 Minecraft(简称MC)服务器,特别是基岩版1.20.1.02。Minecraft 是一款全球流行的沙盒建造游戏,有多个版本,其中基岩版是针对移动设备和游戏主机设计的。...

    Android HTTP 通信demo源码附带Tomcat 服务器源码

    接下来,我们谈谈Tomcat服务器。Tomcat是一款开源的、小巧且高效的Java Web服务器,用于部署和运行Servlet和JSP应用程序。在本地搭建Tomcat服务器,可以帮助开发者快速测试HTTP通信的逻辑。 1. **Tomcat服务器的...

    服务器端代码(异步,大并发)

    接着,我们谈谈“大并发”。大并发是指系统在同一时间处理大量并发请求的能力。在高流量的Web服务中,能否有效地处理大并发是衡量服务器性能的重要指标。实现大并发的方法有很多,例如: 1. **多线程/多进程**:...

    web服务器配置web服务器配置.doc

    首先,我们来谈谈"启用父路径"。在Web服务器的配置文件(如Apache的.htaccess或IIS的web.config)中,"启用父路径"通常与URL重写、目录遍历或脚本执行有关。默认情况下,许多Web服务器禁止相对路径的上一级引用,即...

Global site tag (gtag.js) - Google Analytics