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)将信息写入日志文件中。

2、session对象和application对象的比较

     (1) 两者的作用范围不同:
     session对象是用户级的对象,而application对象是应用程序级的对象。
     一个用户一个session对象,每个用户的session对象不同,在用户所访问网站的多个页面之间共享同一个session对象。
     一个Web应用程序一个application对象,每个Web应用程序的application对象不同,但一个Web应用程序的多个用户之间共享同一个application对象。

在同一个网站下:

n 每个用户的session对象不同

n 所有用户的application对象相同

在不同网站下:

n 每个用户的session对象不同

n 每个用户的application对象不同

(2) 两者的生命周期不同:
     session对象的生命周期:用户首次访问网站创建,用户离开该网站 (不一定要关闭浏览器) 消亡。
     application对象的生命周期:启动Web服务器创建,关闭Web服务器销毁。

JSP中application的用法相关推荐

  1. JSP 中EL表达式用法详解

    EL 全名为Expression Language EL 语法很简单,它最大的特点就是使用上很方便.接下来介绍EL主要的语法结构: ${sessionScope.user.sex} 所有EL都是以${ ...

  2. JSP中 input type 用法

    JSP中 input type 用法 Input表示Form表单中的一种输入对象,其又随Type类型的不同而分文本输入框,密码输入框,单选/复选框,提交/重置按钮等,下面一一介绍. 1,type=te ...

  3. (application)javaweb中application的用法

    application对象 1 什么是application对象 ? (1) 当Web服务器启动时,Web服务器会自动创建一个application对象.application对象一旦创建,它将一直存 ...

  4. Android中Application类用法

    Application类 Application和Activity,Service一样是Android框架的一个系统组件,当Android程序启动时系统会创建一个Application对象,用来存储系 ...

  5. java 安卓application_Android中Application类用法

    Application类 Application和Activity,Service一样是Android框架的一个系统组件,当Android程序启动时系统会创建一个Application对象,用来存储系 ...

  6. jsp中用java写标签id_jsp中自定义标签用法实例分析

    本文实例讲述了jsp中自定义标签用法.分享给大家供大家参考.具体如下: 这里简单的写了一个自定义标签,自己定义标签的好处就是在jsp页面中可以使用自己定义的功能,完全与Java代码分离 1. tld文 ...

  7. ASP.NET中application对象的用法(面试题)

    ASP.NET中application对象的用法 本文导读:Application对象是HttpApplicationState类的一个实例,Application状态是整个应用程序全局的.Appli ...

  8. JSP中response,session,cookie,application的作用及区别

    目录 1.response :响应对象 2.session(服务端) 3.使用Cookie实现 记住用户名 功能 4.session :会话 5.session机制: 6.session: 7.ses ...

  9. jsp 中forward 和 Redirect 的用法区别

    jsp中跳转的用法和区别 区别 用法 forward的用法 redirect的用法 区别 首先我们要知道的是forward是转发,地址用的是原地址,但是内容变为设置转向地址的内容. redirect ...

最新文章

  1. FPGA配置模式(Altera版)
  2. php on duplicate key,php – ON DUPLICATE KEY UPDATE值;两次插入相同的值
  3. 常见宽带路由器配置及口令清除技巧
  4. 高性能计算战火再度升级,科技综合实力竞争少不了它
  5. SAP Spartacus的登录验证机制 - user login Authentication
  6. 180118 有趣的人工智能对话小程序
  7. font awesome java_java awt实现 fontawesome转png
  8. java future用法_你必须掌握的 21 个 Java 核心技术
  9. 前端知识天天学(4)
  10. pyspark的用法
  11. 云计算机房设备清单报价,射阳县高级中学云计算机房建设预算.doc
  12. SDR SDRAM控制器设计
  13. java一元抢购,拼多多1元抢购的步骤是什么?
  14. 美图秀秀修复背光照 瞬间让你光彩照人
  15. 云上发展,唯快不破!IT部门是数字化转型的变革者 | 凌云时刻
  16. 2020年10月 Hacktoberfest 纪念版T恤还是种树
  17. Android新浪微博分页加载,Android仿新浪微博分页管理界面(3)
  18. API ,批量添加
  19. 微博html5到桌面,HTML 分享页面到QQ/微信、微博等平台
  20. 【No7.】Android 像素转换工具

热门文章

  1. java序列化与反序列化总结
  2. JavaScript同步和异步
  3. preact源码学习(3)
  4. mysql查询重复用户名_mysql取出以上用户名(去除重复),score值最高的所有记录,查出重复记录...
  5. 2017 年大数据、物联网与 AI 的趋势预测
  6. 【vim入门笔记】基本操作与插件安装
  7. 虚拟机mysql创建一个表_MySQL:创建、修改和删除表
  8. 解决NSTextContainer分页时文本截断问题
  9. java中的远程debug调试
  10. java中正则表达式截取字符串