回覆列表
  • 1 # ikiek3712

    1.透過ServletContext可以訪問應用範圍的初始化引數和屬性 1).初始化引數 在web.xml中配置初始化引數: email [email protected] 從Servlet中訪問初始化引數: ServletContext application=this.getServletContext(); out.println("send us your out.println(application.getInitParameter("email")); out.println("">email"); 2).屬性 可以透過程式設計的方式繫結,也可以作為web應用的全域性變數被所有Servlet和JSPs訪問 設定Context屬性: ServletContext application=this.getServletContext(); application.setAttribute("person1",new Person("Jim")); application.setAttribute("person2",new Person("Green")); 獲取Context屬性: ServletContext application=this.getServletContext(); Enumberation persons=application.getAttributeNames(); while(persons.hasMoreElements()){ String name=(String)persons.nextElement(); Person p=(Person)persons.getAttribute(name); application.removeAttribute(name); }2.透過ServletContext可以訪問web應用的靜態資源 使用ServletContext介面可以直接訪問web應用中的靜態內容文件結構.包括HTML,GIF和JPEG檔案。如以下方法: .getResource .getResourceAsStream 這兩個方法的引數都是以"/"開頭的字串,表示資源相對於context根的相對路徑.文件結構可以存在於伺服器檔案系統, 或是war包中,或是在遠端伺服器上,抑或其他位置.不可以用來獲得動態資源,比如,getResource("/index.jsp"), 這個方法將返回該jsp檔案的原始碼,而不是動態頁面.可以用"Dispatching Requests"獲得動態內容. 列出web應用中可被訪問的資源,可以使用getResourcePaths(String path)方法。3.透過ServletContext可以跨多個請求,使用者和Servlets web伺服器支援在一臺機器上共享一個IP的多個邏輯主機,這種能力被稱為"虛擬主機", 每個邏輯主機都擁有它自己的servlet context。 servlet context不能跨虛擬主機共享.

  • 中秋節和大豐收的關聯?
  • 倉鼠什麼時候磨牙?