집 >백엔드 개발 >C#.Net 튜토리얼 >절대 및 상대 경로 적용
이 문제는 구성 파일이 프로젝트의 Classes 디렉터리(또는 하위 디렉터리)에 있는 경우 **.Class.getResource('상대 경로')를 사용하여 구성 파일을 얻을 수 있습니다. 다른 디렉터리인 경우에는 프로젝트 시작 시 ServletContext를 통해서만 프로젝트 루트 디렉터리 + 구성 파일 디렉터리를 얻어서 경로를 확인할 수 있습니다.
다음은 프로젝트 작업 시 작성된 경로를 얻는 데 사용되는 A 클래스입니다. 하지만 그래도 도움이 되기를 바랍니다.
package com.example.web; >java.io.File 가져오기;
java.net.URL 가져오기
javax.servlet.ServletContext 가져오기
/ **
* 경로 습득 수업
**/
public class WebPath {
/**
* 프로젝트 루트 디렉터리의 절대 경로 가져오기
*
* @return 예: F:TongJianpengJ2EEUtil
**/
public static String getAbsolutePathWithProject() {
return System.getProperty("user.dir");
}
/**
* 프로젝트의 드라이브 문자 받기
**/
public static String getDriverPathWithProject() {
return new File("/").getAbsolutePath()
>
/**
* 프로젝트 루트 디렉터리의 절대 경로를 가져옵니다.
*
* @return 프로젝트 루트 디렉터리 예:
F:tomcatwebappsJ2EEUtil
**/
public static String getAbsolutePathWithWebProject(
HttpServletRequest request) {
return request.getSession().getServletContext().getRealPath("/")
}
/**
* 프로젝트 루트 디렉터리 아래 지정된 디렉터리의 절대 경로를 가져옵니다.
*
* @param 프로젝트 루트 디렉터리 아래 지정된 디렉터리
* 지정된 디렉터리 예:
F:tomcatwebappsJ2EEUtillogin
**/
public static String getAbsolutePathWithWebProject(
HttpServletRequest 요청, 문자열 경로) {
return request.getSession().getServletContext().getRealPath( 경로);
}
/**
* 프로젝트 루트 디렉터리의 절대 경로를 가져옵니다.
*
* @return 프로젝트 루트 디렉터리 예:
F:tomcatwebappsJ2EEUtil
**/
public static String getAbsolutePathWithWebProject(ServletContext context) {
return context.getRealPath("/");
/**
* 프로젝트 루트 디렉터리 아래 지정된 디렉터리의 절대 경로를 가져옵니다.
*
* @param 프로젝트 루트 디렉터리 아래 지정된 디렉터리
* 지정된 디렉터리 예:
F:tomcatwebappsJ2EEUtillogin
**/
public static String getAbsolutePathWithWebProject(ServletContext context,
String path) {
return context.getRealPath(path)
/ **
* 프로젝트 클래스 경로 디렉터리의 절대 경로 가져오기
*
* @return 클래스 디렉터리의 절대 경로
* file:/F:/tomcat/webapps/J2EEUtil /WEB- INF/클래스/
**/
공개 정적 URL getAbsolutePathWithClass() {
return WebPath.class.getResource("/")
}
/**
* 프로젝트 classPath 디렉터리 아래의 지정된 디렉터리에 대한 절대 경로를 가져옵니다.
*
* @param path
* 클래스 디렉터리 아래의 지정된 디렉터리 예:/com/
* @반환 파일: /F:/tomcat/webapps/J2EEUtil/WEB-INF/classes/com/
**/
공개 정적 URL getAbsolutePathWithClass(String path) {
return WebPath.class.getResource(path)
}
/**
* 지정된 클래스 파일이 있는 디렉터리의 절대 경로를 가져옵니다.
*
* @param clazz
* 클래스
* @return 클래스 파일의 절대 경로입니다. :
com.Aries.Util.Web.
* 경로는 file:/
* F:/tomcat/webapps/J2EEUtil입니다. /WEB-INF/classes/ com/Aries/Util/Web/
**/
공개 정적 URL getAbsolutePathWithClass(Class clazz) {
return clazz.getResource("");
}
}