自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

J2EE簡介之Servlet的生命周期

開發(fā) 后端
本文主要介紹J2EE標(biāo)準(zhǔn)中間件體系結(jié)構(gòu)中的Servlet的生命周期。servlet是一種獨立于操作系統(tǒng)平臺和網(wǎng)絡(luò)傳輸協(xié)議的服務(wù)器端的Java應(yīng)用程序,它用于擴展服務(wù)器的功能,可以生成動態(tài)的web頁面。

J2EE是一個標(biāo)準(zhǔn)中間件體系結(jié)構(gòu),目的在于簡化和規(guī)范分布式多層企業(yè)應(yīng)用系統(tǒng)的開發(fā)和部署.

典型的J2EE結(jié)構(gòu)的應(yīng)用程序有:客戶層,表示邏輯層,業(yè)務(wù)邏輯層,企業(yè)信息系統(tǒng)層。

典型的J2EE結(jié)構(gòu)的應(yīng)用程序

 

servlet是一種獨立于操作系統(tǒng)平臺和網(wǎng)絡(luò)傳輸協(xié)議的服務(wù)器端的Java應(yīng)用程序,它用于擴展服務(wù)器的功能,可以生成動態(tài)的web頁面。

servlet是一種獨立于操作系統(tǒng)平臺和網(wǎng)絡(luò)傳輸協(xié)議的服務(wù)器端的Java應(yīng)用程序

Servlet 的生命周期

Servlet 的生命周期始于將它裝入 Web 服務(wù)器的內(nèi)存時,并在終止或重新裝入 Servlet 時結(jié)束。

(1) 初始化

在下列時刻裝入 Servlet:

如果已配置自動裝入選項,則在啟動服務(wù)器時自動裝入

在服務(wù)器啟動后,客戶機***向 Servlet 發(fā)出請求時

重新裝入 Servlet 時裝入 Servlet 后,服務(wù)器創(chuàng)建一個 Servlet 實例并且調(diào)用 Servlet 的 init() 方法。在初始化階段,Servlet 初始化參數(shù)被傳遞給 Servlet 配置對象。

(2) 請求處理

對于到達服務(wù)器的客戶機請求,服務(wù)器創(chuàng)建特定于請求的一個“請求”對象和一個“響應(yīng)”對象。服務(wù)器調(diào)用 Servlet 的 service() 方法,該方法用于傳遞“請求”和“響應(yīng)”對象。service() 方法從“請求”對象獲得請求信息、處理該請求并用“響應(yīng)”對象的方法以將響應(yīng)傳回客戶機。service() 方法可以調(diào)用其它方法來處理請求,例如 doGet()、doPost() 或其它的方法。

(3) 終止

當(dāng)服務(wù)器不再需要 Servlet, 或重新裝入 Servlet 的新實例時,服務(wù)器會調(diào)用 Servlet 的 destroy() 方法。

