1. 程式人生 > >淺談WebLogic和Tomcat

淺談WebLogic和Tomcat

       J2ee開發主要是瀏覽器和伺服器進行互動的一種結構.邏輯都是在後臺進行處理,然後再把結果傳輸回給瀏覽器。可以看出伺服器在這種架構是非常重要的。

       這幾天接觸到兩種Java的web伺服器,做專案用的Tomcat,看視訊看的是WebLogic Server(WLS),都是web伺服器,有什麼區別和聯絡呢?

        (一)先簡單介紹一下這兩種伺服器。

       WebLogic是美國bea公司出品的一個application server,確切的說是一個基於Javaee架構的中介軟體,純java開發的,最新版本WebLogic Server 9.0是迄今為止釋出的最卓越的BEA應用伺服器。BEA WebLogic是用於開發、整合、部署和管理大型分散式Web應用、網路應用和資料庫應用的Java應用伺服器。將Java的動態功能和Java Enterprise標準的安全性引入大型網路應用的開發、整合、部署和管理之中。完全遵循J2EE 1.4規範。

       Tomcat伺服器是一個免費的開源的Web 應用伺服器,是Apache 軟體基金會的Jakarta 專案中的一個核心專案,由Apache、Sun 和其他一些公司及個人共同開發而成。因為Tomcat 技術先進、效能穩定,執行時佔用的系統資源小,擴充套件性好,支援負載平衡與郵件服務等開發應用系統常用的功能;而且很重要的是她免費,因而深受Java 愛好者的喜愛並得到了部分軟體開發商的認可,成為目前比較流行的Web 應用伺服器。而且由於開源,它還在不斷的改進和完善中,任何一個感興趣的程式設計師都可以更改它或在其中加入新的功能。

       (二)相同點:

         WebLogic和Tomcat都是基於java的基礎架構來滿足實時處理需求,不同的版本與jdk版本相容和有所不同;因為都是要和前臺互動,所以他們都基於sun公司的servlet來實現的。

       (三)不同點:

       功能性

       WebLogic更加強大。weblogic是j2ee的應用伺服器(application server),包括ejb ,jsp,servlet,jms等等,全能型的。是商業軟體裡排名第一的容器(JSP、servlet、EJB等),並提供其他如JAVA編輯等工具,是一個綜合的開發及執行環境。

       WebLogic應該是J2EE Container(Web Container + EJB Container + XXX規範)!

       Tomcat只能算Web Container,是官方指定的JSP&Servlet容器。只實現了JSP/Servlet的相關規範,不支援EJB(硬傷啊)!

不過Tomcat配合jboss和apache可以實現j2ee應用伺服器功能

        一般來說考慮stucts等架構tomcat就可以了,但如果考慮EJB的話,WebLogic是比較好的選擇。

        擴充套件性:

       用WebLogic執行標準的java可能並不是最好的方式,WebLogic裡支援他自己的一些東西,這些東西雖然是在純java基礎上開發的,但其他工具裡都沒有。WebLogic Server憑藉其出色的群集技術,擁有處理關鍵Web應用系統問題所需的效能、可擴充套件性和高可用性。

        WebLogic Server既實現了網頁群集,也實現了EJB元件 群集,而且不需要任何專門的硬體或作業系統支援。網頁群集可以實現透明的複製、負載平衡以及表示內容容錯 。

無論是網頁群集,還是元件群集,對於電子商務解決方案所要求的可擴充套件性和可用性都是至關重要的。共享的客戶機/伺服器和資料庫連線以及資料快取和EJB都增強了效能表現。這是其它Web應用系統所不具備的

所以,在擴充套件性方面WebLogic是遠遠超越了Tomcat。

       費用上:

        Tomcat開源免費。

        WebLogic不開源不免費。

        總之,在功能強大和擴充套件性和可用性等方面WLS比Tomcat好很多,但這也不能說明WLS適合每一方面,從Tomcat的使用流行度便可以看出,Tomcat雖功能有限,但也很受歡迎。其實關鍵看你要做什麼。

        Tomcat 是免費開源的jsp,servlet引擎,入門級別的Web伺服器,剛入門的IT人使用Tomcat簡單易上手。而且它一個輕量級應用伺服器,最重要的是它免費,所以在中小型系統和併發訪問使用者不是很多的場合下被普遍使用,是開發和除錯JSP 程式的首選。Tomcat比較輕巧,消耗資源較少。當然,專案大的時候,WLS肯定再合適不過,而且Tomcat也無法滿足太多需求,但是,WLS的費用也是不可小覷的。

        總之,關鍵看你做什麼,權衡利弊做選擇。

        此外,還有其他J2EE Application Server,例如: IBM的websphere、Sun的Glassfish、resin等。Apache全球應用最廣泛的http伺服器,免費。同樣開源免費的JBoss, 國內廠商生產的還有像東方通的Tongweb、金蝶Apusic應用伺服器等。都是應用比較廣泛的。

相關推薦

WebLogicTomcat

       J2ee開發主要是瀏覽器和伺服器進行互動的一種結構.邏輯都是在後臺進行處理,然後再把結果傳輸回給瀏覽器。可以看出伺服器在這種架構是非常重要的。        這幾天接觸到兩種Java的web伺服器,做專案用的Tomcat,看視訊看的是WebLogic Server(WLS),都是web伺服

weblogictomcat的區別

weblogic是用於開發、整合、部署和管理大型分散式web應用、網路應用和資料庫應用的java應用伺服器,將java的動態功能和java enterprise標準的安全性引入大型網路應用的開發整合部

mmap()ioremap()的用法與區別

