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

(九)JavaWeb后端开发——Servlet

目录

1.Servlet由来

2.Servlet快速入门

3.Servlet执行原理

4.Servlet生命周期


1.Servlet由来

在JaveEE API文档中对Servlet的描述是:可以运行在服务器端的微小程序,但是实际上,Servlet就是一个接口,定义了Java类被浏览器访问到(tomcat识别)的规则,所以说编程人员需要去自定义一个类实现,Servlet接口,并重写其中的方法

浏览器请求服务器的信息的时候,有静态资源和动态资源,动态资源在不同用户访问时的表现不同,其中的逻辑由Java代码规定,所以需要一个Java类,而这个Jave类依赖于服务器(tomcat)才能运行,那么tomcat如何识别这个Java类呢?一定是需要一些规则,也就是接口(在Java中规则就是接口),所以Servlet接口应运而生

2.Servlet快速入门

  1. 创建JavaEE项目
  2. 自定义一个类,实现servlet接口
  3. 实现接口中的抽象方法
  4. 配置servlet
Servlet接口的方法                                     方法描述
init()初始化方法,在Servlet被创建时执行,且只会执行一次
getServletConfig()获取ServletConfig对象,即Servlet的配置对象
getServletInfo()获取Servlet的一些信息,版本,作者等等
service() 提供业务逻辑的代码,每一次Servlet被访问时都执行
destroy() 在服务器正常关闭时执行,且只会执行一次

配置servlet要在web.xml的根标签里面

<!-- 配置servlet -->
<servlet><servlet-name>demo1</servlet-name><servlet-class>cn.itcast.web.servlet.ServletDemo1</servlet-class><!-- 全类名 -->
</servlet><servlet-mapping><servlet-name>demo1</servlet-name><url-pattern>/demo1</url-pattern><!-- 资源路径 -->
</servlet-mapping>

3.Servlet执行原理

当启动项目之后就可以执行service()方法中的业务逻辑了,但是其中Servlet的执行原理是怎么样的呢?看下面这个视频讲得很清楚 3_Servlet_执行原理_哔哩哔哩_bilibili

执行原理:

  1. 服务器接受到客户端浏览器的请求后,会解析请求URL路径,获取访问的servlet的资源路径
  2. 查找web.xml文件,是否有对应的<url-pattern>标签体内容
  3. 如果有,则在找到对应的<servlet-class>全类名
  4. tomcat会将字节码文件加载进内存,并且创建其对象
  5. 调用其方法

4.Servlet生命周期

  1. 被创建:执行init方法,只执行一次
  2. 提供服务:执行service方法,执行多次
  3. 被销毁:执行destroy方法,只执行一次
http://www.lryc.cn/news/475193.html

相关文章:

  • 【零售和消费品&家居用品】家庭门窗开闭状态安全监控系统源码&数据集全套:改进yolo11-DCNV2
  • 【JavaScript】axios 二次封装拦截器(接口、实例、全局)
  • Linux_02 Linux常用软件——vi、vim
  • C++代码优化--要求或禁止在堆中产生对象
  • MybatisPlus入门(六)MybatisPlus-空值处理
  • 钉钉内集成第三方免密登录(Vue+.Net)
  • 卷积神经网络实验三:模型优化(1)
  • STM32F103的CAN通讯接收测试
  • 【Rust中的智能指针】
  • 基于深度学习的社交网络中的社区检测
  • 【Python基础】
  • 【玉米叶部病害识别】Python+深度学习+人工智能+图像识别+CNN卷积神经网络算法+TensorFlow
  • 【设计模式】如何用C++实现依赖倒置
  • 使用onnxruntime-web 运行yolov8-nano推理
  • Gin框架html/vue前端使用hls.js播放/点播m3u8(hls)格式视频
  • HarmonyOS 私仓搭建
  • Mybatis学习笔记(二)
  • Google“Big Sleep“人工智能项目发现真实软件漏洞
  • npm入门教程5:package.json
  • docker-高级(待补图)
  • Qt 文件目录操作
  • Pandas 数据清洗
  • IO学习笔记
  • 汇编练习-1
  • 初识二叉树( 二)
  • AcWing1077-cnblog
  • 五、SpringBoot3实战(1)
  • 练习LabVIEW第三十三题
  • 如何在服务器端对PDF和图像进行OCR处理
  • Windows 下实验视频降噪算法 MeshFlow 详细教程