Java 中的 Servlet 可以用多種方式描述。作為一種技術,Servlet 用於建立網頁;作為 API,提供介面等。它用於擴展在請求-響應編程模型上託管應用程式的伺服器的功能。 Servlet 提供基於元件和獨立於平台的方法來建立基於 Web 的應用程序,而沒有任何效能限制。 Java 中的 Servlet 可以透過 Java API 和 JDBC 完全存取企業資料庫。我們將詳細了解這些 Servlet 是什麼、為什麼使用它們、它的優點和局限性,以及 Servlet 在 Java 中實際如何運作。
廣告 該類別中的熱門課程 JAVA SERVLET - 專業化 | 18 門課程系列 | 6 次模擬測驗開始您的免費軟體開發課程
網頁開發、程式語言、軟體測試及其他
Servlet 可以用許多其他方式來描述,
隨著科技的不斷發展,我們需要每天熟悉最新的更新或最新的技術堆疊。 Servlet 可作為介面、技術、Web 元件、類別或 API。 借助 servlet,我們可以透過網頁/表單、資料庫以及任何其他資料來源收集使用者資訊並建立網頁。
Java 中的 Servlet 檢查通訊介面、客戶端和伺服器的要求、使用的協定、程式語言以及涉及的軟體。 Servlet 依照以下步驟執行,
第 1 步: 客戶端向 Web 伺服器發送請求,讀取客戶端發送的明確數據,這些數據可以是 HTML 表單、小程式或自訂 HTTP 用戶端程式。
第 2 步: Web 伺服器接收請求。
第3步:Web伺服器將請求傳遞給對應的servlet,處理請求可能包括與資料庫通訊、呼叫Web服務或直接回應。
第 4 步: Servlet 然後處理請求並以輸出的形式產生回應。它可以是任何格式,HTML 或 XML、GIF(如果是圖像)或 Excel。
第 5 步: 然後這些 servlet 會將回應傳回伺服器
第 6 步: 然後 Web 伺服器將回應傳回客戶端和用戶端,如瀏覽器顯示在 UI 上一樣。
上面的 servlet 架構使用了一些 Java 方法,例如:
首先,我們需要安裝Java、Eclipse和Tomcat:
1.我們將使用 File-> 建立一個動態 Web 專案。新->動態網路項目。
2.輸入Project Name並選擇Target Runtime,點選Next,需要勾選「Generate web.xml」然後Finish
3.項目結構如下圖所示。
4.然後,點擊檔案->建立新的 Servlet。
5.點選上面的「完成」。現在 Eclipse 將根據前面步驟中完成的輸入或設定來產生 Servlet 類別。
代碼:
FirstProgram.java
package com.srccode.example; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class FirstProgram */ @WebServlet("/FirstProgram") public class FirstProgram extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public FirstProgram() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub response.getWriter().append("Served at: ").append(request.getContextPath()); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
我們將修改 Servlet 類別的程式碼如下,
套件 com.srccode.example;
import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class FirstProgram */ @WebServlet("/FirstProgram") public class FirstProgram extends HttpServlet { private static final long <em>serialVersionUID</em> = 1L; /** * @see HttpServlet#HttpServlet() */ public FirstProgram() { super(); // TODO Auto-generated constructor stub } private String mymsg; public void init() throws ServletException { mymsg = "Hi eduCBA Team! We are working on Java Servlet Tutorial! This is the first Servlet Program!"; } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub response.setContentType("text/html"); PrintWriter printWriter = response.getWriter(); printWriter.println("<h1>" + mymsg + "</h1>"); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
在 web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> <display-name>ServletExample</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> </web-app>
在index.html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>BeginnersBook Servlet Demo</title> </head> <body> <a href="welcome">Click to call Servlet</a> </body> </html>
輸出:
右鍵,點擊項目並選擇運行方式->在伺服器上運行。
現在打開瀏覽器,我們可以看到以下輸出,伺服器將在本地主機上運行:
http://localhost:8080/ServletExample/FirstProgram
Java中的Servlet有很多優點。 Servlet 可以看成是運行在伺服器端的小程式:
至此,我們結束了「Java Servlet」主題。我們已經透過範例了解了 Java 中的 Servlet 是什麼以及如何使用它們。我們也看到了它的優點,並透過Servlet架構和使用的Servlet方法一步步了解了Servlet是如何使用的。也看到了為什麼在 Java 中使用 Servlet 以及它相對於 CGI 的優點。關於 Servlet,我們還有很多值得探索的地方,還有多種類型的 Servlet 可供使用,我們將在進一步的教程中進行更深入的研究。
以上是Java 中的 Servlet的詳細內容。更多資訊請關注PHP中文網其他相關文章!