J2EE開發技術研究

隨着進入信息社會,計算機已經成爲人們生活中必不可少的工具,基於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實例,以便它可以被垃圾回收。