ServletContext基础
一、什么是ServletContext
1.1域对象
servletContext是一个域对象。
1.2生命周期
在启动服务器,比如TomCat时。服务器会为每个应用都创建一个servletContext对象。
在关闭服务器时,服务器会销毁这个servletContext对象。
1.3内存模型
如图:
此时,该tomcat里面运行了一个web应用,有三个servlet。他们共享一个数据区(servletContext),可以从这个数据区根据其作用范围拿到数据。
二、什么是域对象
1.1域对象介绍
域对象是服务器在内存上创建的存储空间,用于不同动态资源(servlet)之间传递和共享数据。
1.2域对象方法介绍
因为每个域对象内置一个map,以键值对方式存放数据
//key--->String类型 value-->Object类型
setAttribute(name,value)
//得到这个键的值
getAttribute(name)
//移除这个键对应的值
removeAttribute(name)
1.3如何获得servletContext对象
1.该类实现servlet接口
or
2.该类继承Ge’nericServlet类
or
3.该类继承HttpServlet类
然后在本类中调用
//获得servletcontext对象
ServletContext context = this.getServletContext();
1.4servlet读取全局核心参数
全局核心参数是放在web.xml文件中的,并这样配置
因为它不属于任何一个servlet,它可以被所有的servlet访问
<context-param>
<param-name>n1<param-name>
<param-value>v1</param-value>
</context--param>
<context-param>
<param-name>n2</param-name>
<param-value>v2</param-value>
</context--param>
可以通过
//返回值类型String
getServletContext.getInitParameter("n1")来得到v1的值
//
getServletContext.getInitParameterNames();来获得参数列表
三、域对象总结
按照其作用域来升序排序
1.PageContext–>写在jsp文件里面
它只是作用于当前页面。
2.request—>用于一次请求
当用户请求时,当前页面上的所有数据都会打包成一个数据包发送到请求的servlet方法里面去,然后我们可以设置request对象来存放数据,这些数据可以在整个响应中获得。
3.session—>用于一次会话中。
当我们打开浏览器访问这个web应用,session存放的值我们都能访问到,当关闭浏览器时,存放的值就失效了。
创建方式:HttpSession session = request.getSession();
4.servletContext—>作用域为整个TOMCAT,开启tomcat时启用,关闭tomcat时才从内存中释放值
创建方式:ServletContext context = this.getServletContext();
上一篇: 微信小程序中picker组件的简单用法
下一篇: smartupload文件上传路径问题