這個問題就得看你的設定檔放在哪裡啦,如果放在了專案的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:TongJianpengJ2EEUtil
**/
public class WebPathū
/**
* 取得項目所在盤符
**/
. () {
return System.getProperty("user.dir");
}
/**
* 取得專案根目錄的絕對路徑
*
* @return 專案根目.例如
F:tomcatwebappsJ2EEUtil
**/
public static String getDriverPathWithProject() { get
}
/**
* 取得專案根目錄下的指定目錄的絕對路徑
*
* @param 專案根目下的指定目錄
* F:tomcatwebappsJ2EEUtillogin
**/
public static String getAbsolutePathWithWebProject(
HttpServletRequest request) {
return request.getSession().get.
/**
* 取得專案根目錄的絕對路徑
*
* @return 專案根目.例如
F:tomcatwebappsJ2EEUtil
**/
public static String getAbsolutePathWithWebProject(
HttpServletRequest request, String path) {
return public static String getAbsolutePathWithWebProject(ServletContext context) {
return context.getRealPath("/");
}
/**
* 取得專案根目錄下的指定目錄的絕對路徑
*
* @param 專案根目下的指定目錄
* F:tomcatwebappsJ2EEUtillogin
**/ 🟎
return context.getRealPath( path);
}
/**
* 取得專案 classpath目錄的絕對路徑
*
* @return classes目錄的絕對路徑
* file:/F://c/webp/J */
public static URL getAbsolutePathWithClass() {
return WebPath.class.getResource("/"); static URL getAbsolutePathWithClass(String path) {
return WebPath.class.getResource(path);
}
/**
* 取得項目classPath目錄下的指定目錄的絕對路徑
*
* @param path
* 類目錄WEB-INF/classes/com/
**/
公共靜態 URL getAbsolutePathWithClass(Class clazz) {
return clazz.getResource("");
}
}