servlet的application对象的使用
application对象
1 什么是application对象 ?
(1) 当Web服务器启动时,Web服务器会自动创建一个application对象。application对象一旦创建,它将一直存在,直到Web服务器关闭。
一个Web服务器通常有多个Web服务目录 (网站),当Web服务器启动时,它自动为每个Web服务目录都创建一个application对象,这些application对象各自独立,而且和Web服务目录一一对应。
访问同一个网站的客户都共享一个application对象,因此,application对象可以实现多客户间的数据共享。
访问不同网站的客户,对应的application对象不同。
(2) application对象的生命周期:从Web服务器启动,直到Web服务器关闭。
注意:一个Web应用程序启动后,将会自动创建一个application对象,而且在整个应用程序的运行过程中只有一个application对象,也即所有访问该网站的客户都共享一个application对象。
(3) application对象的作用范围:application对象是一个应用程序级的对象,它作用于当前Web应用程序,也即作用于当前网站,所有访问当前网站的客户都共享一个application对象。
具体来说:不管哪个客户来访问网站A,也不管客户访问网站A下哪个页面文件,都可以对网站A的application对象进行操作,因为,所有访问网站A的客户都共用一个application对象。
因此,当在application对象中存储数据后,所有访问网站A的客户都能够对其进行访问,实现了多客户之间的数据共享。
(4) application对象的基类是:javax.servlet.ServletContext类。
注意:有些Web服务器不直接支持使用application对象,必须用ServletContext类来声明application对象,再调用getServletContext()方法来获取当前页面的application对象。
(5) ServletContext类:用于表示应用程序的上下文。
一个ServletContext类的对象表示一个Web应用程序的上下文。
具体来说:在Web服务器中,提供了一个Web应用程序的运行时环境,专门负责Web应用程序的部署、编译、运行以及生命周期的管理,通过ServletContext类,可以获取Web应用程序的运行时环境信息。
常识:JSP引擎、Servlet引擎、JSP容器和Servlet容器,都是指Web服务器,Web服务器用于管理所有Web应用程序。
(6) application对象的常用方法,如下所示:
| 方法名 | 描述 |
| String getAttribute(String name) | 根据属性名称获取属性值。 |
| Enumeration getAttributeNames() | 获取所有的属性名称。 |
| void setAttribute(String name, Object object) | 设置属性,指定属性名称和属性值。 |
| void removeAttribute(String name) | 根据属性名称删除对应的属性。 |
| ServletContext getContext(String uripath) | 获取指定URL的ServletContext对象。 |
| String getContextPath() | 获取当前Web应用程序的根目录。 |
| String getInitParameter(String name) | 根据初始化参数名称,获取初始化参数值。 |
| int getMajorVersion() | 获取Servlet API的主版本号。 |
| int getMinorVersion() | 获取Servlet API的次版本号。 |
| String getMimeType(String file) | 获取指定文件的MIME 类型。 |
| String getServletInfo() | 获取当前Web服务器的版本信息。 |
| String getServletContextName() | 获取当前Web应用程序的名称。 |
| void log(String message) | 将信息写入日志文件中。 |
servlet的application对象的使用的更多相关文章
- [原创]java WEB学习笔记47:Servlet 监听器简介, ServletContext(Application 对象), HttpSession (Session 对象), HttpServletRequest (request 对象) 监听器,利用listener理解 三个对象的生命周期
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- JSP内置对象之application对象
虽然常把Web应用称为B/S架构的应用,但其实Web应用一样是C/S结构的应用,只是这种应用的服务器是Web服务器,而客户端是浏览器. 现在抛开Web应用直接看Web服务器和浏览器. Web服务器负责 ...
- 什么是Cookie对象,Session对象,Application对象。
Cookie是: 一个由网页服务器放在您硬盘上的非常小的文本文件. 它本质上就像您的身份证明一样,并且不能像代码那样被执行或被用来散布病毒.它只能被您使用并且只能由提供的服务器读取. 使用Cookie ...
- Java Servlet(三):Servlet中ServletConfig对象和ServletContext对象
本文将记录ServletConfig/ServletContext中提供了哪些方法,及方法的用法. ServletConfig是一个抽象接口,它是由Servlet容器使用,在一个servlet对象初始 ...
- HTTP协议 Servlet入门 Servlet工作原理和生命周期 Servlet细节 ServletConfig对象
1 HTTP协议特点 1)客户端->服务端(请求request)有三部份 a)请求行--请求行用于描述客户端的请求方式.请求的资源名称,以及使用的HTTP协议版本号 请求行中的GET ...
- Servlet页面间对象传递的方法
Servlet页面间对象传递的方法 1.request 2.session 3.application 4.cookie 5.其它的
- 10.application对象
1.application对象实现了用户数据的共享,可存放全局变量 2.application开始于服务器的启动,终止于服务器的关闭. 3.在用户的前后连接或不同用户之间的连接中,可以对applica ...
- jsp内置对象-application对象
隐含对象application是javax.servlet.ServletContext接口实现类的对象,其拥有application的作用范围,即application可以用于在多个用户之间保存数据 ...
- Struts2中的数据处理的三种方式对比(Action中三种作用域request,session,application对象)
1:在Action中如何获得作用域(request,session,application)对象: 取得Map(键值对映射集)类型的requet,session,application; 对数据操作的 ...
随机推荐
- 利用Python编写Windows恶意代码!自娱自乐!勿用于非法用途!
本文主要展示的是通过使用python和PyInstaller来构建恶意软件的一些poc. 利用Python编写Windows恶意代码!自娱自乐!勿用于非法用途!众所周知的,恶意软件如果影响到了他人的生 ...
- 团队冲刺——Four
今日计划: 司宇航:网页生成桌面图标.如何将web项目上线部署到公网.测试与优化其他功能. 季方 :处理爬虫获取的数据. 马佳慧:研究css模板. 王金萱:登录注册界面. 遇到的问题:季方:爬虫获取的 ...
- Task 6.4 冲刺Two之站立会议10
今天是最后一次站立会议,对我们的软件发布进行了讨论,看如何发布软件.我主要负责编写发布时需要提供的文和资料.
- Mevan(转)
Missing artifact com.oracle:ojdbc6:jar:11.2.0.1.0问题解决 ojdbc包pom.xml出错 置顶 2017年08月23日 10:55:25 阅读数:96 ...
- ASP.NET MVC 2.0 参考源码索引
http://www.projky.com/asp.netmvc/2.0/System/Web/Mvc/AcceptVerbsAttribute.cs.htmlhttp://www.projky.co ...
- C++内存布局(1)-让new出的两个变量在堆上的地址连续
大家都知道栈的地址按照从高到低的顺序增长的, 而堆的地址是按照从底到高的顺序增长的. ); ); cout<<"n1,n2所指的地址:" << n1 < ...
- 转 JS模块化简单实现
git示例地址:https://github.com/wufenfen/requireJS-Demo.git
- gitlab邮箱服务配置
配置邮箱服务的用途 有合并请求时,邮件通知 账号注册时,邮件验证 修改密码时,通过邮件修改 配置步骤: .开启QQ邮箱的smtp服务(不建议使用163邮箱,发几次之后,就不能发送) 设置-->账 ...
- windows 下升级安装mysql8,与旧版本5.6共存
应开发需求,自mysql5.7开始引入json列类型和相关函数.为了提高数据读写的访问效率因此把数据库从mysql 5.6版升级到最新发行版 mysql 8.0.11 . 特此记录下多版本升级共存的过 ...
- 【vue】router-link 与 router-view
1 router-link <router-link :to="{ path: '/hello', component: HelloWorld }">hello< ...