其他分享
首页 > 其他分享> > ServletContext

ServletContext

作者:互联网

1、什么是ServletContext

  1. ServletContext是一个接口,表示Servlet上下文对象
  2. 一个web工程,只有一个ServletContext对象实例
  3. ServletContext对象是一个域对象
  4. ServletContext是在web工程部署启动的时候创建,在web工程停止的时候销毁

1.1、什么是域对象

域对象,是可以像Map一样存取数据的对象,ServletContext的域对象是整个web工程

操作 存数据 取数据 删除
Map put() get() remove()
域对象 setAttribute() getAttribute() removeAttribute()

2、ServletContext类的四大作用

  1. 获取web.xml中配置的上下文参数context-param
  2. 获取当前的工程路径,格式:/工程路径
  3. 获取工程部署后在服务器硬盘上的绝对路径
  4. 像Map一样存取数据

web.xml

<context-param>
  <!--上下文参数,属于整个web工程-->
  <param-name>username</param-name>
  <!--参数值-->
  <param-value>context</param-value>  
</context-param>
<context-param>
  <param-name>password</param-name>
  <param-value>1111</param-value>
</context-param>

Servlet

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    //1、获取上下文参数
    System.out.println(getServletContext().getInitParameter("username"));
    System.out.println(getServletContext().getInitParameter("password"));
    //2、获取当前的工程路径
    System.out.println(getServletContext().getContextPath());
    //3、获取工程部署后在服务器硬盘上的绝对路径
    System.out.println("工程部署路径:"+getServletContext().getRealPath("/"));
    //工程下servlet目录下的MyServlet_04文件路径
    System.out.println(getServletContext().getRealPath("/servlet/MyServlet_04"));
    //4、像Map一样存取数据
    getServletContext().setAttribute("ServletContext","你好ServletContext!");
    System.out.println(getServletContext().getAttribute("ServletContext"));
}

标签:web,System,getServletContext,ServletContext,println,out
来源: https://www.cnblogs.com/suwuji/p/16421556.html