javaweb中的四個域


一、ServletContext對象(Context域)
1.服務器啟動的時候,會為每一個webapp創建一個對應的ServletContext對象,他代表該webapp,當服務器停止或將webapp從服務器中移除的時候,就會銷毀對應的ServletContext對象
2.查閱ServletContext對象的相關API,很重要
3.獲取ServletContext對象的方法
 a.this.getServletConfig().getServletContext();
 b.this.getServletContext();
4.ServletContext對象的應用:
 a.在多個Servlet之間實現數據共享(注意線程安全)
 b.獲取WEB應用的初始化參數,為WEB應用設置初始化參數的方法:在web.xml配置文件中添加<context-param>節點,可以設置初始化參數,常配的初始化參數(數據庫的連接信息,之前說
  配在servlet的初始化參數是不合理的,因為如果有上百個servlet要連接數據庫,我們還得為這些Servlet都配置連接信息)
 c.實現Servlet的轉發,通過this.getServletContext().getRequestDispacther().forward("/xx/xx.jsp");實現請求轉發
 d.利用ServletContext對象讀取文件(WEB工程中的配置文件.properties和.xml文件區別,如果數據沒有關系,則使用.properties文件,否則使用.xml)
  Servlet中讀取文件的代碼:
  A.InputStream in = this.getServletContext().getResourceAsStream("path");
  Properties prop = new Properties();
  prop.load(in);
  prop.getProperty("name");
 
   B.String realPath = this.getServletContext().getRealPath("path");
   FileInputStream in = new FileInputStream(realPath);
   Properties prop = new Properties();
  prop.load(in);
  prop.getProperty("name");
 e.當我們使用FileInputStream讀取文件的時候,並且path是相對路徑的時候,該路徑一定是相對於JVM的路徑,Tomcat的JVM要看我們在配置的時候,配置的那個
 f.創建一個對象的流程,首先類裝載器將類的字節碼文件加載到內存,然后根據字節碼文件反射出類的實例,如果一個類裝載器能夠裝載某個目錄下的類,那么他也能裝載該目錄下的文件
 g.普通JAVA類中讀取文件的方式(使用claassLoader):
  A.這種方式只會在程序運行的時候加載一次,不能讀到更新后的內容
   InputStream in = xxx.class.getClassLoader().getResourceAsStream("相對於該目錄的相對路徑");
   Properties prop = new Properties();
   prop.load(in);
   prop.getProperty("name");
  B.這種方式能讀到更新后的內容
   String path = xxx.class.getClassLoader().getResource("相對於該目錄的相對路徑").getPath();
   FileInputStream fin = new FileInputStream(path);
   Properties prop = new Properties();
   prop.load(fin);
   prop.getProperty("name");


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM