❶ java web工程,讀取配置文件路徑問題
FileReaderfr=newFileReader(JdbcTools.class.getClassLoader.getResourceAsStream("conf/WaterConfig.properties"));
❷ 用java 如何讀取配置文件(如:資源文件)中配
java讀取配置文件的幾種方法如下:
方式一:採用ServletContext讀取,讀取配置文件的realpath,然後通過文件流讀取出來。因為是用ServletContext讀取文件路徑,所以配置文件可以放入在web-info的classes目錄中,也可以在應用層級及web-info的目錄中。文件存放位置具體在eclipse工程中的表現是:可以放在src下面,也可放在web-info及webroot下面等。因為是讀取出路徑後,用文件流進行讀取的,所以可以讀取任意的配置文件包括xml和properties。缺點:不能在servlet外面應用讀取配置信息。
方式二:採用ResourceBundle類讀取配置信息,
優點是:可以以完全限定類名的方式載入資源後,直接的讀取出來,且可以在非Web應用中讀取資源文件。缺點:只能載入類classes下面的資源文件且只能讀取.properties文件。
方式三:採用ClassLoader方式進行讀取配置信息
優點是:可以在非Web應用中讀取配置資源信息,可以讀取任意的資源文件信息
缺點:只能載入類classes下面的資源文件。
方法4 getResouceAsStream
XmlParserHandler.class.getResourceAsStream 與classloader不同
使用的是當前類的相對路徑
❸ JAVA maven創建web項目,把Spring框架配置文件放在src/main/resources中讀取不到配置文件
classpath:是從類路徑里查找配置文件,也就是/WEB-INF/classes目錄下找SpringMVC-servlet.xml。
你寫了classpath了,不會從web-info下找,而是去web-inf/classes下面找,所以找不到。
❹ java web工程,讀取配置文件路徑問題
讀取配置文件 , xxx.properties放在webroot/WEB-INF/classes/目錄下
首先將配置文件轉換成InputStream,有兩種方式,原理一樣,都是通過類載入器得到資源:
(1)InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("xx.properties");
(2) InputStream inputStream =
this.getClass() .getClassLoader().getResourceAsStream( "xx.properties" );
調用對象的getClass()方法是獲得對象當前的類類型,這部分數據存在方法區中,
而後在類類型上調用 getClassLoader()方法是得到當前類型的類載入器,我們知道在Java中所有的類都是通過載入器載入到虛擬機中的,而且類載入器之間存在父 子關系,就是子知道父,父不知道子,這樣不同的子載入的類型之間是無法訪問的(雖然它們都被放在方法區中),所以在這里通過當前類的載入器來載入資源也就 是保證是和類類型同一個載入器載入的。
最後調用了類載入器的getResourceAsStream()方法來載入資源。
(3) 然後載入配置文件,讀取屬性值
Properties prop = new Properties();
prop.load(input);
String value = prop.getProperty("PropertyName");
input.close();
❺ java web應用程序的properties文件路徑
這個問題就得看你的配置文件放在哪裡啦,如果放在了項目的Classes目錄(或子目錄)下,你可以用**.Class.getResource('相對路徑')來獲取配置文件路徑.如果是其他目錄,那你只能在項目啟動時通過ServletContext獲取項目根目錄+配置文件的目錄來確定路徑.並把路徑放到類文件可以引用的地方啦.
以下是我在做項目時寫的一個用於獲取路徑的類,寫的可能不太好.但還是希望能對你有所幫助:
package com.example.web;
import java.io.File;
import java.net.URL;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
/**
* 路徑獲取類
* */
public class WebPath {
/**
* 獲取項目根目錄的絕對路徑
*
* @return 如:F:\TongJianpeng\J2EEUtil
* */
public static String getAbsolutePathWithProject() {
return System.getProperty("user.dir");
}
/**
* 獲取項目所在盤符
* */
public static String getDriverPathWithProject() {
return new File("/").getAbsolutePath();
}
/**
* 獲取項目根目錄的絕對路徑
*
* @return 項目根目.例如<br/> F:\tomcat\webapps\J2EEUtil\
* */
public static String getAbsolutePathWithWebProject(
HttpServletRequest request) {
return request.getSession().getServletContext().getRealPath("/");
}
/**
* 獲取項目根目錄下的指定目錄的絕對路徑
*
* @param 項目根目下的指定目錄
* .例如:/login/
* @return 項目根目下的指定目錄.例如:<br/> F:\tomcat\webapps\J2EEUtil\login\
* */
public static String getAbsolutePathWithWebProject(
HttpServletRequest request, String path) {
return request.getSession().getServletContext().getRealPath(path);
}
/**
* 獲取項目根目錄的絕對路徑
*
* @return 項目根目.例如<br/> F:\tomcat\webapps\J2EEUtil\
* */
public static String getAbsolutePathWithWebProject(ServletContext context) {
return context.getRealPath("/");
}
/**
* 獲取項目根目錄下的指定目錄的絕對路徑
*
* @param 項目根目下的指定目錄
* .例如:/login/
* @return 項目根目下的指定目錄.例如:<br/> F:\tomcat\webapps\J2EEUtil\login\
* */
public static String getAbsolutePathWithWebProject(ServletContext context,
String path) {
return context.getRealPath(path);
}
/**
* 獲取項目classpath目錄的絕對路徑
*
* @return classes目錄的絕對路徑<br/>
* file:/F:/tomcat/webapps/J2EEUtil/WEB-INF/classes/
* */
public static URL getAbsolutePathWithClass() {
return WebPath.class.getResource("/");
}
/**
* 獲取項目classPath目錄下的指定目錄的絕對路徑
*
* @param path
* classes目錄下的指定目錄.比如:/com/
* @return file:/F:/tomcat/webapps/J2EEUtil/WEB-INF/classes/com/
* */
public static URL getAbsolutePathWithClass(String path) {
return WebPath.class.getResource(path);
}
/**
* 獲取指定類文件的所在目錄的絕對路徑
*
* @param clazz
* 類
* @return 類文件的絕對路徑.例如:<br/> 包com.Aries.Util.Web下的Main.java類.<br/>
* 路徑為:file:/
* F:/tomcat/webapps/J2EEUtil/WEB-INF/classes/com/Aries/Util/Web/
* */
public static URL getAbsolutePathWithClass(Class clazz) {
return clazz.getResource("");
}
}
❻ 我在web-inf下有一個xml配置文件 在一個java類中怎麼獲得這個配置文件的路徑大神指教
System.out.println(request.getContextPath()+"web-inf/web.xml");
❼ java讀取properties配置文件路徑問題
說說我的項目中的情況吧:
配置文件「weblogic11g.properties」保存在WEB-INFO目錄下,和web.xml在同一個目錄下。
一個JavaBean專門用於讀取配置文件的內容:
public class PropertiesIO {
private String fileName = null;
public PropertiesIO(String fileName){
this.fileName = getClass().getClassLoader().getResource("/").getPath() + "..\\" + fileName;
}
public String getValue(String key){
try{
InputStream in = new FileInputStream(fileName);
Properties prop = new Properties();
prop.load(in);
in.close();
return prop.getProperty(key);
}
catch(Exception err){
err.printStackTrace();
return null;
}
}
}
重點說明:getClass().getClassLoader().getResource("/")會得到當前項目下的「WEB-INF\classes」目錄,即JavaBean的*.class文件的根目錄,
getClass().getClassLoader().getResource("/").getPath() + "..\\" + fileName
就會得到當前項目下的「WEB-INF\weblogic11g.properties」文件。
getValue()是根據鍵值得到相應配置項的內容,這樣就簡單了。
❽ java 怎麼讀取web jar中的某個配置文件
項目遷移的過程中發現以前的代碼維護性實在是差。
我把問題簡化為以下這些簡單的代碼:
項目M
引用了項目
A.jar,這個A在lib目錄裡面
在A裡面放置了一個配置文件test.properties,
就放在jar的根目錄下。
A.jar
|___test.properties
在M中有一段代碼回去讀取這個A.jar里的配置文件,簡單一點就用下面這句話來調用。
Java
code
public
class
ConfigUtil
{
public
static
String
getInstance()
throws
Exception{
String
path
=
ConfigUtil.class.getResource("/").toString();
path
=
path.substring(0,
path.length()-8);//
System.out.println(path);//這里列印的結果顯示可以拿到當前類的絕對路徑
InputStream
f
=
new
FileInputStream("jar:"+path+"lib!/A.jar/"+"test.properties");
return
"xxx";
}
}
❾ java web項目中,文件位置
1.JSP 所有的網頁代碼
2.js所有的javaScript代碼
3.bo一般是java的類文件
4.一般是處理資料庫方法的介面
5.impl是上述介面的實現
6.service 是 處理資料庫邏輯的服務
7.action 是處理業務邏輯的
8.xml是配置文件
9.jsp得到請求到 structs的配置文件里找相應的配置方法,根據配置方法到action里找到處理的方法,然後執行,返回一個結果,再到剛才的配置文件里查找返回處理結果,然後返回jsp頁面上
10.這其中,action里的處理的時候,可能會跟資料庫發生交互,就會調用service里的方法,service里的方法又會通過介面調用impl里的方法,然後bo里是與資料庫一一對應的映射文件,對應著資料庫里的每張表。
❿ 普通java類讀取webroot下的配置文件
可以使用絕對路徑寫:/項目名/test.xml
或者看看這么寫:../../../test.xml行不行