首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

Java Servlet 程式設計與應用 (一):核心 API 與優勢分析

     編輯:Java 程式設計入門

Servlet 定義與定位

Servlet 是平台無關、協定無關的伺服器端 Java 應用程式,運行於支援 Servlet 的 Web 容器 (如 Tomcat) 內,動態生成 Web 內容。非獨立應用,無 main(),由容器管理生命週期。

Servlet vs Applet vs CGI vs JSP

Servlet 優於 CGI:執行緒輕量、單實例多執行緒共享類別碼、豐富工具方法 (表單解析、Cookie、Session)、直接與容器互動、資料庫連線池易實作。

JSP 本質:HTML + 動態標籤,編譯為 Servlet,分離內容與邏輯,頁面設計更便利。

Servlet API 2.2 核心套件

javax.servlet (協定無關)

  • 介面:Servlet, ServletConfig, ServletContext, ServletRequest, ServletResponse, RequestDispatcher, SingleThreadModel。
  • 類別:GenericServlet, ServletInputStream, ServletOutputStream, ServletException, UnavailableException。

javax.servlet.http (HTTP 專用)

  • 介面:HttpServletRequest, HttpServletResponse, HttpSession, HttpSessionBindingListener。
  • 類別:HttpServlet, Cookie, HttpSessionBindingEvent, HttpUtils。

HTTP Servlet 開發基礎

  1. 繼承 HttpServlet。
  2. 覆寫 doGet() / doPost() (或 service())。
  3. 透過 HttpServletRequest 取得參數、Header、Session、Cookie。
  4. 透過 HttpServletResponse 設定 Header、Content-Type、輸出內容、Cookie。

生命週期方法

  • init(ServletConfig):容器載入時呼叫一次,初始化資源 (連線池、配置讀取)。
  • service(req, resp):每請求一次,分派至 doGet/doPost 等。
  • destroy():容器卸載前呼叫,釋放資源。

部署描述符 web.xml

<servlet>
  <servlet-name>MyServlet</servlet-name>
  <servlet-class>com.example.MyServlet</servlet-class>
  <init-param>
    <param-name>configFile</param-name>
    <param-value>/WEB-INF/config.properties</param-value>
  </init-param>
  <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
  <servlet-name>MyServlet</servlet-name>
  <url-pattern>/myservlet</url-pattern>
</servlet-mapping>

下一篇預告

將深入 HttpServletRequest/Response 細節、表單處理、Session 追蹤、Cookie 應用、Filter 與 Listener 機制。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
ServletAppletCGIJSP
執行端伺服器客戶端伺服器伺服器
圖形介面無AWT/Swing無HTML 模板
效能模型執行緒JVM 執行緒進程編譯為 Servlet
資料共享易 (屬性/Session)難難同 Servlet
可移植性高 (標準 API)高低 (OS 相關)高