javax.servlet.ServletContext
(2017-02-02 17:36:56)
标签:
servlet |
分类: JavaEE(JDBC、Servlet、Jsp) |
1.javax.servlet.ServletContext是Servlet规范中的一个接口
2.apache的Tomcat服务器对ServletContext接口的实现org.apache.catalina.core.ApplicationContextFacade
3.Tomcat服务器实现了Servlet规范即Tomcat是一个Servlet容器
4.所有的Servlet对象【所有用户】共享一个ServletContext对象。对于一个webapp来说,ServletContext对象只有一个
5.ServletContext对象在服务器启动阶段即web.xml文件解析的时候被实例化;在服务器关闭的时候被销毁。所以该对象生命周期是最长的
6.ServletContext代表什么?
代表Servlet上下文对象,所有的Servlet对象共享一个Servlet上下文对象。ServletContext对象也可以理解成一个应用范围对象,代表应用范围。可以向这个应用范围对象中存放数据,其它的Servlet可以从这个应用范围对象中将数据取出
7.ServletContext接口中常用的方法
void setAttribute(String name,Object object)
Object getAttribute(String name) 从Servlet上下文对象中读取object,通过名name
void removeAttribute(String name) 将Servlet上下文对象中的object删除,通过名name
String getInitParameter(String name) 通过上下文初始化参数的name获取value
Enumeration getInitParameterNames() 获取上下文初始化参数的所有name
String getRealPath(String path) 获取文件的绝对路径
8.什么情况下使用ServletContext?
(1)所有用户共享
(2)不会被修改的数据,只是经常被读取的数据。因为放在ServletContext中的数据若涉及到修改操作,多线程并发的情况下存在线程安全问题
(3)少量的数据,因为数据太庞大会占用大量内存