Servlet的生命周期

简介: Servlet的生命周期

初始化->服务->销毁

package com.minos.servlet;
 
 
import jakarta.servlet.*;
 
import java.io.IOException;
 
public class Servlet02 implements Servlet {
 
    /**
     * 初始化方法,servlet第一次被访视时创建
     * 在Servlet被创建时,执行。只会执行一次
     * @param servletConfig a <code>ServletConfig</code> object containing the servlet's configuration and initialization
     * parameters
     *
     * @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 the <code>ServletRequest</code> object that contains the client's request
     *
     * @param servletResponse the <code>ServletResponse</code> object that contains the servlet's response
     *
     * @throws ServletException
     * @throws IOException
     */
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("service......");
    }
 
    /**
     * 获取Servlet的一些信息
     * @return
     */
    @Override
    public String getServletInfo() {
        return null;
    }
 
    /**
     * 销毁方法
     * 在服务器正常关闭时,执行,执行一次
     */
    @Override
    public void destroy() {
        System.out.println("destroy......");
    }
}

load-on-startup参数决定初始化时机

 <!--  配置servlet-->
    <servlet>
        <servlet-name>demo02</servlet-name>
        <servlet-class>com.minos.servlet.Servlet02</servlet-class>
        <!--        指定Servlet的创建时机
        1、第一次访问时创建 load-on-startup 负数 默认值
        2、服务器启动时,创建  load-on-startup 0或整数
        -->
       <load-on-startup>1</load-on-startup>
    </servlet>
    <!--  配置路径-->
    <servlet-mapping>
        <servlet-name>demo02</servlet-name>
        <url-pattern>/demo02</url-pattern>
    </servlet-mapping>

HttpServlet->HttpServletRequest获取常用参数

@WebServlet("/demo04")
public class Servlet04 extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 获取客户端请求的完整URL http://localhost:8080/demo04
        System.out.println(req.getRequestURL().toString());
        // 获取客户端请求部分URL /demo04
        System.out.println(req.getRequestURI());
        // 获取请求行中的参数部分 null
        System.out.println(req.getQueryString());
        // 获取客户端的请求方式 GET
        System.out.println(req.getMethod());
        // 获取HTTP版本号 HTTP/1.1
        System.out.println(req.getProtocol());
        //获取参数
        System.out.println(req.getParameterMap().toString());
    }
}
相关文章
|
4月前
Servlet生命周期
Servlet生命周期
30 1
|
4月前
|
Java 数据库连接 容器
Servlet的生命周期
Servlet的生命周期
|
4月前
|
Java 数据库连接 容器
8:Servlet生命周期-Java Web
8:Servlet生命周期-Java Web
42 0
|
2月前
|
Java 数据库连接 开发者
Java中的Servlet生命周期详解
Java中的Servlet生命周期详解
|
3月前
|
前端开发 应用服务中间件
servlet执行流程&生命周期
servlet执行流程&生命周期
|
3月前
|
Java
servlet生命周期面试题
servlet生命周期面试题
|
2月前
|
XML 存储 前端开发
JavaEE:Servlet创建和使用及生命周期介绍
JavaEE:Servlet创建和使用及生命周期介绍
|
4月前
|
存储 Java 应用服务中间件
Servlet执行流程&生命周期&方法介绍&体系结构、Request和Response的功能详解(2)
Servlet执行流程&生命周期&方法介绍&体系结构、Request和Response的功能详解
46 2
|
4月前
|
Web App开发 XML Java
Servlet执行流程&生命周期&方法介绍&体系结构、Request和Response的功能详解(1)
Servlet执行流程&生命周期&方法介绍&体系结构、Request和Response的功能详解
63 2
|
4月前
|
Java 容器
Servlet 教程 之 Servlet 生命周期 6
Servlet生命周期包括:初始化(调用`init()`)、处理请求(通过`service()`)、销毁(调用`destroy()`),最终由JVM垃圾回收。当首个请求到达时,容器加载Servlet,后续请求多线程共享同一实例,每次请求调用`service()`。
42 6