1. 程式人生 > >Servlet和JavaBean

Servlet和JavaBean

應該 線程 返回 exc 客戶 屬性。 通過 exceptio 方法

1.Servlet簡介:

Java Servlet 是運行在 Web 服務器或應用服務器上的程序,它是作為來自 Web 瀏覽器或其他 HTTP 客戶端的請求和 HTTP 服務器上的數據庫或應用程序之間的中間層,使用 Servlet,您可以收集來自網頁表單的用戶輸入,呈現來自數據庫或者其他源的記錄,還可以動態創建網頁。

2.Servlet的主要作用:

  • 讀取客戶端(瀏覽器)發送的顯式的數據。這包括網頁上的 HTML 表單,或者也可以是來自 applet 或自定義的 HTTP 客戶端程序的表單。
  • 讀取客戶端(瀏覽器)發送的隱式的 HTTP 請求數據。這包括 cookies、媒體類型和瀏覽器能理解的壓縮格式等等。
  • 處理數據並生成結果。這個過程可能需要訪問數據庫,執行 RMI 或 CORBA 調用,調用 Web 服務,或者直接計算得出對應的響應。
  • 發送顯式的數據(即文檔)到客戶端(瀏覽器)。該文檔的格式可以是多種多樣的,包括文本文件(HTML 或 XML)、二進制文件(GIF 圖像)、Excel 等。
  • 發送隱式的 HTTP 響應到客戶端(瀏覽器)。這包括告訴瀏覽器或其他客戶端被返回的文檔類型(例如 HTML),設置 cookies 和緩存參數,以及其他類似的任務。

3.Servlet生命周期:

  • Servlet 通過調用 init () 方法進行初始化。
  • Servlet 調用 service() 方法來處理客戶端的請求。
  • Servlet 通過調用 destroy() 方法終止(結束)。
  • 最後,Servlet 是由 JVM 的垃圾回收器進行垃圾回收的。

init()方法:它在第一次創建 Servlet 時被調用,在後續每次用戶請求時不再調用。因此,它是用於一次性初始化;

public void init() throws ServletException {

// Put your code here

}

service()方法:執行實際任務的主要方法;Servlet容器(即 Web 服務器)調用 service()方法來處理來自客戶端(瀏覽器)的請求,並把格式化的響應寫回給客戶端。每次服務器接收到一個 Servlet請求時,服務器會產生一個新的線程並調用服務。service() 方法檢查 HTTP 請求類型(GET、POST、PUT、DELETE 等),並在適當的時候調用 doGet、doPost、doPut,doDelete 等方法。

public void service(HttpServletRequest request, HttpServletResponse response) throws

ServletException, IOException {

response.setContentType("text/html;charset=gbk");

//response.setCharacterEncoding("GBK");

PrintWriter out = response.getWriter();

out.println("<html>");

out.println("<head><title>Servlet1</title></head>");

out.println("<body bgcolor=\"#ffffff\">");

out.println("<p>上海</p>");

out.println("</body></html>");

}

doGet()方法:GET 請求來自於一個 URL 的正常請求,或者來自於一個未指定 METHOD 的 HTML 表單,它由 doGet() 方法處理;

doPost()方法:POST 請求來自於一個特別指定了 METHOD 為 POST 的 HTML 表單,它由 doPost() 方法處理。

Destroy()方法:destroy() 方法只會被調用一次,在 Servlet 生命周期結束時被調用。

public void destroy() {

super.destroy(); // Just puts "destroy" string in log

// Put your code here

}

4.Javabean簡介:

JavaBean是一種專門構建的Java類,它使用Java編寫,並根據JavaBeans API規範進行編碼。

以下是將JavaBean與其他Java類有區別的獨特特征 -

  • 它提供了一個默認的,無參數的構造函數。
  • 它應該是可序列化的,可以實現Serializable接口。
  • 它可能有許多可以讀取或寫入的屬性。
  • 它可能有一些getter和setter方法的屬性。

Servlet和JavaBean