一個servlet樣例(ServletSample.java)如下:

  1. import java.io.*;  
  2. import java.util.*;  
  3. import javax.servlet.*;  
  4. import javax.servlet.http.*;   
  5.  
  6. public class ServletSample extends HttpServlet { // ***步: 擴展 HttpServlet 抽象類。  
  7.  
  8. public void doGet (HttpServletRequest request, HttpServletResponse response)   
  9. throws ServletException, IOException { // 第二步:重寫doGet()方法  
  10.  
  11. String myName = ""// 第三步:獲取HTTP 請求信息  
  12. java.util.Enumeration keys = request.getParameterNames();  
  13. while (keys.hasMoreElements());  
  14. {  
  15. key = (String) keys.nextElement();  
  16. if (key.equalsIgnoreCase("myName"))  
  17. myName = request.getParameter(key);   
  18. }  
  19. if (myName == "")  
  20. myName = "Hello";  
  21. // 第四步:生成 HTTP 響應(yīng)。  
  22. response.setContentType("text/html");   
  23. response.setHeader("Pragma""No-cache");  
  24. response.setDateHeader("Expires"0);  
  25. response.setHeader("Cache-Control""no-cache");  
  26.  
  27. out.println("");  
  28. out.println("");  
  29. out.println("   
  30.  
  31. Just a basic servlet  
  32. ");  
  33. out.println ("   
  34. " + myName + "this is a very basic servlet that writes an HTML  
  35.  page.");  
  36. out.println ("   
  37.  
  38. For instructions on running those samples on your WebSphere應(yīng)用服務(wù)器, "+  
  39. "open the page:");  
  40. out.println("  
  41.  
  42. http://your.server.name/IBMWebAs/samples/index.aspl  
  43. ");  
  44. out.println("where your.server.name is the hostname of your WebSphere應(yīng)用服  
  45. 務(wù)器.");   
  46. out.println("");   
  47. out.flush();   
  48. }  
  49. }   
  50.  

Cookie的格式實際上是一段純文本信息, 由服務(wù)器隨著網(wǎng)頁一起發(fā)送到客戶端, 并保存在客戶端硬盤中指定的目錄的.

一個簡單的例子
1. 寫入Cookie --- writecookie.jsp
-------------------------------------------------------------

  1. <%@ page contentType="text/html; charset=ISO8859_1" %> 
  2. <%  
  3. Cookie _cookie=new Cookie("user_delfancom", "delfan");  
  4. _cookie.setMaxAge(30*60); // 設(shè)置Cookie的存活時間為30分鐘  
  5. response.addCookie(_cookie); // 寫入客戶端硬盤  
  6. out.print("寫Cookie完成");  
  7. > 

2. 讀取Cookie.jsp --- readcookie.jsp
-------------------------------------------------------------

  1. <%  
  2. Cookie cookies[]=request.getCookies(); // 將適用目錄下所有Cookie讀入并存入cookies數(shù)組中  
  3. Cookie sCookie=null;  
  4. String sname=null;  
  5. String name=null;  
  6. if(cookies==null) // 如果沒有任何cookie   
  7. out.print("none any cookie");  
  8. else  
  9. {  
  10.  out.print(cookies.length + "  
  11. ");  
  12.  for(int i=0;i{   
  13. sCookie=cookies[i];  
  14. sname=sCookie.getName();  
  15. name = sCookie.getValue();   
  16. out.println(sname + "->" + name + "  
  17. ");  
  18.  }  
  19. }  
  20. > 

以上介紹了Servlet的生命周期。

【編輯推薦】

  1. J2EE開發(fā)框架發(fā)展簡史續(xù)
  2. 為什么J2EE如此低效--用戶無法參與開發(fā)
  3. J2EE應(yīng)用服務(wù)器的現(xiàn)狀與發(fā)展趨勢
  4. J2EE、J2SE、J2ME是什么意思?
  5. J2EE的核心技術(shù)之JDBC簡介篇 
責(zé)任編輯:book05 來源: csdn
相關(guān)推薦

2009-06-11 17:13:44

J2EE設(shè)計模式Dao設(shè)計模式

2009-06-19 16:38:45

JDBC簡介J2EE

2009-06-10 14:10:23

J2EE學(xué)習(xí)J2EE是什么

2009-06-10 13:37:06

J2EE可伸縮性J2EE靈活性J2EE維護

2009-06-23 08:06:46

J2EE體系架構(gòu)J2EE模型J2EE設(shè)計模式

2009-06-11 17:19:47

J2EE設(shè)計模式Template

2009-06-23 16:48:26

J2EE常見問題J2EE平臺

2009-06-11 17:06:11

J2EE歷史Java EE概述

2009-06-11 17:23:09

J2EE設(shè)計模式State模式

2009-06-22 17:05:41

Java EEJava企業(yè)應(yīng)用

2009-06-10 13:30:32

J2EE四層模型客戶層Web層

2009-06-11 17:11:07

J2EE設(shè)計模式工廠模式

2009-06-18 16:13:14

J2EE開發(fā)

2009-06-22 16:21:02

J2EE線程

2009-06-18 15:54:57

J2EE下使用JNDI

2009-06-23 08:12:48

J2EE調(diào)用存儲過程

2009-06-22 17:34:40

J2EE架構(gòu)

2009-06-16 15:56:10

MIDlet生命周期J2ME程序測試

2009-06-10 13:19:21

J2EE核心APIJ2EE核心組件

2011-11-25 14:59:36

JavaJ2EE框架
點贊
收藏

51CTO技術(shù)棧公眾號