当前位置: 首页 > 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.mrgr.cn/news/64320.html

相关文章:

  • leetcode hot100【LeetCode 322. 零钱兑换】java实现
  • CPU用户时间百分比
  • 浔川社团官方联合会入驻后计划公告
  • 使用requests爬取python岗位招聘数据
  • 无法启动此程序win10玩游戏找不到d3dx9_43.dll缺失的五种常用有效解决方法
  • 最新整理:Selenium自动化测试面试题
  • 【机器学习】回归树
  • 微信小程序scroll-view吸顶css样式化表格的表头及iOS上下滑动表头的颜色覆盖、z-index应用及性能分析
  • 异步回调之Join
  • 第十七课 component组件解析
  • Rust语言有哪些常用语句?
  • zyb 的 Codeforces Round 983 (Div. 2)
  • WPF+MVVM案例实战(十八)- 自定义字体图标按钮的封装与实现(ABD类)
  • Python使用K-means实现文本聚类
  • Respiratory Physiology Neurobiology
  • TCP编程-socket(套接字)编程实战1
  • RK3568平台开发系列讲解(中断篇)延迟工作实验
  • vscode makfile编译
  • 电阻基础知识(六)-电阻的失效模式和失效机理
  • 【MacOS实操】如何基于SSH连接远程linux服务器
  • redis详细教程(7.哨兵)
  • 《GBDT 算法的原理推导》 11-13初始化模型 公式解析
  • LangChain学习之路
  • 【Comsol教程】计算流道中的流量
  • 一般无人机和FPV无人机的区别
  • WorkFlow Communicator之TCPServer(上)