热门问题
时间线
聊天
视角

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