VOOZH about

URL: https://read01.com/GmQ3D.html

⇱ 4:Servlet 技術 - 壹讀


Sunday, Apr 12, 2026

4:Servlet 技術

2015/12/01 來源:CSDN博客

什麼是Servlet?

Servlet是java語言類,用來拓展通過請求響應模式的服務端的能力。儘管servlets可以響應任何類型的響應,它們通常用於拓展基於Web的應用程式。在這種應用程式中,Java servlet技術定義了特定的HTTP servlet類。

Servlet通常運行在多線程伺服器上,因此應該了解到Servlet必須處理並發請求並且要小心翼翼地同步對共享資源的訪問。共享資源一般包括內存數據(比如實例或者類變量)和外部對象(比如文件、資料庫連接和網絡連接)。

當然我在這裡主要討論的是產生響應HTTP請求的Servlets。說到這裡就不得不說一個很重要類HttpServlet,上文也提到了,它提供了將要被子類化以創建適用於Web站點的HttpServlet的抽象類,其子類至少必須重寫一個方法,該方法通常是諸如doGet、doPost、doDelete等方法。

可能說了這麼多,還是對Servlet的作用不是很清楚,也許使用圖可以幫助大家更好的理解Servlet。如下圖所示

👁 Image
...

從上圖中我們可以看到,Servlet就是一個運行在Web伺服器中的小型Java程序,它通常通過Http協議接收和響應來自Web客戶端的請求。那麼如何應用Servlet技術呢?請接著看代碼實例。

怎麼用Servlet?

對於客戶端,我們使用html頁面來模擬,對於伺服器端我們編寫一個簡單的Servlet程序,用於處理網頁發送過來的請求。具體代碼如下;

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>登錄</title> <body> <form action="http://lochost:8080/test_servlet/loginServlet"> 帳號:<input type="text" name="username"><br> 密碼:<input type="text" name="password"><br> <input type="submit" value="登錄"> </form> </body> </head> </html>

LoginServlet,java代碼

import java.io.*; import java.servlet.*; import javax.servlet.http.*; public class LoginServlet extends HttpServlet{ public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ String username = request.getParameter("username"); String password = request.getParameter("password"); System.out.println("username" + username); System.out.println("password" + password); response.setContentType("text/html;charset=GB18030"); response.getWriter.println("登陸成功!!"); } }

web.xml代碼

那麼這個Servlet程序具體的執行流程是什麼樣的,下面的時序圖可以幫助大家更好的理解

👁 Image
...

從上圖可以看出,Servlet從客戶端接收用戶數據,在自己內部或者是調用外部程序進行處理,將處理結果發送回客戶端,從而完成了用戶和系統的交互,就這麼簡單。

小結一下:

伺服器上需要一些程序,常常是根據用戶輸入訪問資料庫的程序。這些通常是使用公共網關接口(Common Gateway Interface,CGI)應用程式完成的。然而,在伺服器上運行 Java,這種程序可使用 Java 程式語言實現。在通信量大的伺服器上,JavaServlet 的優點在於它們的執行速度更快於 CGI 程序。各個用戶請求被激活成單個程序中的一個線程,而無需創建單獨的進程,這意味著伺服器端處理請求的系統開銷將明顯降低。

相比較而言,Servlet更勝於CGI,主要體現在便利性,功能強大,可移植性好,僅需要很少的投入,比較便宜。不過Servlet也有其自己不足,那就是它輸出HTML語句還是採用老的CGI方式,一句一句的輸出,因此編寫和修改HTML非常的麻煩。之後出現的JSP和JSP + Bean等技術,其速度方便都比Servlet要強,所以現在Servlet可能用的比較少了。

您可能感興趣
免責聲明:本文內容來源于CSDN博客,文章觀點不代表壹讀立場,如若侵犯到您的權益,或涉不實謠言,敬請向我們提出檢舉
最新文章 / 服務條款 / 私隱保護 / DMCA / 聯絡我們

壹讀/READ01.COM