创建Servlet端口 – Servlet的生命周期


创建Servlet:

IDEA里创建好项目,前面有说过。

File->New->Java Enterprise->Project SDK:JDK所在位置->Application Server:TomCat所在位置->其他无改动->下方勾选“Web Application”->其他不勾选->下一步即可
Src文件夹创建包,命名为”Servlet”


*iml文件无需改动(改不改随意)

Servlet包里创建Java类文件
命名为“Servlet1”

注意:不要创建为Servlet,Servlet是一个类名,如果命名为Servlet会报错。

package Servlet;
//import * 导包为输入代码后自动生成,可不自己写入。(已经用/*注释掉了)
/*
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
*/
@WebServlet("/Servlet1")
public class Servlet1 implements Servlet {
//容器在创建好Servlet对象后,就会调用此方法。该方法接受一个ServletConfig类型的参数,Servlet容器通过这个参数向Servlet传递初始化配置信息。
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        System.out.println("初始化成功!");
    }
//用于获取Servlet对象的配置信息,返回Servlet的Servlet Config对象。
    @Override
    public ServletConfig getServletConfig() {
        return null;
    }
//负责响应用户的请求,当容器接收到客户端访问Servlet对象请求时,就会调用此方法。容器会狗在一个表示客户端请求信息的ServiceRequest对象和一个用于响应客户端的ServiceResponse对象作为参数传递个service()方法。在service()方法中,可以通过ServletRequest对象得到客户端的相关信息和请求信息,在对请求进行处理后,调用ServletResponse对象的方法设置响应。
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("运行");
    }
//返回一个字符串,其中包含关于Servlet的信息,例如,作者、版本和版权等信息。
    @Override
    public String getServletInfo() {
        return null;
    }
//负责释放Servlet对象占用的资源。当服务器关闭或者Servlet对象被移除时,Servlet对象会被销毁,容器会调用此方法。
    @Override
    public void destroy() {
        System.out.println("进程已经销毁");
    }
}

注意:IDEA2017版本和IDEA2019版本路径不同
2017版本会是/(根目录),2019版本会加上你的项目名,例如:”/MyWeb/Servlet1″

进行测试:
点击右上角三角按钮
等待片刻
打开浏览器后的地址为“localhost:8080”,8080为端口,不用去输入也可以,因为默认开始为8080端口。
地址栏地址后面输入“/Servlet1”后回车,例如:localhost:8080/MyWeb1/Servlet1
转到IDEA,看控制台信息
发现会显示:初始化成功! 打开网页会显示:运行。
当点击右上角红色按钮“停止”时,IDEA控制台会出现“销毁”,即程序已被销毁。


总结:Servlet的生命周期有三个,分别为:初始化(出生)、运行(工作、学习)、销毁(死亡)。