日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ServletContext的作用

發布時間:2025/4/5 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ServletContext的作用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

什么是 ServletContext?

  • ServletContext是一個全局的儲存信息的空間,表示 Servlet 上下文對象
  • 一個 web 工程,只有一個 ServletContext 對象實例
  • 生命周期:當web應用關閉Tomcat關閉或者Web應用reload的時候,ServletContext對象會被銷毀
  • 上述的web工程應該是指:含有一個web文件夾(含有WEB-INF、web.xml的文件夾),如下圖所示。


    獲取ServletContext對象

    // 方法一 ServletContext context = getServletContext(); // 方法二 ServletContext context = getServletConfig().getServletContext();

    解釋方法二:
    TODO:不明白???通過getServletConfig()可以返回一個config對象,

    public ServletContext getServletContext() {return this.getServletConfig().getServletContext(); }

    ServletContext 類的四個作用

  • 獲取 web.xml 中配置的上下文參數 context-param–context.getInitParameter()
  • 獲取當前的工程路徑–context.getContextPath()
  • 獲取工程部署后在服務器硬盤上的絕對路徑–`context.getContextPath()``
  • 像 Map 一樣存取數據–setAttribute()、getAttribute()、removeAttribute()
  • 測試 ServletContext 的作用

  • 獲取 web.xml 中配置的上下文參數 context-param
  • 自定義的 Servlet 程序代碼

    ServletContext context = getServletContext();// 獲取web.xml文件中的上下文信息,通過 param-name 獲取 param-value System.out.println("context-param 參數username的值是:" + context.getInitParameter("context")); System.out.println("context-param 參數username的值是:" + context.getInitParameter("username"));

    本文所有java代碼都寫在doGet()方法中

    <!--context-param是上下文參數--> <context-param><param-name>context</param-name><param-value>123456</param-value> </context-param><context-param><param-name>username</param-name><param-value>hahah</param-value> </context-param>

    注意:以上<context-param>必須寫在web.xml文件的最上面(<web-app>標簽后)

    輸出結果:

    context-param 參數username的值是:123456 context-param 參數username的值是:hahah
  • 獲取當前的工程路徑
  • // 獲取當前的工程路徑,格式: /工程路徑 System.out.println("獲取當前工程路徑:" + context.getContextPath());

    輸出:

    獲取當前工程路徑:/webpro
  • 獲取工程部署后在服務器硬盤上的絕對路徑
  • // 獲取工程部署后在服務器硬盤上的絕對路徑 System.out.println("獲取當前工程絕對路徑:" + context.getRealPath("/"));

    輸出:

    獲取當前工程絕對路徑:F:\Code\webpro\out\artifacts\webpro_war_exploded\
  • 像 Map 一樣存取數據
  • 存數據取數據刪除數據
    Mapput()get()remove()
    域對象setAttribute()getAttribute()removeAttribute()
    context.setAttribute("key1", "value1"); context.setAttribute("key2", "value2");System.out.println("key1的值是:" + context.getAttribute("key1")); System.out.println("key2的值是:" + context.getAttribute("key2"));context.removeAttribute("key1");System.out.println("remove key1后 key1的值是:" + context.getAttribute("key1")); System.out.println("remove key1后 key2的值是:" + context.getAttribute("key2"));

    輸出:

    key1的值是:value1 key2的值是:value2 remove key1后 key1的值是:null remove key1后 key2的值是:value2

    參考文章:

  • Servletcontext 對象
  • 尚硅谷最新版JavaWeb全套教程
  • 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

    總結

    以上是生活随笔為你收集整理的ServletContext的作用的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。