天天看點

Java web中ServletContext使用

ServletContext

概念

  • 代表整個web應用,可以和程式的容器(伺服器)來通信。

擷取ServletContext

  • 通過request對象擷取
  • 通過HttpServlet擷取
  • 無論通過那種方式擷取到的ServletContext都是同一個對象

功能

  • 擷取MIME類型
    • 在網際網路通信中定義的一種檔案資料類型
    • 格式:大類型/小類型、text/html、image/jpeg
    • 擷取:String getMimeType(String file)
    • //擷取ServletContext
      ServletContext sc = this.getServletContext();
      //定義檔案名
      String filename = "a.jpg";
      //使用檔案名擷取mime類型
      String mimeType = sc.getMimeType(filename);
      System.out.println(mimeType);
                 
  • 域對象:共享資料
    • setAttribute(String name, Object value)
    • getAttribute(String name)
    • removeAttribute(String name)
    • ServletContext對象的範圍:所有使用者的請求資料
    • //testcontext1
      ServletContext sc = this.getServletContext();
              sc.setAttribute("msg", "hahaha");
      
      //testcontext2
      ServletContext sc = this.getServletContext();
              String msg = (String) sc.getAttribute("msg");
              System.out.println(msg);
                 
  • 擷取檔案的真實路徑
    • getRealPath(""):擷取真實路徑
    • web目錄下的檔案會在getRealPath方法擷取到的路徑下
    • src目錄下的檔案會在getRealPath方法擷取的路徑下的WEB-INF下的classes下
    • ServletContext sc = this.getServletContext();
      System.out.println(sc.getRealPath(""));