如何理解J2EE以及Servlet的生命周期

这篇文章给大家介绍如何理解J2EE以及Servlet的生命周期,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

创新互联建站专注于梅河口企业网站建设,自适应网站建设,商城建设。梅河口网站建设公司,为梅河口等地区提供建站服务。全流程定制网站,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务

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

典型的J2EE结构的应用程序有:客户层,表示逻辑层,业务逻辑层,企业信息系统层。

如何理解J2EE以及Servlet的生命周期

servlet是一种独立于操作系统平台和网络传输协议的服务器端的Java应用程序,它用于扩展服务器的功能,可以生成动态的web页面。

如何理解J2EE以及Servlet的生命周期

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的生命周期就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


网页标题:如何理解J2EE以及Servlet的生命周期
标题路径:http://myzitong.com/article/jpdsjo.html