자바(Java)/JAVA 2EE

웹 어플리케이션의 시스템 경로및 루트 경로 지정하는 방법

본클라쓰 2009. 9. 24. 17:11

 웹 어플리케이션의 시스템 경로를 구하는 방법과 세부 경로를 지정하는 방법을 위해서는 다음과 같은 클래스를 사용합니다.

  1. ServletContext 클래스
  2. application 클래스

 



ServletContext 클래스를 사용하는 방법

  • String getRealPath(path) - 경로는 시스템 경로를 기준으로 시작하며 "/" 문자로 시작합니다. 시스템 루트경로에서 부터 파라미터로 전달한 경로가 포함한 경로를 문자열로 반환합니다.
  • Set getResourcePaths(path) - 파라미터로 전달한 경로 아래에 있는 모든 자원을 Set 객체로 반환합니다. Set 클래스는 toArray() 메소드를 사용하여 Object 객체 배열로 파싱할 수 있습니다.



getRealPath() 메소드 사용

 // ServletContext 를 얻어온다.
 ServletContext context = getServletContext();
 
 out.println("실제 경로는 : " + context.getRealPath("/") + "<p/>");
 out.println("실제 경로는 : " + context.getRealPath("/jsp") + "<p/>");

 

결 과

 

getResourcePaths() 메소드

// ServletContext 를 얻어온다.
ServletContext context = getServletContext();
 
// ServletContext.getResourcePaths() 메소드는 Set 클래스 형태로 반환하며, Set클래스는 Object 객체 배열로 변환이 가능
out.println("기본 반환 ResourcePaths : " + context.getResourcePaths("/") + "<p/>");
 
// ServletContext 의 getResourcePaths() 메소드로 얻은 내용을 하나씩 출력하기 위한 방법
Set e = context.getResourcePaths("/jsp");
Object [] array = e.toArray();
 
int i=0;
 
while (i<array.length) {
    out.println(array[i].toString()+"<br/>");
    i++;
 }

 

결 과

 

 



application 내장 객체를 사용하는 방법 - 파라미터로 전달하는 path 는 위에 방법과 동일합니다.

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>

 

<body>

 

<p/>웹 어플리케이션 폴더의 로컬 시스템 경로 : <%=application.getRealPath("/") %>
<p/>로컬 시스템 경로에 세부 경로 추가 : <%=application.getRealPath("/jsp/install") %>
 
</body>
</html>

 

결 과