當前位置:首頁 » 網頁前端 » web讀取配置文件
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

web讀取配置文件

發布時間: 2022-05-28 18:42:31

1. 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();

2. 為什麼就是獲取不到javaweb工程下的配置文件所在路徑

在Java web項目中經常會用屬性文件作為配置文件,而其一般放在src的根目錄下,讀取文件時一般會有以下兩種情況:

方式一、在servlet中讀取:

// action配置文件路徑
public static final String ACTIONPATH = "WEB-INF/classes/actions.properties";
// 屬性文件
public static final Properties prop = new Properties();
// 獲取servlet上下文的絕對路徑,如:C:\Program Files\Apache\Tomcat 6.0\webapps\fee\
String path = getServletContext().getRealPath("\\");
// 把文件讀入文件輸入流,存入內存中
FileInputStream fis = new FileInputStream(new File(path + ACTIONPATH));
//載入文件流的屬性
prop.load(fis);
方式二、在一般的類中讀取:
// action配置文件路徑
public static final String ACTIONPATH = "actions.properties";
// 屬性文件
public static final Properties prop = new Properties();
// 獲取當前類載入的根目錄,如:/C:/Program Files/Apache/Tomcat 6.0/webapps/fee/WEB-INF/classes/
String path = UriFilter.class.getClassLoader().getResource("").toURI().getPath();
// 把文件讀入文件輸入流,存入內存中
FileInputStream fis = new FileInputStream(new File(path + ACTIONPATH));
//載入文件流的屬性
prop.load(fis);

3. ASP.NET MVC 4中如何讀取web.config中的配置

ASP.NET MVC 4中讀取web.config中的配置方法如下:
web.config內容:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>

<system.web>
<compilation defaultLanguage="c#" debug="true" />
</system.web>
<appSettings>
<add key="ConnectionInfo" value="server=(local);database=Northwind;Integrated Security=SSPI" />
</appSettings>
</configuration>
讀取配置的方法:

void Page_Load(object sender, EventArgs e)
{
string connectionInfo = ConfigurationSettings.AppSettings["ConnectionInfo"];
using(sqlConnection connection = new SqlConnection(connectionInfo))
{
connection.Open();
// perform work with connection
}
}

4. myeclipse做webservice開發,如何讀取配置文件中web.xml中設置的參數

想請問你的web.xml是否是你自已定義的xml文件

1.是的話,那很簡單。DOM或是SAX解析隨便找一種方法就好

2.不是,說明是你web的配置目錄,你可以在使用節點加一個
<init-param>
<param-name>firstparam</param-name>
<param-value>firstparamvalue</param-value>
</init-param>

然後在方法裡面獲得
<%
String Str1;
Str1=config.getInitParameter("firstparam");
Out.println(Str1);

%>
不知道能否幫到你^^
--------------------------------------
方法很多。csdn幫你看了下

在tomcat 的C:\Program Files\Apache Software Foundation\Tomcat 5.0\conf\Catalina\localhost 目錄下建立一個xml文件,文件名是你的應用的名字

類似於這樣:

<?xml version='1.0' encoding='utf-8'?>
<Context docBase="C:\Program Files\Apache Software Foundation\Tomcat 5.0\webapps\sc114" path="/sc114" workDir="work\Catalina\localhost\sc114">
<Resource name="jdbc/UBSS_DS" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/UBSS_DS">
<parameter>
<name>maxWait </name>
<value>5000 </value>
</parameter>
<parameter>
<name>maxActive </name>
<value>4 </value>
</parameter>
<parameter>
<name>password </name>
<value>xunqin </value>
</parameter>
<parameter>
<name>url </name>
<value>jdbc:oracle:thin:@192.168.14.178:1521:orcl </value>
</parameter>
<parameter>
<name>driverClassName </name>
<value>oracle.jdbc.OracleDriver </value>
</parameter>
<parameter>
<name>maxIdle </name>
<value>2 </value>
</parameter>
<parameter>
<name>username </name>
<value>xunqin </value>
</parameter>
</ResourceParams>

</Context>

//web.xml 裡面映射資源

<resource-ref>
<description>DB Connection </description>
<res-ref-name>jdbc/UBSS_DS </res-ref-name>
<res-type>javax.sql.DataSource </res-type>
<res-auth>Container </res-auth>
</resource-ref>

程序裡面這樣訪問:

try{
DataSource ds = null;
InitialContext ctx=new InitialContext();
ds=(DataSource)ctx.lookup("java:comp/env/jdbc/UBSS_DS");
Connection conn = ds.getConnection();
//這里拿到了connection對象後,你想幹啥就幹啥吧
}catch(Exception e){
System.out.println("**********");
e.printStackTrace();

return null;
}

//tomcat不同的版本 配置可能稍有不同,有的配置在server.xml裡面,自己去研究下,網上多的一大把

5. 用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不同

使用的是當前類的相對路徑

6. 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";
}
}

7. web.xml中如何讀取properties配置文件中的值

方法如下:

<context-param>


<param-name>log4jConfigLocation</param-name>


<param-value>classpath:/config/log4j.properties</param-value>


</context-param>

8. web項目中如何讀取配置文件config.xml

servlet初始化的時候會去讀取web.xml,把這個文件的路徑配置到web.xml里。或者你在web.xml里載入個初始化類,這個類去載入config.xml

9. java web項目 web.xml中如何讀取properties配置文件中的值

<util:properties id="config" location="classpath:test.properties" />
其中id為讀取文件以後的bean id,可以通過這個id獲取文件中對應屬性的值,如config.test代表獲取文件中test屬性的值