1.1 Web應用概述
Web應用是一種通過互聯網訪問的應用程序,使用網頁語言編寫,通過瀏覽器運行的動靜態網站。在實際應用中大多數網站采用動靜結合的原則,網站中內容需要頻繁更新,可采用動態網頁技術,內容不需要更新,采用靜態網頁進行顯示。
動態網站:由大量的動態頁面。后臺處理程序以及用于存儲內容的數據庫組成,具有交互性,自動更新,多樣性的特點。動態網站技術有CGI,ASP,ASP.NET,PH,Servlet和JSP等幾個重要的動態網站技術。
web應用架構
C/S(Client/Server)客戶端/服務器:采用功能分布的原則,客戶端負責數據處理,數據表示以及用戶接口等功能;服務器端負責數據管理等核心功能,兩端共同配合來完成復雜的業務應用。提高響應速度。
B/S(Borwser/Server)瀏覽器/服務器:是基于特定的HTTP通信協議的C/S結構,對S/C架構的一種變化或者該進的結構,web應用架構即是指這種架構。
web應用運行過程
基于B/S結構的web應用,通常有客戶端瀏覽器,Web服務器和數據庫服務器構成:
Web應用程序“請求——處理——響應”的基本運行流程
Java web應用的優勢
Java web應用是用Java技術來解決相關的web互聯網應用領域的技術總和 ,web應用包括web服務器端應用和web客戶端應用兩部分,Java在客戶端的應用有Java Applet,在服務器端有Serve了他,JSP和第三方框架等,都遵循統一的Java EE技術標準,
常用的web服務器有:IIS,Apache,Tomcat,JBoss,Tomcat。
Servlet基礎
Servlet是基于Java語言的Web服務器段編程技術,是運行在Servlet容器中的Java類,它能夠處理Web客戶的http請求,并產出http響應。Servlet對請求的處理和響應過程分為:1,接受HTTP請求。2,取得請求信息,包括請求接頭盒請求參數數據。3,調用其他Java類方法,完成具體的業務功能。4,實現到其他Web組件的跳轉(包括重新定向和請求轉發)。5,生出HTTP響應。servlet具有高效,方便,功能強大,可移植性好。
Servlet體系結構
Servlet是使用Servlet API及相關類和方法的Java程序,有兩個軟件包。
Javax.servlet包:包含支持所有協議的通用的Web組件和類,主要有javax.servlet.Servlet接口,javax.servlet.GenericServlet類,javax.servlet.ServletRequest接口,javax.servlet.ServletResponse接口。
javax.servlet.http包:包含支持http協議的接口和類,主要有javax.servlet.http.HttpServlet類,javax.servlet.http.HttpServletRequest接口,javax.servlet.http.HttpServletResponse接口。
Servlet接口:
javax.servlet.Servlet的定義如下:public interface Servlet,所有的Servlet都必須直接或間接實現javax.servlet.Servlet接口。Servlet接口規定了必須由Servlet類實現并且由Servlet引擎識別和管理的方法集。Servlet接口的基本目標是提供與Servlet生命周期相關的方法,如init(),service().
| 方法 | 方法描述 |
|---|---|
| init(ServletConfig config) | Servlet的初始方法。在Servlet實例化后,容器調用該方法進行Servlet的初始化;Servlet API規定對任何Servlet實例init()方法只能被調用一次,如果此方法沒有正常結束,就會拋出一個ServletException異常,且不再執行,隨后在次調用會導致容器重新加載并再次運行init()方法。 |
| service(ServletRequset req,ServleResponse resp) | Servlet的服務方法。當用戶對Servlet發出請求時容器會調用該方法處理用戶的請求;ServletRequest參數提供請求數據的方法,ServletResponse參數提供Servlet的構造響應的方法 |
| destroy() | Servlet的銷毀方法。容器在終止Servlet服務前掉用此方法,容器調用此方法前必須給Service()線程足夠時間來結束執行,因此接口規定當service()正在執行時,destroy()不被執行 |
| getServletconfig() | 此方法可以讓Servlet在任何時候獲得ServletConfig對象 |
| getServletInfo() | 此方法返回一個String對象,該對象包含Servlet的信息,例如開發者,描述信息等 |
GenericServlet類
javax.servlet.GenericServlet的定義:public abstrace class GenericServlet extends Object inlpements Servlet,ServletConfig,Serializable
Generic是一個抽象類,是Servlet接口的直接實現,除了service()方法外,提供有關其他的Servlet生命周期的方法,
| 方法 | 方法描述 |
|---|---|
| init(ServletConfig config) | 該方法來源于Servlet接口,若重寫該方法,必須調用super.init(config),這樣GenericServlet類的其他方法才能正常工作 |
| init(ServletConfig config) | 該方法重載Servlet接口的上一個init()方法而無需調用super.init(config),而ServletConfig對象依然可以通過調用getServletConfig()方法獲得 |
| service(ServletRequst req,ServletRequest req,SrevletResponse resp) | 這是一個抽象方法,當為執行網絡請求繼承GenericServlet類時必須實現 |
| destroy() | 與Servlet接口中的destroy()方法相同 |
| getServletConfig() | 返回一個Servlet的ServletConfig對象 |
| getServletContext() | 返回一個Servlet的ServletContext對象,通過ServletConfig。getServletContext()獲得 |
| getServletInfo() | 該方法來源于Servlet接口,可以重寫該方法以產生有意義的信息 |
本站文章版權歸原作者及原出處所有 。內容為作者個人觀點, 并不代表本站贊同其觀點和對其真實性負責,本站只提供參考并不構成任何投資及應用建議。本站是一個個人學習交流的平臺,網站上部分文章為轉載,并不用于任何商業目的,我們已經盡可能的對作者和來源進行了通告,但是能力有限或疏忽,造成漏登,請及時聯系我們,我們將根據著作權人的要求,立即更正或者刪除有關內容。本站擁有對此聲明的最終解釋權。