最近正在努力學習中。。。我會把我每天學到的知識上傳到我的博客中,希望和大家交流,勿噴》、 首先要明白普通java項目跟伺服器中的路徑是不同的,普通java項目尋找路徑直接寫絕對路徑就可以,但是伺服器上的路徑不能直接寫你的eclips中的路徑。 當你的servlet類編譯以後,它會編譯到你的tomca ...
最近正在努力學習中。。。我會把我每天學到的知識上傳到我的博客中,希望和大家交流,勿噴》、
首先要明白普通java項目跟伺服器中的路徑是不同的,普通java項目尋找路徑直接寫絕對路徑就可以,但是伺服器上的路徑不能直接寫你的eclips中的路徑。
當你的servlet類編譯以後,它會編譯到你的tomcat文件夾下的webapps/projectName/WEB-INF/classes文件夾中。
可以使用ServletContext對象的getReSourceAsStream()方法獲取一個文件輸入流,配合Properties對象進行使用。
代碼演示:--純手寫
在Servlet類中
//首先獲取ServletContext對象
ServletContext servletContext = this.getServletContext();
//通過ServletContext調用getReSourceAsStream();傳入一個路徑
InputStream is = servletContext.getReSourceAsStream("/WEB-INF/classes/db.properties");
//創建Properties對象
Properties properties = new Properties();
properties.load(is);
//獲取文件中的屬性
String user = properties.getProperty("user");
String password = properties.getProperty("password");
//這樣就可以讀取到伺服器中的文件了
System.out.println(user);
ServletContext對象還有另一個方法叫做getRealPath()方法,他會返回磁碟中的絕對路徑。跟上個方法不同的是返回輸入流對象。
//代碼如下
//獲取ServletContext對象
ServletContext servletContext = this.getServletContext();
String path = servletContext.getRealPath("WEB-INF/classes/db.properties");
Properties properties = new Properties();
properties.load(new FileInputStream(path));
System.out.println(properties.getProperty("username"));
java交流請加qq 839533677