当前位置: 首页 > 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.------------------------本身的构造器");}@Overridepublic void init() throws ServletException {System.out.println("2.------------------------init初始化");}@Overridepublic void init(ServletConfig config) throws ServletException {System.out.println("2.------------------------init初始化config");}@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("3.------------------------service");this.doGet(req, resp);}@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("4.------------------------doGet");}@Overridepublic void destroy() {System.out.println("5.------------------------destroy");}
}

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

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 健韵坊(详细项目实战一)Spring系列 + Vue3
  • 探索AWS免费资源:无账号也能体验云计算魅力
  • 网络协议七 应用层 DNS协议 和 DHCP协议 这两个都了解就好
  • ffmpeg的基础命令
  • 基于IMX8M_plus+FPGA+AI监护仪解决方案
  • STM32cubeMX配置Systick的bug
  • js原生模板引擎
  • 浅看MySQL数据库
  • 面试题 08.01. 三步问题
  • PULLTYPE
  • MoExtend: 模态和任务扩展调整的新专家
  • Windows安装mmdet3d v0.17.1(跑通版)
  • Linux-零拷贝技术
  • glm4-9B-chat,使用提示工程激活模型最大潜力
  • AR 眼镜之-开关机定制-实现方案
  • 《剑指offer》分解让复杂问题更简单
  • echarts花样作死的坑
  • ES6简单总结(搭配简单的讲解和小案例)
  • mongodb--安装和初步使用教程
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • Mysql优化
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • Promise初体验
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 网页视频流m3u8/ts视频下载
  • 新手搭建网站的主要流程
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • 大数据全解:定义、价值及挑战
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • 通过调用文摘列表API获取文摘
  • ​TypeScript都不会用,也敢说会前端?
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • $(document).ready(function(){}), $().ready(function(){})和$(function(){})三者区别
  • (13)DroneCAN 适配器节点(一)
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (八)c52学习之旅-中断实验
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (自用)网络编程
  • ***测试-HTTP方法
  • *p++,*(p++),*++p,(*p)++区别?
  • .NET 4.0中的泛型协变和反变
  • .NET CORE 第一节 创建基本的 asp.net core
  • .NET 指南:抽象化实现的基类
  • .NET 中 GetHashCode 的哈希值有多大概率会相同(哈希碰撞)
  • .net6使用Sejil可视化日志
  • .NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2
  • /bin、/sbin、/usr/bin、/usr/sbin
  • @RequestBody与@RequestParam
  • [ C++ ] STL_vector -- 迭代器失效问题
  • [ vulhub漏洞复现篇 ] JBOSS AS 5.x/6.x反序列化远程代码执行漏洞CVE-2017-12149
  • [1] 平面(Plane)图形的生成算法
  • [ABP实战开源项目]---ABP实时服务-通知系统.发布模式