當前位置:才華齋>IT認證>J2EE>

J2EE開發技術研究

J2EE 閱讀(1.4W)

隨著進入資訊社會,計算機已經成為人們生活中必不可少的工具,基於B/S模式的應用軟體的使用也越來越流行。下面是小編整理的關於J2EE開發技術研究,希望大家認真閱讀!

J2EE開發技術研究

J2EE是java2平臺的企業版,是一個基於元件-容器模型的系統平臺,其核心概念是容器。容器底層是J2EE伺服器,它為容器提供J2EE中定義的各種服務和API。一個J2EE伺服器可以支援一種或多種容器。服務是元件和容器之間,以及容器和J2EE伺服器之間的介面,在實現層面上它就是一系列API和協議,J2EE平臺定義了一組標準的服務。J2EE的技術核心是EJB的模型、角色及與其他技術的關係。同時,Java語言的跨平臺特性,使得其在企業的Web應用上得到廣泛的部署。J2EE平臺已經成為使用最廣泛的WEB架構,其最終目的是成為使企業開發者能夠大幅縮短投放市場時間的架構。

本文的研究是基於作者通過在專案開發中,對所運用到的Servlet技術的學習以及自己總結所得的。

servlet容器是一個Web Server或application server的一部分,它提供網路服務(請求和響應基於網路服務來發送),解碼基於MIME的請求,格式化基於MIME的響應。一個servlet容器也通過servlet的生命週期來包含並管理servlet。

所有的servlet容器必須支援 HTTP 作為請求/響應協議,但是也可以支援其它的基於請求/響應的協議,比如HTTPS。

Servlets相對於 server extension機制有如下優點:

(1)它們比CGI指令碼要快的多,因為它們使用了一個不同的處理模型。

(2)它們使用一個標準的.許多web servers都支援的API。

(3)它們具有Java程式語言所有的優點,包括開發簡單以及平臺的獨立。

(4)它們可以利用Java平臺上的大量的API。

一個servlet通過一個明確定義的生命週期來管理,該生命週期定義了servlet是如何被載入並例項化的,如何初始化的,如何處理來自客戶端的請求,以及如何停止服務。該生命週期通過API中的let介面的init, service, and destroy方法來描述,所以的servlet必須直接地或者間接地實現該介面,間接實現時可以藉助GenericServlet或HttpServlet抽象類來實現。

載入和例項化,servlet容器負責載入並例項化servlets。載入和例項化的動作可以在容器啟動的時候執行,或者延遲到容器認為需要用該servlet來服務一個請求的時候再執行。當servlet引擎啟動後,該servlet容器必須定位所需要的servlet類。在Servlet類被載入之後,該容器例項化之,以供使用。

初始化,在servlet物件被例項化之後,容器必須首先初始化該servlet 才能讓它處理來自客戶端的請求。提供初始化動作,以便一個serlvet能夠讀取持久化配置資料,初始化珍貴(costly)資源,以及執行其它一次性(one-time)動作。容器通過呼叫Servlet介面的init方法來初始化該servlet,初始化時會使用一個實現了ServletConfig介面的唯一的物件。

處理客戶端請求,在一個servlet被正確初始化之後,該servlet容器就可以用它來處理客戶端請求了。客戶端請求由ServletRequest型別的物件來表示。該servlet 通過呼叫一個ServletResponse型別的物件的方法來對請求作出響應。這些物件被作為引數傳遞給 Servlet介面的 service方法。如果是一個HTTP請求,容器提供的物件是HttpServletRequest and HttpServletResponse型別的。

銷燬,當servlet容器判定一個servlet應該被從服務中刪除時,它呼叫Servlet介面的destroy方法,以便讓servlet釋放其佔有的所有資源並儲存任意持久狀態。一旦一個servlet例項的destroy方法被呼叫,容器不再把其它請求轉給該servlet的例項了。如果容器需要再次使用該servlet,那麼它必須使用這個servlet的新的例項上。在destroy方法呼叫完畢之後,servlet容器必須釋放該servlet例項,以便它可以被垃圾回收。