您的位置:首页 > 理论基础 > 计算机网络

[Jweb] Servlet 生命周期, TestLifeCycleServlet extends HttpServlet

2013-12-23 22:28 253 查看
Servlet 生命周期 

05_HelloWorldServlet_3  张志宇 这个视频讲解了 :

    如何将本地javadocs 连接到 eclipse中的方法。F1出现自己设置的很好了。

 06_SERVLET声明周期  张志宇 开头讲解到了 : 

    如何解决 自动生成 override 方法参数 arg0 而不是 req 的方法。并且F3可以自己带源码。
Servlet 06 笔记
Servlet 的生命周期

 * 生命全过程 :

   加载       ClassLoader

   实例化     new 对象

   初始化     init(ServletConfig)

   处理请求   service doGet doPos

   退出服务   destroy()

 * 只有一个对象

 * API 中的过程:

  init() 只执行一次,第一次初始化的时候。  tomcat 具有线程池,多线程处理多请求。每个线程访问的都是同一个Servlet对象。

  public void init (ServletConfig config) throws ServletException

  service()

  public void service(ServletRequest req, ServletResponse res) throws ServletException, java, io, IOException

  destroy() webapps 退出的时候,停止的时候。就是对象在内存中消失的时候

  public void destroy()

 TestLifeCycleServlet 

我们看后台 {

 还没有调用 destroy() 这里面涉及 servlet 的工作原理

 我们刷新。。。

 我们servlet只构建一个对象。。。

 你访问两千遍也不会构建两个对象。。。省内存。。。

 Interface SingleThreadMode1 已经被废弃啦。。。!

 init() 只执行一次,第一次初始化的时候。。。

 ServletConfig 也就是说初始化Servlet的时候,他会告诉这个Servlet,你的配置,我是怎么样配你的

 我是怎么把你给配起来的,怎么配起来的,你想一想,就在

    <servlet>

      <servlet-name>TestLifeCycleServlet</servlet-name>

      <servlet-class>TestLifeCycleServlet</servlet-class>

   </servlet>

   <servlet-mapping>

       <servlet-name>TestLifeCycleServlet</servlet-name>

       <url-pattern>/TestLifeCycleServlet</url-pattern>

   </servlet-mapping>

   这么配的

   所以ServletConfig在这个对象里面保存着,我们对于这个Servlet的配置信息

import java.io.IOException;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class TestLifeCycleServlet extends HttpServlet {

public TestLifeCycleServlet() {
System.out.println("Constructor!");
}
@Override
protected void doGet(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {
System.out.println("doGet...!");
}
@Override
public void destroy() {
System.out.println("destory!");
}
@Override
public void init() throws ServletException {
System.out.println("init");
}
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: