首頁 Java java教程 servlet api是什麼意思

servlet api是什麼意思

May 16, 2019 pm 01:32 PM
java

Java Servlet 開發工具(JSDK)提供了多個軟體包,在編寫 Servlet 時需要使用這些軟體包。其中包括兩個用於所有 Servlet 的基本軟體包:javax.Servlet 和 javax.Servlet.http。可從sun公司的Web網站下載 Java Servlet 開發工具。 

推薦課程:Java教學

servlet api是什麼意思

以下主要介紹javax.Servlet.http提供的HTTP Servlet應用程式介面。
HTTP Servlet 使用一個 HTML 表格來傳送和接收資料。要建立一個 HTTP Servlet,請擴充 HttpServlet 類,該類別是用專門的方法來處理 HTML 表格的 GenericServlet 的子類。 HTML 表單是由和標記定義的。表單中典型地包含輸入欄位(如文字輸入欄位、複選框、單選按鈕和選擇清單)和用於提交資料的按鈕。當提交資訊時,它們還指定伺服器應執行哪一個Servlet(或其它的程式)。 HttpServlet 類別包含 init()、destroy()、service() 等方法。其中 init() 和 destroy() 方法是繼承的。

Servlet API的常用方法:

#

(1)Servlet API之init() 方法
在 Servlet 的生命期中,只執行一次 init() 方法。它是在伺服器裝入 Servlet 時執行的。可設定伺服器,以在啟動伺服器或用戶端首次存取 Servlet 時裝入 Servlet。無論有多少客戶機存取 Servlet,都不會重複執行 init() 。
預設的 init() 方法通常是符合要求的,但也可以用自訂 init() 方法來覆寫它,典型的是管理伺服器端資源。例如,可能編寫一個定制 init() 來只用於一次裝入 GIF 圖像,改進 Servlet 返回 GIF 圖像和含有多個客戶機請求的效能。另一個範例是初始化資料庫連接。預設的 init() 方法設定了 Servlet 的初始化參數,並用它的 ServletConfig 物件參數來啟動配置, 因此所有覆寫 init() 方法的 Servlet 應呼叫 super.init() 以確保仍然執行這些任務。在呼叫 service() 方法之前,應確保已完成了 init() 方法。
(2) Servlet API之service() 方法
service() 方法是 Servlet 的核心。每當一個客戶請求一個HttpServlet 對象,該對象的service() 方法就要被調用,而且傳遞給這個方法一個“請求”(ServletRequest)對象和一個“響應”(ServletResponse)對像作為參數。在 HttpServlet 中已存在 service() 方法。預設的服務功能是呼叫與 HTTP 請求的方法對應的 do 功能。例如, 如果 HTTP 請求方法為 GET,則預設會呼叫 doGet() 。 Servlet 應該為 Servlet 支援的 HTTP 方法覆寫 do 功能。因為 HttpServlet.service() 方法會檢查請求方法是否呼叫了適當的處理方法,不必要覆寫 service() 方法。只需覆蓋相應的 do 方法就可以了。
◆當一個客戶透過HTML 表單發出一個HTTP POST請求時,doPost()方法被呼叫。與POST請求相關的參數會作為一個單獨的HTTP 請求從瀏覽器傳送到伺服器。當需要修改伺服器端的資料時,應該使用doPost()方法。
◆當一個客戶透過HTML 表單發出一個HTTP GET請求或直接請求一個URL時,doGet()方法被呼叫。與GET請求相關的參數加到URL的後面,並與這個請求一起發送。當不會修改伺服器端的資料時,應該使用doGet()方法。
Servlet的回應可以是下列幾種類型:
◆一個輸出流,瀏覽器根據它的內容類型(如text/HTML)來解釋。
◆一個HTTP錯誤回應, 重新導向到另一個URL、Servlet、JSP。
(3)Servlet API之destroy() 方法
destroy() 方法只執行一次,即在伺服器停止且卸載Servlet 時執行方法。典型的,將 Servlet 作為伺服器進程的一部分來關閉。缺省的 destroy() 方法通常是符合要求的,但也可以覆寫它,典型的是管理伺服器端資源。例如,如果 Servlet 在運行時會累積統計數據,則可以編寫一個 destroy() 方法,該方法用於在未裝入 Servlet 時將統計數字保存在檔案中。另一個範例是關閉資料庫連線。
當伺服器卸載 Servlet 時,將在所有 service() 方法呼叫完成後,或在指定的時間間隔過後呼叫 destroy() 方法。一個Servlet 在執行service() 方法時可能會產生其它的線程,因此請確認在呼叫 destroy() 方法時,這些線程已終止或完成。
(4)Servlet API之GetServletConfig()方法
GetServletConfig()方法傳回一個 ServletConfig 對象,該物件用來傳回初始化參數和ServletContext。 ServletContext 介面提供有關Servlet 的環境資訊。
(5)Servlet API之GetServletInfo()方法
GetServletInfo()方法是一個可選的方法,它提供有關Servlet 的信息,如作者、版本、版權。
當伺服器呼叫sevlet 的Service()、doGet()和doPost()這三個方法時,都需要 「請求」和「回應」物件作為參數。 「請求」物件提供有關請求的訊息,而「回應」物件提供了一個將回應訊息傳回給瀏覽器的一個通訊途徑。 javax.Servlet 軟體包中的相關類別為ServletResponse和ServletRequest,而javax.Servlet.http 軟體包中的相關類別為HttpServletRequest 和 HttpServletResponse。 Servlet 透過這些物件與伺服器通訊並最終與客戶機通訊。 Servlet 能透過呼叫「請求」物件的方法獲知客戶機環境,伺服器環境的資訊和所有由客戶機提供的資訊。 Servlet 可以呼叫「回應」物件的方法傳送回應,該回應是準備發回客戶機的。

