您好,登錄后才能下訂單哦!
定義
servlet引擎為每個web應用程序都創建一個對應的ServletContext對象,它被包含在ServletConfig對象中,調用ServletConfig.getServletContext方法可以返回ServletContext對象的引用。
注:由于一個web應用程序中的所有Servlet都共享同一個ServletContext對象,所以,ServletContext對象也被稱為application對象(web應用程序對象)。
可以獲取當前應用的各方面信息
2. 功能
1)獲取當前web應用的初始化參數
設置初始化參數:可以被所有的servlet獲取,而servlet的初始化參數只用那個servlet可以獲取。
ServletContext的初始化參數設置節點在<web-app>節點里面,與<servlet>節點并列,如
<context-param> <param-name>driver</param-name> <param-value>com.mysql.jdbc.Driver</param-value> </context-param> <context-param> <param-name>jdbcUrl</param-name> <param-value>jdbc:mysql:///atguigu</param-value> </context-param> <!-- 配置和映射servlet --> <servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>day_0206.HelloServlet</servlet-class>
2)獲取當前web應用的某一個文件在服務器上的絕對路徑:getRealPath(String path);
使用getRealPath()方法如
String realPath = servletContext.getRealPath("/note.txt"); System.out.println(realPath);
效果:輸出
E:\JavaWorkSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\day_0206\note.txt
3)獲取當前web應用的名稱:getContextPath()
String contextPath = servletContext.getContextPath(); System.out.println(contextPath);
輸出
/day_0206
4)獲取當前web應用的某一個文件對應的輸入流:getResourceAsStream(String path),path的 / 相當于當前應用的根目錄,如
try { ClassLoader classLoader = getClass().getClassLoader(); InputStream is = classLoader.getResourceAsStream("test.txt"); System.out.println("1: " + is); InputStream is2 = servletContext.getResourceAsStream("/WEB-INF/classes/test.txt");//必須用根目錄來定位,否則如用“servletContext.getResourceAsStream("test.txt")”則輸出null System.out.println("2: " + is2); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }
輸出結果
1: java.io.BufferedInputStream@156d9dd
2: java.io.FileInputStream@12734c2
5)和attribute相關的幾個方法
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。