JSP 에서 파일관련 작업을 하다보면 절대경로가 필요한 경우가 있다.
직접 테스트를 해보면 확실할것이나...
시간이 없는걸.. ㅡㅡ;
네박사에게 물어본 결과..
출처 : http://blog.naver.com/thtlsgkrtod?Redirect=Log&logNo=40042013285
public class Reply_DoWriteCommand implements CommandProcessor {
public String exeucte(HttpServletRequest request, HttpServletResponse response) {
ReplyRepository replyRe = new ReplyRepository();
System.out.println("위치 : Reply_DoWriteCommand 입니다 " );
/*
* 웹 어플리케이션 주소를 리턴 하는 메서드 설명
*/
System.out.println( request.getContextPath() ); // 출력문 '/MvcLogic' 나의 웹어플리케이션 프로젝트 명
System.out.println( request.getServletPath()); // 출력문 '/Servlet/Controller' 앞에 웹플리케이션을 제외한 한 경로
/*
* 절대 경로를 구하는 메서드를 이용해서 request.getRealPath( "스트링" ); 메서드를 사용 했다
* 나의 생각은 "스트링"이 파일명과 일치 해서 해당 파일이 있는 절대 경로를 뽑아 내는 줄로 잘못 알고있었다..
* 하지만 실제로는 현제 웹어플리케이션 절대 경로 + 스트링 문자열 이다 !
* 현재 나의 웹어플리케이션의 절대 경로를 알고 싶을 경우 request.getRealPath( "" ) 빈값을 주면 된다.
*/
System.out.println( request.getRealPath( request.getContextPath() ) );
// 출력문
'C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\MvcLogic' + request.getContextPath()
// 즉 'C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\MvcLogic\
System.out.println( request.getRealPath( request.getServletPath() ) );
// 출력문
'C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\MvcLogic' + request.getServletPath()
// 즉 'C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\MvcLogic\ServletController'
System.out.println( request.getRealPath( "" ) );
// 출력문 'C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\MvcLogic'
-----------------------------------------------------------------------
-----------------------------------------------------------------------
즉 결론은
request.getRealPath("") --> 현 웹 에플리케이션 절대 경로를 리턴한다