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一样存取数据
    
  • 编码

    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"));
    }
    

作者:苏无及

出处:https://www.cnblogs.com/suwuji/p/16421556.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   苏无及  阅读(37)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
more_horiz
keyboard_arrow_up light_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示