Java web学习(一)Servlet简介
Servlet 是什么?
Java Servlet 是運行在 Web 服務器或應用服務器上的程序,它是作為來自 Web 瀏覽器或其他 HTTP 客戶端的請求和 HTTP 服務器上的數(shù)據(jù)庫或應用程序之間的中間層。
使用 Servlet,您可以收集來自網(wǎng)頁表單的用戶輸入,呈現(xiàn)來自數(shù)據(jù)庫或者其他源的記錄,還可以動態(tài)創(chuàng)建網(wǎng)頁。
Java Servlet 通常情況下與使用 CGI(Common Gateway Interface,公共網(wǎng)關接口)實現(xiàn)的程序可以達到異曲同工的效果。但是相比于 CGI,Servlet 有以下幾點優(yōu)勢:
- 性能明顯更好。
- Servlet 在 Web 服務器的地址空間內(nèi)執(zhí)行。這樣它就沒有必要再創(chuàng)建一個單獨的進程來處理每個客戶端請求。
- Servlet 是獨立于平臺的,因為它們是用 Java 編寫的。
- 服務器上的 Java 安全管理器執(zhí)行了一系列限制,以保護服務器計算機上的資源。因此,Servlet 是可信的。
- Java 類庫的全部功能對 Servlet 來說都是可用的。它可以通過 sockets 和 RMI 機制與 applets、數(shù)據(jù)庫或其他軟件進行交互。
Servlet 任務
Servlet 執(zhí)行以下主要任務:
- 讀取客戶端(瀏覽器)發(fā)送的顯式的數(shù)據(jù)。這包括網(wǎng)頁上的 HTML 表單,或者也可以是來自 applet 或自定義的 HTTP 客戶端程序的表單。
- 讀取客戶端(瀏覽器)發(fā)送的隱式的 HTTP 請求數(shù)據(jù)。這包括 cookies、媒體類型和瀏覽器能理解的壓縮格式等等。
- 處理數(shù)據(jù)并生成結(jié)果。這個過程可能需要訪問數(shù)據(jù)庫,執(zhí)行 RMI 或 CORBA 調(diào)用,調(diào)用 Web 服務,或者直接計算得出對應的響應。
- 發(fā)送顯式的數(shù)據(jù)(即文檔)到客戶端(瀏覽器)。該文檔的格式可以是多種多樣的,包括文本文件(HTML 或 XML)、二進制文件(GIF 圖像)、Excel 等。
- 發(fā)送隱式的 HTTP 響應到客戶端(瀏覽器)。這包括告訴瀏覽器或其他客戶端被返回的文檔類型(例如 HTML),設置 cookies 和緩存參數(shù),以及其他類似的任務。
Servlet?環(huán)境設置
就像任何其他的 Java 程序,您需要通過使用 Java 編譯器?javac?編譯 Servlet,在編譯 Servlet 應用程序后,將它部署在配置的環(huán)境中以便測試和運行。所以首先需要進行Java開發(fā)環(huán)境的配置,具體配置可以參考https://www.runoob.com/java/java-environment-setup.html。
?
設置 Web 服務器:Tomcat
Tomcat是常見的免費的web服務器.?
Tomcat 這個名字的來歷,Tomcat是一種野外的貓科動物,不依賴人類,獨立生活。 Tomcat的作者,取這個名字的初衷是希望,這一款服務器可以自力更生,自給自足,像Tomcat這樣一種野生動物一般,不依賴其他插件,而可以獨立達到提供web 服務的效果。
Apache Tomcat 是一款 Java Servlet 和 JavaServer Pages 技術(shù)的開源軟件實現(xiàn),可以作為測試 Servlet 的獨立服務器,而且可以集成到 Apache Web 服務器。
下面是在電腦上安裝 Tomcat 的步驟:
- 從?http://tomcat.apache.org/?上下載最新版本的 Tomcat。
- 一旦您下載了 Tomcat,解壓縮到一個方便的位置。例如,如果您使用的是 Windows,則解壓縮到 C:\apache-tomcat-5.5.29 中,如果您使用的是 Linux/Unix,則解壓縮到 /usr/local/apache-tomcat-5.5.29 中,并創(chuàng)建 CATALINA_HOME 環(huán)境變量指向這些位置。
具體的部署操作,可以看我的另一篇隨筆https://www.cnblogs.com/zhangrj9/p/11363660.html。
Servlet?生命周期
Servlet 生命周期可被定義為從創(chuàng)建直到毀滅的整個過程。以下是 Servlet 遵循的過程:
- Servlet 通過調(diào)用?init ()?方法進行初始化。
- Servlet 調(diào)用?service()?方法來處理客戶端的請求。
- Servlet 通過調(diào)用?destroy()?方法終止(結(jié)束)。
- 最后,Servlet 是由 JVM 的垃圾回收器進行垃圾回收的。
?
轉(zhuǎn)載于:https://www.cnblogs.com/zhangrj9/p/11363624.html
總結(jié)
以上是生活随笔為你收集整理的Java web学习(一)Servlet简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 终于有人把tomcat讲清楚了。
- 下一篇: 搞定ReentrantReadWrite