tomcat,Jboss,weblogic區別與比較

1、tomcat java

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 很受廣大程序員的喜歡,由於它運行時佔用的系統資源小,擴展性好,支持負載平衡與郵件服務等開發應用系統經常使用的功能;並且它還在不斷的改進和完善中,任何一個感興趣的程序員均可以更改它或在其中加入新的功能。web

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服務器。apache

相關鏈接:瀏覽器

http://tomcat.apache.org/ Tomcat概述緩存

Tomcat是一個免費的開源的Serlvet容器,它是Apache基金會的Jakarta項目中的一個核心項目,由Apache,Sun和其它一些公司及我的共同開發而成。因爲有了Sun的參與和支持,最新的Servlet和Jsp規範總能在Tomcat中獲得體現。Tomcat被JavaWorld雜誌的編輯選爲2001年度最具創新的java產品,可見其在業界的地位。tomcat

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集成的軟件還有不少。

2、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還具備以下六大優勢:

一、JBoss是免費的,開放源代碼J2EE的實現,它經過LGPL許可證進行發佈。

二、JBoss須要的內存和硬盤空間比較小。

三、安裝很是簡單。先解壓縮JBoss打包文件再配置一些環境變量就能夠了。

四、JBoss可以"熱部署",部署BEAN只是簡單拷貝BEAN的JAR文件到部署路徑下就能夠了。若是沒有加載就加載它;若是已經加載了就卸載掉,而後LOAD這個新的。

五、JBoss與Web服務器在同一個Java虛擬機中運行,Servlet調用EJB不通過網絡,從而大大提升運行效率,提高安全性能。

六、用戶能夠直接實施J2EE-EAR,而不是之前分別實施EJB-JAR和Web-WAR,很是方便

JBoss的安裝和配置能夠直接拷貝使用,可是要改動 %JBoss-HOME%\bin\run.bat裏JAVA-HOME的設置,改爲本機JDK的目錄。運行run.bat來啓動JBoss

關閉JBoss:關閉JBoss的 DOS 窗口或按"CTRL + C"

JBoss的目錄結構

一、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。

二、docs:放置JBoss的例子、測試腳本和各類腳本配置文件的DTD。

三、lib:放置JBoss所須要的部分jar包文件。

四、client:放置EJB客戶端運行時所須要的jar包。

五、server:放置各啓動類型的服務器端EJB配置所須要的文件等。

六、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中發佈文件

一、製做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"這兩個地址進行測試。

二、製做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\下完成部署。

三、也能夠不打包,把文件放在deploy下的同名文件夾下也能夠。好比原來是製做成hello.war文件,能夠創建一個名稱爲hello.war的文件夾,把要發佈的文件拷貝到這個目錄底下也能夠發佈成功。

補充

一、JBoss的默認端口是8080

三、對於NT和Win2000系統若是你要安裝NT或Win2000服務的話,能夠把JBoss加在系統服務中,避免你每次須要到JBoss目錄下運行run.bat命令,只是當系統啓動時,自動啓動JBoss服務器。

3、weblogic

 

 

WebLogic是美國bea公司出品的一個application server確切的說是一個基於j2ee架構的中間件,webserver是用來構建網站的必要軟件用來解析發佈網頁等功能,它是用純java開發的。weblogic原本不是由bea發明的,是它從別人手中買過來,而後再加工擴展。目前weblogic在世界application server市場上佔有最大的份額,其餘還有象IBMwebsphere,免費的tomcatresin等中間件。

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應用系統所不具有的

相關文章
相關標籤/搜索