J2EE简介之Servlet的生命周期

J2EE是一个标准中间件体系结构,目的在于简化和规范分布式多层企业应用系统的开发和部署.

成都创新互联专注于企业成都全网营销推广、网站重做改版、蒙阴网站定制设计、自适应品牌网站建设、H5建站成都商城网站开发、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为蒙阴等各大城市提供网站开发制作服务。

典型的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)如下:

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

Cookie的格式实际上是一段纯文本信息, 由服务器随着网页一起发送到客户端, 并保存在客户端硬盘中指定的目录的.

一个简单的例子
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); // 设置Cookie的存活时间为30分钟
  5. response.addCookie(_cookie); // 写入客户端硬盘
  6. out.print("写Cookie完成");
  7. >

2. 读取Cookie.jsp --- readcookie.jsp
-------------------------------------------------------------

 
 
 
 
  1. <
  2. Cookie cookies[]=request.getCookies(); // 将适用目录下所有Cookie读入并存入cookies数组中
  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的生命周期。

本文标题:J2EE简介之Servlet的生命周期
标题网址:http://www.shufengxianlan.com/qtweb/news17/117867.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联