上下文对象
用于关联多个Servlet之间通信的桥梁 用于多个Servlet之间的信息的共享 等。
ServletContext 在JSP技术中 我们称其为 application
我们的tomcat在启动时 会为每一个项目创建且仅有一个ServletContext对象 在服务器关闭或应用被卸载时 对象会被销毁
我们在项目的Servlet中 可以通过一些方法 得到这个对象 并进行数据的储存 修改 删除 获取等操作
如何从Servlet中得到一个servletContext对象
在servlet中 通过getServletContext方法 获取上下文对象
格式
ServletContext context = getServletContext();
ServletContext常用方法
1 设置 替换数据
Context.setAttribute(String key,Object value);
2 获取数据
Object value = context.getAttribute(String key);
3 删除数据
Context.removeAttrbute(String key);
4 获取项目运行时所在的文件路径
String 路径 = context.getRealPath("/");
ServletContext 获取应用初始化时 配置文件中的数据
我们可以在web.xml中 向ServletContext 添加初始化的数据
在web.xml中添加数据
<context-param>
<param-name>key</param-name>
<param-value>值</param-value>
</context-param>
注:上述节点可以配置多个
获取数据方法
String value = context.GetInitParameter(String key);
获取所有的key
String[] arr = context.getinitParameterNames();
SercletConfig对象
java类 每一个Servlet都拥有一个ServletConfig对象
获取对象方式
1 在Servlet中 通过getServletConfig()获取
2 通过重写init方法,使用参数列表中的config对象
可以通过web.xml 向每一个servlet添加配置的信息 在Servlet中可以通过servletconfig得到这些配置信息
格式
<servlet>
<servlet-name></servlet-name>
<servlet-class></servlet-class>
<init-param>
<param-name>key</param-name>
<param-value>值</param-value>
</init-param>
</servlet>
通过ServletConfig如何获取初始化的参数数据
String value = config.getInitParameter(String key);
获取所有的key
String[] arr = context.getinitParameterNames();
Servlet创建时机
Web.xml中 servlet的配置中
可以通过<load-on-stratup>节点 来指定Servlet启动顺序
当节点值为负数或不写时,表示用户第一次请求 创建此Servlet 当节点值等于或大于0时 在tomcat启动时,创建此Servlet
如果存在多个等于或者大于0的Servlet,启动的顺序是 值越小越早创建 值相同时 自上而下顺序创建