01Servlet_快速入门=>Servlet生命周期

Servlet中的生命周期方法:

1. 被建立:执行init方法,只执行一次
        * Servlet何时被建立?
            * 默认状况下,第一次被访问时,Servlet被建立
            * 能够配置执行Servlet的建立时机。
                * 在<servlet>标签下配置
                    1. 第一次被访问时,建立
                        * <load-on-startup>的值为负数
                    2. 在服务器启动时,建立
                        * <load-on-startup>的值为0或正整数


        * Servlet的init方法,只执行一次,说明一个Servlet在内存中只存在一个对象,Servlet是单例的
            * 多个用户同时访问时,可能存在线程安全问题。
            * 解决:尽可能不要在Servlet中定义成员变量。即便定义了成员变量,也不要对修改值

    2. 提供服务:执行service方法,执行屡次
        * 每次访问Servlet时,Service方法都会被调用一次。
    3. 被销毁:执行destroy方法,只执行一次
        * Servlet被销毁时执行。服务器关闭时,Servlet被销毁
        * 只有服务器正常关闭时,才会执行destroy方法。
        * destroy方法在Servlet被销毁以前执行,通常用于释放资源

建立项目的方法

1建立javaee项目

clipboard.png

2配置tomcat

clipboard.png

clipboard.png

3配置注解

clipboard.png
package cn.itcast.web.servlet;java

import javax.servlet.*;
import java.io.IOException;web

/**tomcat

  • Servlet快速入门

*/
public class ServletDemo1 implements Servlet {安全

@Override
public void init(ServletConfig servletConfig) throws ServletException {

}

@Override
public ServletConfig getServletConfig() {
    return null;
}

//提供服务的方法
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
    System.out.println("Hello Servlet");
}

@Override
public String getServletInfo() {
    return null;
}

@Override
public void destroy() {

}

}
package cn.itcast.web.servlet;服务器

import javax.servlet.*;
import java.io.IOException;ide

/**spa

  • Servlet的方法

*/
public class ServletDemo2 implements Servlet {线程

private int age = 3;

/**
 * 初始化方法
 * 在Servlet被建立时,执行。只会执行一次
 * @param servletConfig
 * @throws ServletException
 */
@Override
public void init(ServletConfig servletConfig) throws ServletException {
    System.out.println("init.....");
}

/**
 * 获取ServletConfig对象
 * ServletConfig:Servlet的配置对象
 * @return
 */
@Override
public ServletConfig getServletConfig() {
    return null;
}

/**
 * 提供服务方法
 * 每一次Servlet被访问时,执行。执行屡次
 * @param servletRequest
 * @param servletResponse
 * @throws ServletException
 * @throws IOException
 */
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
    System.out.println("service.....");
    int number = 3;
}

/**
 * 获取Servlet的一些信息,版本,做者等等。。
 * @return
 */
@Override
public String getServletInfo() {
    return null;
}

/**
 * 销毁方法
 * 在服务器正常关闭时,执行,执行一次。
 */
@Override
public void destroy() {
    System.out.println("destroy.....");
}

}code

相关文章
相关标签/搜索