您好,登錄后才能下訂單哦!
這篇文章給大家介紹如何理解J2EE以及Servlet的生命周期,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
J2EE是一個標準中間件體系結構,目的在于簡化和規范分布式多層企業應用系統的開發和部署.
典型的J2EE結構的應用程序有:客戶層,表示邏輯層,業務邏輯層,企業信息系統層。
servlet是一種獨立于操作系統平臺和網絡傳輸協議的服務器端的Java應用程序,它用于擴展服務器的功能,可以生成動態的web頁面。
Servlet 的生命周期
Servlet 的生命周期始于將它裝入 Web 服務器的內存時,并在終止或重新裝入 Servlet 時結束。
(1) 初始化
在下列時刻裝入 Servlet:
如果已配置自動裝入選項,則在啟動服務器時自動裝入
在服務器啟動后,客戶機***向 Servlet 發出請求時
重新裝入 Servlet 時裝入 Servlet 后,服務器創建一個 Servlet 實例并且調用 Servlet 的 init() 方法。在初始化階段,Servlet 初始化參數被傳遞給 Servlet 配置對象。
(2) 請求處理
對于到達服務器的客戶機請求,服務器創建特定于請求的一個“請求”對象和一個“響應”對象。服務器調用 Servlet 的 service() 方法,該方法用于傳遞“請求”和“響應”對象。service() 方法從“請求”對象獲得請求信息、處理該請求并用“響應”對象的方法以將響應傳回客戶機。service() 方法可以調用其它方法來處理請求,例如 doGet()、doPost() 或其它的方法。
(3) 終止
當服務器不再需要 Servlet, 或重新裝入 Servlet 的新實例時,服務器會調用 Servlet 的 destroy() 方法。
一個servlet樣例(ServletSample.java)如下:
import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; public class ServletSample extends HttpServlet { // ***步: 擴展 HttpServlet 抽象類。 public void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 第二步:重寫doGet()方法 String myName = ""; // 第三步:獲取HTTP 請求信息 java.util.Enumeration keys = request.getParameterNames(); while (keys.hasMoreElements()); { key = (String) keys.nextElement(); if (key.equalsIgnoreCase("myName")) myName = request.getParameter(key); } if (myName == "") myName = "Hello"; // 第四步:生成 HTTP 響應。 response.setContentType("text/html"); response.setHeader("Pragma", "No-cache"); response.setDateHeader("Expires", 0); response.setHeader("Cache-Control", "no-cache"); out.println(""); out.println(""); out.println(" Just a basic servlet "); out.println (" " + myName + ", this is a very basic servlet that writes an HTML page."); out.println (" For instructions on running those samples on your WebSphere應用服務器, "+ "open the page:"); out.println(" http://your.server.name/IBMWebAs/samples/index.aspl "); out.println("where your.server.name is the hostname of your WebSphere應用服 務器."); out.println(""); out.flush(); } }
Cookie的格式實際上是一段純文本信息, 由服務器隨著網頁一起發送到客戶端, 并保存在客戶端硬盤中指定的目錄的.
一個簡單的例子
1. 寫入Cookie --- writecookie.jsp
-------------------------------------------------------------
<%@ page contentType="text/html; charset=ISO8859_1" %> <% Cookie _cookie=new Cookie("user_delfancom", "delfan"); _cookie.setMaxAge(30*60); // 設置Cookie的存活時間為30分鐘 response.addCookie(_cookie); // 寫入客戶端硬盤 out.print("寫Cookie完成"); %>
2. 讀取Cookie.jsp --- readcookie.jsp
-------------------------------------------------------------
<% Cookie cookies[]=request.getCookies(); // 將適用目錄下所有Cookie讀入并存入cookies數組中 Cookie sCookie=null; String sname=null; String name=null; if(cookies==null) // 如果沒有任何cookie out.print("none any cookie"); else { out.print(cookies.length + " "); for(int i=0;i{ sCookie=cookies[i]; sname=sCookie.getName(); name = sCookie.getValue(); out.println(sname + "->" + name + " "); } } %>
以上介紹了Servlet的生命周期。
關于如何理解J2EE以及Servlet的生命周期就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。