JSP脚本中的9个内置对象-application对象
1、JSP脚本包含9个内置对象,这9个内置对象都是ServletAPI接口的实例,只是JSP规范对他们进行了默认初始化。即他们是对象,可以直接使用。
2、application对象
①把基于Web应用称为B/S(Browser/Server)架构的应用,这同样是C/S应用,只是其服务器是Web服务器,而客户端是浏览器。如果抛开Web应用直接看Web服务器和浏览器,他负责完成三件事情:
向远程服务器发送请求;
读取远程服务器返回的字符串数据;
负责根据字符串数据渲染出一个丰富多彩的页面。
注:浏览器是一个非常复杂的网络通信程序,它除了可以向服务器发送请求、读取网络数据之外,最大的技术难点在于将html文本渲染成页面,建立HTML页面的DOM模型,支持JavaScript脚本程序等。
②每当Web服务器接受到客户端链接请求之后,服务器应使用单独的线程为该客户端提供服务。对于每次,请求,大致有以下几个步骤:
启动单独线程;
使用I/O流读取用户请求的二进制数据;
从请求数据中解析参数;
处理用户请求;
生成响应数据;
使用I/O流向客户端发送请求数据。
注:最新的Tomcat使用的时异步IO,具有更高的性能。不需要对每个用户请求都启用单独的线程。
③application对象通常有如下两个作用。
在整个Web应用的多个JSP/Servlet之间共享数据;
访问Web应用的配置参数。
3、让多个JSP、Servlet共享数据
application通过setAttribute(String attrName,Object value)方法将一个值设置成application的attrName属性,该属性的值对整个web应用有效,每个JSP和Servlet都可以访问这个属性。访问该属性的方法为getAttribute(String attrName)。例:用一个页面访问另一个页面,刷新加1。可以把application理解成一个Map对象,任何JSP、Servlet都可以把一个值放入Map对象。
4、获得应用配置参数
application还有一个作用,可用于获得Web应用的配置参数。使用application的getInitParameter(String paraName)来获取web应用的配置参数,这些配置参数应该在web.xml文件中使用context-param元素配置。每个该元素配置一个参数:
param-name:配置Web参数名
param-value:配置Web参数值