以上是servlet api是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Java 中的平方根 Java 中的平方根 Aug 30, 2024 pm 04:26 PM

Java 中的平方根指南。下面我們分別透過例子和程式碼實作來討論平方根在Java中的工作原理。

Java 中的完美數 Java 中的完美數 Aug 30, 2024 pm 04:28 PM

Java 完美數指南。這裡我們討論定義,如何在 Java 中檢查完美數?

Java 中的隨機數產生器 Java 中的隨機數產生器 Aug 30, 2024 pm 04:27 PM

Java 隨機數產生器指南。在這裡,我們透過範例討論 Java 中的函數,並透過範例討論兩個不同的生成器。

Java中的Weka Java中的Weka Aug 30, 2024 pm 04:28 PM

Java 版 Weka 指南。這裡我們透過範例討論簡介、如何使用 weka java、平台類型和優點。

Java 中的史密斯數 Java 中的史密斯數 Aug 30, 2024 pm 04:28 PM

Java 史密斯數指南。這裡我們討論定義,如何在Java中檢查史密斯號?帶有程式碼實現的範例。

Java Spring 面試題 Java Spring 面試題 Aug 30, 2024 pm 04:29 PM

在本文中,我們保留了最常被問到的 Java Spring 面試問題及其詳細答案。這樣你就可以順利通過面試。

突破或從Java 8流返回? 突破或從Java 8流返回? Feb 07, 2025 pm 12:09 PM

Java 8引入了Stream API,提供了一種強大且表達力豐富的處理數據集合的方式。然而,使用Stream時,一個常見問題是:如何從forEach操作中中斷或返回? 傳統循環允許提前中斷或返回,但Stream的forEach方法並不直接支持這種方式。本文將解釋原因,並探討在Stream處理系統中實現提前終止的替代方法。 延伸閱讀: Java Stream API改進 理解Stream forEach forEach方法是一個終端操作,它對Stream中的每個元素執行一個操作。它的設計意圖是處

Java 中的時間戳至今 Java 中的時間戳至今 Aug 30, 2024 pm 04:28 PM

Java 中的時間戳記到日期指南。這裡我們也結合範例討論了介紹以及如何在java中將時間戳記轉換為日期。

See all articles