この問題は、構成ファイルがプロジェクトの Classes ディレクトリ (またはサブディレクトリ) に配置されている場所によって異なります。**.Class.getResource('relative path') を使用して構成ファイルのパスを取得できます。別のディレクトリの場合は、プロジェクト起動時にServletContext経由でプロジェクトのルートディレクトリ+設定ファイルのディレクトリを取得し、クラスファイルが参照できる場所にパスを置くだけです。私がプロジェクトに取り組んでいるとき、パスを取得するために書かれたクラスはうまく書かれていないかもしれませんが、それでも役立つことを願っています。 java.net.URL;
インポート javax.servlet.http.HttpServletRequest;
パブリック クラス WebPath {
/**
* パス習得クラス
**/ public static String getAbsolutePathWithProject () {
return System.getProperty("user.dir");
}
/**
* プロジェクトのルート ディレクトリへの絶対パスを取得します
*
* @return 例: F:TongJianpengJ2EEUtil
**/
public static String getDriverPathWithProject() {
return new File("/") getAbsolutePath();
/**
* プロジェクトが配置されているドライブ文字を取得します
**/
public static String getAbsolutePathWithWebProject(
HttpServletRequest request) {
return request.getSession().getServletContext().getRealPath("/")
}
/**
* プロジェクトのルート ディレクトリへの絶対パスを取得します
*
* @return 例:
F:tomcatwebappsJ2EEUtil
**/
public static String getAbsolutePathWithWebProject(
HttpServletRequest request, String path) {
return request.getSession().getServletContext().getRealPath(path)
}
/**
* プロジェクトのルート ディレクトリの下にある指定されたディレクトリの絶対パスを取得します
*
* @param プロジェクト ルート ディレクトリの下にある指定されたディレクトリ
* * 例: /login/
* @return プロジェクト ルート ディレクトリの下にある指定されたディレクトリ例:
F:tomcatwebappsJ2EEUtillogin
** /
public static String getAbsolutePathWithWebProject(ServletContext context) {
return context.getRealPath("/");
}
/**
* プロジェクトのルート ディレクトリへの絶対パスを取得します
*
* @return 例:
F:tomcatwebappsJ2EEUtil
**/
public static String getAbsolutePathWithWebProject(ServletContext context,
String path) {
return context.getRealPath( パス);
/**
* プロジェクトのルート ディレクトリの下にある指定されたディレクトリの絶対パスを取得します
*
* @param プロジェクト ルート ディレクトリの下にある指定されたディレクトリ
* * 例: /login/
* @return プロジェクト ルート ディレクトリの下にある指定されたディレクトリ例:
F:tomcatwebappsJ2EEUtillogin
**/
パブリック静的 URL getAbsolutePathWithClass() {
return WebPath.class.getResource("/")
}
/**
* プロジェクトのクラスパス ディレクトリの絶対パスを取得します
*
* @class ディレクトリの絶対パスを返します
* * file:/F:/tomcat/webapps/J2EEUtil/WEB-INF/classes/
* */
パブリック静的 URL getAbsolutePathWithClass(String path) {
return WebPath.class.getResource(path)
}
/**
* プロジェクトの classPath ディレクトリの下にある指定されたディレクトリへの絶対パスを取得します
*
* @param path
* クラス ディレクトリの下にある指定されたディレクトリ 例:/com/
* @return file:/F:/tomcat/ webapps/J2EEUtil/WEB-INF/classes/com/
**/
public static URL getAbsolutePathWithClass(Class clazz) {
return clazz.getResource("");
}
}