這篇文章給大家介紹如何理解J2EE以及Servlet的生命周期,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
創(chuàng)新互聯(lián)建站專注于梅河口企業(yè)網(wǎng)站建設,自適應網(wǎng)站建設,商城建設。梅河口網(wǎng)站建設公司,為梅河口等地區(qū)提供建站服務。全流程定制網(wǎng)站,專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務
J2EE是一個標準中間件體系結(jié)構(gòu),目的在于簡化和規(guī)范分布式多層企業(yè)應用系統(tǒng)的開發(fā)和部署.
典型的J2EE結(jié)構(gòu)的應用程序有:客戶層,表示邏輯層,業(yè)務邏輯層,企業(yè)信息系統(tǒng)層。
servlet是一種獨立于操作系統(tǒng)平臺和網(wǎng)絡傳輸協(xié)議的服務器端的Java應用程序,它用于擴展服務器的功能,可以生成動態(tài)的web頁面。
Servlet 的生命周期
Servlet 的生命周期始于將它裝入 Web 服務器的內(nèi)存時,并在終止或重新裝入 Servlet 時結(jié)束。
(1) 初始化
在下列時刻裝入 Servlet:
如果已配置自動裝入選項,則在啟動服務器時自動裝入
在服務器啟動后,客戶機***向 Servlet 發(fā)出請求時
重新裝入 Servlet 時裝入 Servlet 后,服務器創(chuàng)建一個 Servlet 實例并且調(diào)用 Servlet 的 init() 方法。在初始化階段,Servlet 初始化參數(shù)被傳遞給 Servlet 配置對象。
(2) 請求處理
對于到達服務器的客戶機請求,服務器創(chuàng)建特定于請求的一個“請求”對象和一個“響應”對象。服務器調(diào)用 Servlet 的 service() 方法,該方法用于傳遞“請求”和“響應”對象。service() 方法從“請求”對象獲得請求信息、處理該請求并用“響應”對象的方法以將響應傳回客戶機。service() 方法可以調(diào)用其它方法來處理請求,例如 doGet()、doPost() 或其它的方法。
(3) 終止
當服務器不再需要 Servlet, 或重新裝入 Servlet 的新實例時,服務器會調(diào)用 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的格式實際上是一段純文本信息, 由服務器隨著網(wǎng)頁一起發(fā)送到客戶端, 并保存在客戶端硬盤中指定的目錄的.
一個簡單的例子
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數(shù)組中 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的生命周期。
關(guān)于如何理解J2EE以及Servlet的生命周期就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
本文標題:如何理解J2EE以及Servlet的生命周期
本文鏈接:http://jinyejixie.com/article20/jpdsjo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、自適應網(wǎng)站、小程序開發(fā)、網(wǎng)站制作、App開發(fā)、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)