ServletContext域对象

ServletContext对象

        ServletContext对象 ,叫做Servlet的上下文对象。表示一个当前的web应用环境。一个web应用中只有一个ServletContext对象。

  • 创建时机:加载web应用时创建ServletContext对象。
  • 得到对象: 从ServletConfig对象的getServletContext方法得到。

ServletContext对象的核心API(作用)

1. 得到当前web应用的路径
java.lang.String getContextPath()
2. 得到web应用的初始化参数
java.lang.String getInitParameter(java.lang.String name)
java.util.Enumeration getInitParameterNames()
3. 域对象有关的方法
void setAttribute(java.lang.String name, java.lang.Object object)
java.lang.Object getAttribute(java.lang.String name)
void removeAttribute(java.lang.String name)
4. 转发(类似于重定向)
RequestDispatcher getRequestDispatcher(java.lang.String path)
** 5. 得到web应用的资源文件**
java.lang.String getRealPath(java.lang.String path)
java.io.InputStream getResourceAsStream(java.lang.String path)

域对象的有关方法

域对象:作用是用于保存数据,获取数据。可以在不同的动态资源之间共享数据。包括以下几个:

  • HttpServletRequet 域对象
  • ServletContext域对象
  • HttpSession 域对象
  • PageContext域对象

ServletContext域对象

作用范围:整个web应用中

  • 保存数据:void setAttribute(java.lang.String name, java.lang.Object object)
  • 获取数据: java.lang.Object getAttribute(java.lang.String name)
  • 删除数据: void removeAttribute(java.lang.String name)

案例

保存到域对象中:

response.setContentType("text/html;charset=utf-8");
        //得到域对象
        ServletContext context = this.getServletContext();
        //把数据保存到域对象中
        context.setAttribute("name","张三");
        System.out.println("保存成功");

从域对象中获取

response.setContentType("text/html;charset=utf-8");
        //得到域对象
        ServletContext context = this.getServletContext();
        //从俞对象中获取
        String name = (String)context.getAttribute("name");
        System.out.println(name);

运行效果:

ServletContext域对象_第1张图片
运行结果.jpg

你可能感兴趣的:(ServletContext域对象)