JAVAWEB入门之Sevlet的执行原理
上一节我们学习了快速入门,
但是里面的问题是ServletDemo1里面既没有创建对象,又没有写方法,竟然就被执行了,为什么呢?
我们来分析一下Sevlet的执行原理
1.当服务器接收到客户端浏览器的请求后,会解析请求URL路径,获取访问的Servlet的资源路径
2.查找web.xml文件,是否有对应的<url-pattern>标签体内容
3.如果有,则再找到对应的<servlet-class>全类名
4.tomcat服务器,第一步将字节码文件加载进内存,并且创建其对象
5.调用其方法
至于里面的<servlet-name>只是为了对应名字可以互相匹配
Servlet中的生命周期:
1.被创建:执行init方法,只执行一次
疑问:默认情况下,第一次被访问时,Servlet被创建
可以配置执行Servlet的创建时机
在<servlet>标签下配置
修改为-5,这时候再次启动服务器,服务器并没有init.....出现,这说明
Servlet的init方法,只执行一次,说明一个Servlet在内存中只存在一个对象 ,说明Servlet是单例的
多个用户同时访问时,可能存在线程安全问题
解决:尽量不要在Servlet中定义成员变量。即使定义了成员变量,也不要对其修改值(赋值)
2.提供服务:执行service方法,执行多次
每次访问Servlet时,Service方法都会被调用一次
3.被销毁:执行destroy方法,执行一次
Servlet被销毁时执行。服务器关闭时,Servlet被销毁
只有服务器正常关闭时,才会执行destroy方法
那么问题来了,Servlet先销毁还是destroy先执行呢?
结论是,先执行destroy方法,一般用于释放资源
JAVAWEB入门之Sevlet的执行原理相关推荐
- Servlet的快速入门以及执行原理
Servlet server applet 概念:运行在服务器端的小程序. Servlet就是一个接口,定义了Java类被浏览器访问到(tomcat识别)的规则. 将来我们自定义一个类,实现Servl ...
- JAVAweb入门基础
1.JAVAweb开发原理 2.web服务器 2.1.技术服务 ASP(微软 国内最早流行;在HTML中嵌入了VB的脚本,ASP+Com;在ASp开发中,基本一个页面都有几千行的业务代码,页面及其混乱 ...
- javaweb 入门到精通ServletJSP;-王磊-专题视频课程
javaweb 入门到精通Servlet&JSP;-7367人已学习 课程介绍 JSP语法,Tomcat服务器应用,状态管理,cookie.session,EL+JSTL,Se ...
- JavaWeb入门篇(6) 实现字符过滤器 解决全局字符乱码 实现模拟权限拦截
JavaWeb 入门篇(6.1) 过滤器 实现字符过滤器 实现模拟权限拦截 Filter(过滤器) 概述 过滤器是一个对象,它对对资源(Servlet或静态内容)的请求或对资源的响应或两者都执行过滤任 ...
- 正则表达式引擎执行原理——从未如此清晰!
目前越来越多的网站.编辑器.编程语言都已支持一种叫"正则表达式"的字符串查找"公式",有过编程经验的同学都应该了解正则表达式(Regular Expressio ...
- 解释java程序所使用的命令是,Java程序的执行原理以及解释说明
在初学Java的时候,我们安装完Java的开发环境后,就可以通过记事本等编辑工具编写程序了.推荐在Windows操作系统中使用EditPlus工具进行编写.由于我使用的是Mac OS,所以,我使用Su ...
- javaweb入门笔记(5)-cookie和session
2019独角兽企业重金招聘Python工程师标准>>> javaweb入门笔记(5)-cookie和session 标签: javaweb [TOC] Cookie是客户端技术:Se ...
- Animation动画概述和执行原理
动画入门和进阶文章列表: Animation动画概述和执行原理 Android动画之补间动画TweenAnimation Android动画之逐帧动画FrameAnimation Android动画之 ...
- java服务器登录系统,JavaWeb入门登陆注册系统
JavaWeb入门先从登陆注册系统开始作起. 个人这个入门教程特别简单你们按步骤作就行必定没有问题的!源码在下面一个字很多你们认真仔细学 一.须要预先了解的几个基本概念,JSP文件和HTML文件还有X ...
最新文章
- Keras运行速度越来越慢的问题
- 800名科学家Nature联名发文主张废除p值!
- 原创 | 常见损失函数和评价指标总结(附公式代码)
- Tomcat常见问题 (配置)及解决方法
- 【Groovy】Groovy 脚本调用 ( Groovy 脚本编译 | Groovy 脚本字节码文件分析 )
- 动态链表增删改查及排序功能
- Error response from daemon: manifest not found.
- java反编译,eclipse支持插件
- linux红帽6架设apache,linux Redhat6.5 中 编译安装apache
- 使用RDLC报表(三)--向RDLC报表传入参数
- idea隐藏 .iml 和 .idea 等自动生成文件
- 优先级反转实验,使用信号量实现【RT-Thread学习笔记 5】
- 互联网搜索的哪些环节 机器学习_什么是机器学习?有哪些分类?到底有什么用?终于有人讲明白了...
- java获取http文件大小_Java开发网 - 关于通过HTTPUrlConnection获取一个文件的大小?...
- 马健计算机博士,马健-中国科学院大学-UCAS
- Android小项目--2048小游戏,flutter人脸识别插件
- Python 3.9 新特性速览 - Ricequant米筐量化
- JAVA用OpenCV做AI图片处理
- manifestintert-filter详解
- CentOS8下Mosquitto安装使用指南