電子商務需要滿足具有交互性、動態性和快捷性的要求,Web頁面應該具有動態性,能夠為客戶提供有價值的新的信息,服務器端的java程序是實現這些性能的要害,而Java Servlets就是創建這類站點的有效辦法。Java Servlets是基于Java技術的Web組件,用來擴展以請求/響應為模型的服務器的能力。它可以響應任何類型的請求,但我們通常使用HTTP Servlets處理HTTP請求(request)和提供HTTP響應(response)。
本專題主要介紹如下內容:
Java Servlet概述
Servlet是使用Java Servlet應用程序設計接口及相關類和方法的Java程序。它在Web服務器上或應用服務器上運行并擴展了該服務器的能力。Java Servlet對于Web服務器就似乎Java Applet對于Web瀏覽器。Applet裝入Web瀏覽器并在Web瀏覽器內執行,而Servlet則是裝入Web服務器并在Web服務器內執行。Java Servlet API 定義了Servlet和服務器之間的一個標準接口,這使得Servlet具有跨服務器平臺的特性。
編寫HTTP Servlet程序
在編寫Servlet 時需要用到兩個用于所有 Servlet 的基本軟件包:javax.servlet 和 javax.servlet.http。下面主要介紹javax.servlet.http提供的HTTP Servlet應用編程接口。
實例:一個簡單的Servlet程序
HTTP POST/GET請求
對于HTTP Servlets,正確提供響應的過程是首先填寫響應(response)的頭信息,然后從響應(response)中得到輸出流,最后向輸出流中寫入內容信息。響應(response)頭信息必須最先設置。下面將描述如何從請求(request)中獲得信息和產生HTTP響應(response)。
實例:Servlet處理POST請求
會話跟蹤
會話跟蹤是一種靈活、輕便的機制,它使在頁面上的狀態編程變為可能。HTTP是一種無狀態協議,每當用戶發出請求時,服務器就做出響應,客戶端與服務器之間的聯系是離散的、非連續的。當用戶在同一網站的多個頁面之間轉換時,根本無法知道是否是同一個客戶,會話跟蹤就可以解決這個問題。當一個客戶在多個頁面間切換時,服務器會保存該用戶的信息。
Cookie的應用
Cookie是一小塊可以嵌入HTTP請求和響應的數據。它在服務器上產生,并作為響應頭域的一部分返回給客戶。瀏覽器在收到有Cookie的響應后,會把Cookie的內容以"要害字/值"的形式寫入到一個專為存放Cookie的文本文件中。瀏覽器會把Cookie的信息與請求發送給服務器,這樣服務器就可以再次讀取Cookie中存放的數據了。Cookie可以對有效期進行設置,瀏覽器不會把過期的Cookie發送給服務器。
Filter Servlet
在本節,我們將介紹Servlet常用的使用方法之一:作為過濾器。在Servlet作為過濾器使用時,它可以對客戶的請求進行過濾處理,當它處理完成后,它會交給下一個過濾器處理,就這樣,客戶的請求在過濾鏈里一個個處理,直到請求發送到目標。
Listener Servlet
Listener是Servlet的監聽器,它可以監聽客戶端的請求、服務端的操作等。通過監聽器,可以自動激發一些操作,比如監聽在線的用戶的數量。當增加一個Httpsession時,就激發sessionCreated(HttpSessionEvent se)方法,這樣就可以給在線人數加1。常用的監聽接口有以下幾個:
小 結
Java Servlets是基于Java技術的Web組件,用來擴展以請求/響應為模型的服務器的能力,以滿足當前電子商務需要具有交互性、動態性和快捷性的要求。
本章從Java Servlet的概念入手,介紹了其功能、生命周期、結構,以及與其他網絡語言的區別。然后通過示例介紹了POST處理、GET處理、會話跟蹤,以及Cookie的應用Filter Servler和Listener Servlet的應用。
新聞熱點
疑難解答