当前位置: 首页 > news >正文

servlet的执行顺序

执行的时候Tomcat先初始化 然后调用 server 根据server来回调请求方式下面会追入源码解释

package com.haogu.servlet;


import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
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(value = {"/hello","/hello2"},loadOnStartup = 1)
public class HelloServlet extends HttpServlet {



    /**
     * 1.查看源码的方式
     *   1.1 查看HttpServlet数据类型  abstract class
     *   1.2 继承之后查看是否有必须实现的抽象方法  HttpServlet 没有抽象方法
     *   1.3 查看继承关系
     *         Servlet, ServletConfig, Serializable
     *   1.4 查看里面的常量、变量
     *       看完源码知道 七种提交方式 DELETE HEAD GET POST PUT TRACE OPTIONS
     *   1.5 查看里面的方法
     *       service 接受所有的方法,然后根据发送过来的请求分发到对应的方法里面
     *       init 初始化方法  只会初始化一次
     *       destroy 销毁方法
     *
     *      HttpServlet生命周期
     *      1.构造器 ,init初始化 init初始化配置文件
     *      2.每次接受到请求的时候tomcat都会先使用servlet里面的service方法
     *      3.service方法会根据请求方式分发到不同的对应方法里面
     *      4.当服务器关闭的时候会销毁对象,会执行destroy方法
     *
     *
     *
     *      http://localhost:8080/hello?user=admin&pwd=123
     *      协议://ip地址:端口号/资源路径?参数1 = 参数值1 & 参数2 = 参数值2
     *
     *      web项目的工程目录
     *      src : 放置java文件的
     *      web:放置前端页面\ CSS \ JS
     *          WEB-INF:
     *              放置内部资源的:用户无法直接访问
     *
     * */

    public HelloServlet() {
        System.out.println("1.------------------------本身的构造器");
    }


    @Override
    public void init() throws ServletException {
        System.out.println("2.------------------------init初始化");
    }


    @Override
    public void init(ServletConfig config) throws ServletException {
        System.out.println("2.------------------------init初始化config");
    }


    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("3.------------------------service");
        this.doGet(req, resp);
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("4.------------------------doGet");
    }

    @Override
    public void destroy() {
        System.out.println("5.------------------------destroy");
    }
}

追入继承的Httpservlet找到service方法 根据和这个方法来进行方法的回调。

 如果想要你的web前端输入的数据传入数据库,要把导入的jar包放置在web目录下的WEB-INF文件下,否则会报错

相关文章:

  • 初探 Rust 语言与环境搭建
  • 多功能声学馆的卓越优势:剧院级音效的全新体验—轻空间
  • 【游戏引擎之路】登神长阶(九)——《3D游戏编程大师技巧》:我想成为游戏之神!
  • 【Python学习-UI界面】PyQt5 小部件1-Label
  • WPF-实现多语言的静态(需重启)与动态切换(不用重启)
  • 前端 JavaScript 的 _ 语法是个什么鬼?
  • 自建Gitlab和Gitlab runner并推送镜像到Harbor
  • 学习STM32(6)-- STM32单片机ADCDAC的应用
  • Halcon图像平滑与去噪
  • 关系,条件和逻辑操作符详解
  • Kafka系列之:Dead Letter Queue死信队列DLQ
  • 去中心化技术的崛起:探索Web3的新时代
  • vue去除数组最后一个元素
  • 【书生大模型实战营(暑假场)】入门任务二 Git 关卡
  • zabbix7.0 设置中文语言( Debian GNU/Linux 12)
  • 费用流,EK算法,Primal Dual 算法详解,OJ练习
  • Spring Boot 集成 Apache Shiro 实现权限管理
  • 节点使用简介:comfyui-photoshop
  • unity2107,导入spine骨骼动画报错
  • 深入浅出Java RestClient与Elasticsearch:一次简单的聚合查询实现
  • 外交部:中方愿根据当事方意愿,为化解乌克兰危机发挥建设性作用
  • 上海工匠学院首届学历班56人毕业,新一届拟招生200人
  • 巴基斯坦关闭全部领空
  • “科创板八条”后百单产业并购发布,披露交易金额超247亿
  • 马上评丨规范隐藏式车门把手,重申安全高于酷炫
  • 昆明阳宗海风景名胜区19口井违规抽取地热水,整改后用自来水代替温泉