热门问题
时间线
聊天
视角

Java Servlet

Java程式語言編寫的API 来自维基百科,自由的百科全书

Remove ads

Servlet(Server Applet),全稱Java Servlet。是用Java編寫的伺服器程式。其主要功能在於互動式地瀏覽和修改資料,生成動態Web內容。狹義的Servlet是指Java語言實現的一個介面,廣義的Servlet是指任何實現了這個Servlet介面的類別,一般情況下,人們將Servlet理解為後者。

Servlet執行於支援Java的應用伺服器中。從實現上講,Servlet可以回應任何類別型的請求,但絕大多數情況下Servlet只用來擴充基於HTTP協定Web伺服器

最早支援Servlet標準的是JavaSoft的Java Web Server。此後,一些其它的基於Java的Web伺服器開始支援標準的Servlet。

歷史

更多資訊 Servlet API 版本, 發布日期 ...
Remove ads

工作模式

  • 客戶端傳送請求至伺服器
  • 伺服器啟動並呼叫Servlet,Servlet根據客戶端請求生成回應內容並將其傳給伺服器
  • 伺服器將回應返回客戶端
  • 其他

通用Servlet

一般來說,通用Servlet由javax.servlet.GenericServlet實作Servlet介面。程式設計人員可以通過使用或繼承這個類別來實現通用Servlet應用。

HttpServlet

javax.servlet.http.HttpServlet實現了專門用於回應HTTP請求的Servlet,提供了回應對應HTTP標準請求的doGet()、doPost()等方法。

生命周期

當servlet被部署在應用伺服器中(應用伺服器中用於管理Java組件的部分被抽象成為容器)以後,由容器控制servlet的生命周期。除非特殊指定,否則在容器啟動的時候,servlet是不會被載入的,servlet只會在第一次請求的時候被載入和實例化。servlet一旦被載入,一般不會從容器中刪除,直至應用伺服器關閉或重新啟動。但當容器做記憶體回收動作時,servlet有可能被刪除。也正是因為這個原因,第一次訪問servlet所用的時間要大大多於以後訪問所用的時間。

servlet在伺服器的執行生命周期為,在第一次請求(或其實體被主記憶體垃圾回收後再被訪問)時被載入並執行一次初始化方法,跟著執行正式執行方法,之後會被常駐並每次被請求時直接執行正式執行方法,直到伺服器關閉或被清理時執行一次銷毀方法後實體銷毀。

與JSP的關係

Java伺服器頁面(JSP)是HttpServlet的擴充。由於HttpServlet大多是用來回應HTTP請求,並返回Web頁面(例如HTMLXML),所以不可避免地,在編寫servlet時會涉及大量的HTML內容,這給servlet的書寫效率和可讀性帶來很大障礙,JSP便是在這個基礎上產生的。其功能是使用HTML的書寫格式,在適當的地方加入Java代碼片段,將程式設計師從複雜的HTML中解放出來,更專注於servlet本身的內容。

JSP在首次被訪問的時候被應用伺服器轉換為servlet,在以後的執行中,容器直接呼叫這個servlet,而不再訪問JSP頁面。JSP的實質仍然是servlet。

參見

參考文獻

Loading content...

外部連結

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads