ServletContext
IT那个小笔记
什么是ServletContext
ServletContext代表是一个web应用的上下文对象(web应用对象)
里面封装的都是web应用信息,因此一个ServletContext对应一个应用
ServletContext是一个域对象
所有的web资源都可以进行存取数据
数据是可以共享的
获取完ServletContext之后向里面写数据
context.setAttribute(String name,Object value);
获取完ServletContext之后,通过name取出存放的数据
context.getAttribute(String name);
获取完ServletContext之后,删除指定名称的值
Context.removeAttribute(String name);
只要是一个域对象上,基本上里面都有这几个方法
ServletContext生命周期
在服务器一启动的时候就会创建
在服务器关闭的时候销毁
获取上下文对象
1.通过init方法当中一个参数ServletConfig来获取
2.直接在HttpServlet当中获取
this.getServletContext()找到父类GenericServlet的这个方法
它相当于还是用ServletConfig对象来获取
通过对象获取信息
在web.xml中可以初始化一些参数,在一个项目中的任何地方通过获取上下文对象ServletContext就可以获取它们
<servlet>
<servlet-name>ServletConfigTest</servlet-name>
<servlet-class>com.vae.servlet.ServletConfigTest</servlet-class>
<init-param>
<param-name>name1</param-name>
<param-value>value1</param-value>
</init-param>
</servlet>
<context-param>
<param-name>dd</param-name>
<param-value>4</param-value>
</context-param>
/*
<servlet>中的参数<init-param>
只能在本servlet代码中
通过当前servlet的config获得
config.getInitParameter("name1") 或
this.getInitParameter("name1")
而<context-param>是全局参数
在项目任何地方
获取上下文对象ServletContext
就可以获取
ServletContext context = config.getServletContext()
c.getInitParameter("dd")
*/
获得Web应用中某一个资源的资源的绝对路径
context.getRealPath("文件")
相对的是web应用根目录
context.getRealPath("index.html")
D:\Java\Tomcat\apache-tomcat-7.0.85\webapps\应用名\index.html
在会你写的名称前面自动拼接上当前工程的绝对地址