java web 生命周期_JavaWeb的生命周期
分为启动(加载web应用的有关数据,创建ServletContext对象,对Filter和一些Servlet初始化)、运行时(主要是Servlet容器调用service(方法))和终止(释放资源)三个阶段。
该过程可通过Tomcat的管理应用来控制应用的生命周期:
《Tomcat与javaweb开发技术详解》
Reload操作: 相当于先stop当前web应用,再start。
Undeploy操作: 从Tomcat卸除,web文件被删除。
## Servlet生命周期
就是Servlet容器控制的Servlet接口提供的init、service、destroy三个方法。
在Servlet的生命周期中,初始化和销毁只会发生一次,即init()和destroy()方法只会被Servlet容器调用一次。service()取决于客户端请求的次数。
实践验证:写一个继承于GenericServlet类的xxxservlet,设置三个全局变量分别在三个方法中打印,看结果,即可。
并且,可以有多个xxxservlet对象对应同一个xxxServlet类,尽管类代码一模一样,但属于不同的servlet,互相没有关系!!
《Tomcat与javaweb开发技术详解》
——————
## ServletContext与Web应用范围
Servlet容器在启动一个web应用时,会为它创建唯一的ServletContext对象,终止时销毁。
因此,ServletContext对象与web应用具有同样的生命周期。而且,ServletContext对象可以被web应用中的所有web组件共享。因此,可以利用该对象来存取web应用范围内的共享数据(可以是任意类型)。
《Tomcat与javaweb开发技术详解》
实践验证: 实现web统计访问次数的功能。先写一个Counter类,将其放入servletContext对象。(这里有一种技巧,就是怎么放??你总不能每次请求都放一次吧!所以,先从servletContext获取该对象,如果为null则将其放入,所以第二次以后都只是取,不会再执行放入的逻辑了,if不符合了啊,当且仅当第一次才符合)。
java web 生命周期_JavaWeb的生命周期相关推荐
- java web 添加超链接_Javaweb 超链接后显示问题
java web 项目发送带有超链接文本邮件问题 今天做java web项目的时候遇到了一个很想不通的或者说很奇葩的问题, 小编首先需要设置邮件内容的格式为:html 其次在内容中加上不要太乖,不想做 ...
- java web架构配置_javaweb(1) tomcat配置和web程序结构
一.tomcat配置 为方便在cmd中直接启动tomcat服务器,可以像其他程序(如jdk)一样配置tomcat. 1.CATALINA_HOME = D:\java\apache-tomcat-8. ...
- Java Web 学习笔记3 Servlet生命周期
https://www.bilibili.com/video/av31486135/?spm_id_from=333.788.videocard.0 环境:Eclipse 2019-06 (4.12. ...
- java web容器原理_javaWeb工作原理
http:无状态协议,客户端和服务器之间不需要建立持久的连接,通信完就断开. http的工作流程: 1.客户端和服务器建立连接 2.客户端发送请求 3.服务器响应内容 4.服务器关闭连接,客户端解析服 ...
- java web传递参数_Javaweb的八种传值方式
1.表单提交 html自带的from方法,简单易懂,便于操作,依靠于标签中的type="submit"进行表单传输,或者根据js进行控制提交表单.其中由method属性决定以pos ...
- java web 自定义标签_JavaWeb学习——自定义标签
自定义标签 一.自定义标签概述 使用标准JSP访问.操作JavaBean,是实现展现(HTML)与业务实现(Java代码)分离的第一步.然而,标准方法功能不够强大,以至于开发者无法仅仅使用它们开发应用 ...
- java web 启动顺序_JavaWeb开发Servlet过滤器链执行顺序详解
***第一份手记*** 下午时间观看老师讲的视频,自己动手实践练习得出的结论,讲其分享出来给大家,不喜勿喷,有那里说的不对讲得不好还请大家一一指出,谢谢! 过滤器链的执行顺序是服务器按照web.xml ...
- java web编写计算器_javaWeb 使用 jsp 和 javaBean 实现计算器功能
jsp 和 javaBean 实现计算器功能 try { calculator.calculate(); } catch (Exception e) { out.write(e.getMessage( ...
- java web 开发基础_javaweb开发基础(一)
001使用MyEclispe建立web工程 我的建立在D盘WebAPP这个目录下 在myeclipse中启动Tomcat,在浏览器中输入http://localhost:8080/,如果不出意外的话, ...
最新文章
- 深入卷积神经网络背后的数学原理
- leetCode题解之反转二叉树
- spring java配置_Spring基于java的配置
- 参数整定临界比例度实验_PID理解起来很难?系统讲解PID控制及参数调节,理论加实际才好!...
- Asp.net mvc 知多少(六)
- Django博客--5.让博客支持 Markdown 语法和代码高亮
- Unreal Engine 4 中的 UI 优化技巧
- python中valueerror是什_Python:ValueError和Exception的区别?
- 原码、反码、补码,计算机中负数的表示
- 复变函数在计算机科学中的应用,051复变函数与实变函数
- 安卓ASO怎么做?有哪些工具平台?安卓aso工具有哪些
- 旷世英才遭天妒——拉马努金
- robots.txt存放的位置robots.txt文件的作用及写法 (搜索引擎)
- 计算机专业英语字典aqq,最新的英语qq网名
- vue 开发的微信公众号网页 添加背景音乐,以及音乐图标旋转动画
- Composer 简介和基本用法
- Coursera吴恩达机器学习week4笔记
- 2021牛客寒假算法基础集训营4 F. 魏迟燕的自走棋
- 微生物组测序方法比较
- YTU oj 3631 树的高度
热门文章
- C#设计模式之17-中介者模式
- windows10中屏幕键盘 vs 触摸键盘
- xargs命令和find的-exec
- php 获取当前页面url_PHP获取URL –如何获取当前页面的完整URL
- 统计相关系数r与r2的区别_什么是相关系数? 统计解释中的r值
- javaweb解决编码问题_学习编码? 首先,学会解决问题。
- 软件测试测试 python_Python测试简介
- swift 富文本编辑_如何使用Swift构建协作式文本编辑器
- 可以获取python整数类型帮助的语句_Python入门第二课--数据类型、条件语句
- 程序员如何 10 分钟用 Python 画出蒙娜丽莎?