ホームページ  >  記事  >  バックエンド開発  >  絶対パスと相対パスを適用する

絶対パスと相対パスを適用する

巴扎黑
巴扎黑オリジナル
2016-12-20 16:27:291077ブラウズ

この問題は、構成ファイルがプロジェクトの 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(""); 
}
}

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。