我是靠谱客的博主 健忘蓝天,最近开发中收集的这篇文章主要介绍Java Servlet的生命周期,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Servlet的生命周期分为四个部分:

一、创建Servlet实列对象(实例化)

在有一个请求请求当前Servlet时,如果该Servlet的实列对象不存在,则通过调用构方法,创建该Servlet的实列对象

二、初始化

通过第一步创建的实列对象,调用父类的init()方法,执行初始化的逻辑,我们也可重写父类的init()方法来实现我们自己的逻辑

三、服务


通过实例调用HttpServlet父类的service()方法
service()方法中,会根据请求的方式(get或post)的不同
调用子类重写的doGet()或doPost()方法
如果子类没有重写,则响应405

四、销毁

1.服务器重启

2.服务器关闭

3.超出过期时间

以上都会调用Servlet实例的destroy()方法,使当前的Servlet销毁。

例:HomeSevlet

package com.wzb.web.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HomeServlet extends HttpServlet {
// 1.实列化
public HomeServlet() {
System.out.println("1.HomeServlet实例化");
}
// 2.初始化
// 重写HttpServlet父类的init()方法
@Override
public void init() throws ServletException {
System.out.println("2.HomeServlet初始化");
}
// 3.服务
// 通过实例调用HttpServlet父类的service()方法
// service()方法中,会根据请求的方式(get或post)的不同
// 调用子类重写的doGet()或doPost()方法
// 如果子类没有重写,则响应405
// 根据请求方式的不同,需要调用不同的请求方法
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("HomeServlet被请求到!");
}
// 4.销毁
@Override
public void destroy() {
System.out.println("4.HomeServlet实例被销毁");
}
}

会依次输出:

1.HomeServlet实列化

2.HomeServlet初始化

4.HomeServlet实例被销毁

最后

以上就是健忘蓝天为你收集整理的Java Servlet的生命周期的全部内容,希望文章能够帮你解决Java Servlet的生命周期所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部