12只 設備 gpa 我們 之間 mmap ioremap shared set 一、mmap()mmap()函數是用來將設備內存線性地址映射到用戶地址空間。(1)首先映射基地址,再通過偏移地址尋址;(2)unsigned char *map_cru_base=(unsig

NaNundefined--------與君共勉

單詞 類型 賦值 使用 數值 數字類型 fin 類型轉換 bsp NaN不是一個數字,但卻是數字類型; undefined是聲明未賦值; typeof不能顯示NaN,因為NaN雖然不是number但是他的數據類型卻是number。 提示: 使用 isNaN() 來判斷一

HiveHBase區別

但是 hql 應該 hdf 目前 http 返回 最重要的 hadoop基礎 出處: http://www.cnblogs.com/zlslch/p/5659641.html . 兩者分別是什麽?   Apache Hive是一個構建在Hadoop基礎設施之上的數

FineBI學習系列之FineBITableau對比異同(從產品理念功能對比)(圖文詳解)

研究 簡單 nio 比較 管理 post 企業it 獨立 圖片   不多說,直接上 幹貨!   FineBI和Tableau是比較好的自助式商業智能軟件,功能都很強大,是企業數據可視化不可或缺的利器,但兩款產品還是有非常大的區別的

RHEL7RHEL6的主要變化

linux淺談RHEL7和RHEL6的主要變化RHEL7RHEL6文件系統XFSEXT4內核版本3.10.x-x系列2.6.x-x系列內核名稱MaipoSantiago發布時間2014-06-09(3.10.0-123)2010-11-09(2.6.32-71)進程名稱systemdinit運行級別runle

3A進程

linux3A安全認證服務: AAA 認證(Authentication)含義:1驗證(Authentication)用戶的身份與可使用的網絡服務;2授權(Authorization):依據認證結果開放網絡服務給用戶;3計帳(Accounting):記錄用戶對各種網絡服務的用量,並提供給計費系統。整個系統在網

Log4jLog4j2的區別

淺談Log4j和Log4j2的區別1、配置文件類型 log4j是通過一個.properties的文件作為主配置文件的,而現在的log4j 2則已經棄用了這種方式,采用的是.xml,.json或者.jsn這種方式來做,可能這也是技術發展的一個必然性,畢竟properties文件的可閱讀性真的是有點差。 2、核心

Jquery常用框架Vue變化

v-on items method NPU his new jquer ID 常用 區別 數據與視圖的分離 數據驅動視圖 Vue 簡單示例: <div id="example-1"> <input v-model="tit

thisstatic

當前 多個 技術 代碼 三種 ati 成員 聲明 語法 一.this關鍵字 一個比較經典的使用: 輸出的結果是:12 1.this關鍵字只能在方法的內部使用,表示對“調用方法的那個對象”的引用,this的用法和其他對象引用並無不同。註意一點:在方法的內部調用同一個類的其他

memcacheredis區別

寫到 應對 狀態 rdb lis lte 而在 mage 內存池 memcache和redis區別 memcach簡介 Memcache時一個內存對象緩存系統,用於加速動態web應用程序,減輕數據庫負載。它可以應對任意多個連接,使用非阻塞的網絡I/O,工作機制:在內存中開辟

查詢演算法 演算法資料結構: 七 二叉查詢樹 演算法資料結構: 十一 雜湊表

閱讀目錄 1. 順序查詢 2. 二分查詢 3. 插值查詢 4. 斐波那契查詢 5. 樹表查詢 6. 分塊查詢 7. 雜湊查詢   查詢是在大量的資訊中尋找一個特定的資訊元素,在計算機應用中,查詢是常用的基本運算,例如編譯程式中符號表的查詢。本文

演算法資料結構: 五 優先順序佇列與堆排序

在很多應用中,我們通常需要按照優先順序情況對待處理物件進行處理,比如首先處理優先順序最高的物件,然後處理次高的物件。最簡單的一個例子就是,在手機上玩遊戲的時候,如果有來電,那麼系統應該優先處理打進來的電話。 在這種情況下,我們的資料結構應該提供兩個最基本的操作,一個是返回最高優先

Python2Python3區別

1.首先編碼;   Python2 :   (1).預設編碼是ASCII碼型別,如果發現其他編碼非ASCII編碼是通常會報錯 UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in ran

static final

Static Static系統快取作用,只會初始化一次,無須多次new。 Static不能修飾區域性變數。 靜態變數被全域性物件共有,當且僅當類被初次載入時初始化,在記憶體中只有一個副本。 靜態方法無法呼叫非靜態的成員和方法。 Static 程式碼塊用於優化效能,把只需要初始化一次的程式碼放入sta

交換機路由器的區別

 網路在我們的生活學習中已經成為了必須的東西,也許 ”世界上最遙遠的距離就是沒網“,而路由器和交換機這兩種聯網的中繼裝置最常見。如下圖左為交換機,右為路由器。那麼到底路由器和交換機有哪些區別呢?他們在網路的組建方面各自扮演什麼樣的角色?下面我們一起走進他們的世界,探尋彼此的區

hashcode()equals()方法

Java Object 類中存在hashcode()方法以及equals方法 public native int hashCode(); public boolean equals(Object obj) {     return (this == obj); }

演算法資料結構: 八 平衡查詢樹之2-3樹

前面介紹了二叉查詢樹(Binary Search Tree),他對於大多數情況下的查詢和插入在效率上來說是沒有問題的,但是他在最差的情況下效率比較低。本文及後面文章介紹的平衡查詢樹的資料結構能夠保證在最差的情況下也能達到lgN的效率,要實現這一目標我們需要保證樹在插入完成之後