這篇文章給大家分享的是有關(guān)Java Servlet基本方法有哪些的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
在瀘縣等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計、網(wǎng)站制作、外貿(mào)營銷網(wǎng)站建設(shè) 網(wǎng)站設(shè)計制作按需定制網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計,網(wǎng)絡(luò)營銷推廣,外貿(mào)網(wǎng)站建設(shè),瀘縣網(wǎng)站建設(shè)費用合理。Java Servlet 開發(fā)工具(JSDK)提供了多個軟件包,在編寫 Servlet 時需要用到這些軟件包。其中包括兩個用于所有 Servlet
的基本軟件包:javax.servlet 和 javax.servlet.http。
HTTP Servlet 使用一個 HTML
表格來發(fā)送和接收數(shù)據(jù)。要創(chuàng)建一個 HTTP Servlet,請擴展 HttpServlet 類, 該類是用專門的方法來處理 HTML 表格的
GenericServlet 的一個子類。 HTML 表單是由
標記定義的。表單中典型地包含輸入字段(如文本輸入字段、復選框、單選按鈕和選擇列表)和用于提交數(shù)據(jù)的按鈕。當提交信息時,它們還指定服務(wù)器應執(zhí)行哪一個Servlet(或其它的程序)。
HttpServlet 類包含 init()、destroy()、service() 等方法。其中 init() 和 destroy() 方法是繼承的。
(1) init() 方法
在 Servlet 的生命期中,僅執(zhí)行一次 init() 方法。它是在服務(wù)器裝入 Servlet 時執(zhí)行的。
可以配置服務(wù)器,以在啟動服務(wù)器或客戶機首次訪問 Servlet 時裝入 Servlet。 無論有多少客戶機訪問 Servlet,都不會重復執(zhí)行 init() 。
缺省的 init() 方法通常是符合要求的,但也可以用定制 init() 方法來覆蓋它,典型的是管理服務(wù)器端資源。 例如,可能編寫一個定制 init()
來只用于一次裝入 GIF 圖像,改進 Servlet 返回 GIF 圖像和含有多個客戶機請求的性能。另一個示例是初始化數(shù)據(jù)庫連接。缺省的 init()
方法設(shè)置了 Servlet 的初始化參數(shù),并用它的 ServletConfig 對象參數(shù)來啟動配置, 因此所有覆蓋 init() 方法的 Servlet 應調(diào)用
super.init() 以確保仍然執(zhí)行這些任務(wù)。在調(diào)用 service() 方法之前,應確保已完成了 init() 方法。
(2)
service() 方法
service() 方法是 Servlet 的核心。每當一個客戶請求一個HttpServlet
對象,該對象的service()
方法就要被調(diào)用,而且傳遞給這個方法一個"請求"(ServletRequest)對象和一個"響應"(ServletResponse)對象作為參數(shù)。 在
HttpServlet 中已存在 service() 方法。缺省的服務(wù)功能是調(diào)用與 HTTP 請求的方法相應的 do 功能。例如, 如果 HTTP 請求方法為
GET,則缺省情況下就調(diào)用 doGet() 。Servlet 應該為 Servlet 支持的 HTTP 方法覆蓋 do 功能。因為
HttpServlet.service() 方法會檢查請求方法是否調(diào)用了適當?shù)奶幚矸椒?,不必要覆蓋 service() 方法。只需覆蓋相應的 do
方法就可以了。
= 當一個客戶通過HTML 表單發(fā)出一個HTTP
POST請求時,doPost()方法被調(diào)用。與POST請求相關(guān)的參數(shù)作為一個單獨的HTTP
請求從瀏覽器發(fā)送到服務(wù)器。當需要修改服務(wù)器端的數(shù)據(jù)時,應該使用doPost()方法。
= 當一個客戶通過HTML 表單發(fā)出一個HTTP
GET請求或直接請求一個URL時,doGet()方法被調(diào)用。與GET請求相關(guān)的參數(shù)添加到URL的后面,并與這個請求一起發(fā)送。當不會修改服務(wù)器端的數(shù)據(jù)時,應該使用doGet()方法。
Servlet的響應可以是下列幾種類型:
一個輸出流,瀏覽器根據(jù)它的內(nèi)容類型(如text/HTML)進行解釋。
一個HTTP錯誤響應,
重定向到另一個URL、servlet、JSP。
(3) destroy() 方法
destroy()
方法僅執(zhí)行一次,即在服務(wù)器停止且卸裝Servlet 時執(zhí)行該方法。典型的,將 Servlet 作為服務(wù)器進程的一部分來關(guān)閉。缺省的 destroy()
方法通常是符合要求的,但也可以覆蓋它,典型的是管理服務(wù)器端資源。例如,如果 Servlet 在運行時會累計統(tǒng)計數(shù)據(jù),則可以編寫一個 destroy()
方法,該方法用于在未裝入 Servlet 時將統(tǒng)計數(shù)字保存在文件中。另一個示例是關(guān)閉數(shù)據(jù)庫連接。
當服務(wù)器卸裝 Servlet 時,將在所有
service() 方法調(diào)用完成后,或在指定的時間間隔過后調(diào)用 destroy() 方法。一個Servlet 在運行service()
方法時可能會產(chǎn)生其它的線程,因此請確認在調(diào)用 destroy() 方法時,這些線程已終止或完成。
(4)
GetServletConfig()方法
GetServletConfig()方法返回一個 ServletConfig
對象,該對象用來返回初始化參數(shù)和ServletContext。ServletContext 接口提供有關(guān)servlet 的環(huán)境信息。
(5)
GetServletInfo()方法
GetServletInfo()方法是一個可選的方法,它提供有關(guān)servlet 的信息,如作者、版本、版權(quán)。
當服務(wù)器調(diào)用sevlet 的Service()、doGet()和doPost()這三個方法時,均需要
"請求"和"響應"對象作為參數(shù)。"請求"對象提供有關(guān)請求的信息,而"響應"對象提供了一個將響應信息返回給瀏覽器的一個通信途徑。javax.servlet
軟件包中的相關(guān)類為ServletResponse和ServletRequest,而javax.servlet.http
軟件包中的相關(guān)類為HttpServletRequest 和 HttpServletResponse。
Servlet
通過這些對象與服務(wù)器通信并最終與客戶機通信。Servlet 能通過調(diào)用"請求"對象的方法獲知客戶機環(huán)境,服務(wù)器環(huán)境的信息和所有由客戶機提供的信息。Servlet
可以調(diào)用"響應"對象的方法發(fā)送響應,該響應是準備發(fā)回客戶機的。
感謝各位的閱讀!關(guān)于“Java Servlet基本方法有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
網(wǎng)站欄目:JavaServlet基本方法有哪些-創(chuàng)新互聯(lián)
標題路徑:http://jinyejixie.com/article14/dhoege.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、定制開發(fā)、響應式網(wǎng)站、移動網(wǎng)站建設(shè)、微信公眾號、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容