Servlet_生命周期详解、3.0注解配置

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被销毁之前执行,一般用于释放资源

 

Servlet_3.0注解配置

 步骤:

  ·创建javaEE项目,选择Servlet的版本3.0以上,可以不创建web.xml

  定义一个类,实现Servlet连接口

  在类上使用@WebServlet注解,进行配置

  

复制代码
package com.example.day_12_servlet;

import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;

@WebServlet("/demo")
public class ServletDemo 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("Servlet3.0来了");
    }

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

    @Override
    public void destroy() {

    }
}
复制代码

 

 

 

posted @   漁夫  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示