파일업로드 경로관련 문의드립니다.
- 작성자 :
- 박*근
- 작성일 :
- 2013-12-09 15:19:33
- 조회수 :
- 910
- 구분 :
- 기타
- 진행상태 :
- 완료
Q
안녕하세요.
현재 경량환경 템플릿 프로젝트 수정도중 문의사항이 있어 글 남겨 드립니다.
일단 파일 업로드 경로를 수정할 수 있는 설정 파일은 context-properties.xml 파일입니다.
제가 원하는 경로는 src/main/webapp 하위에 업로드 폴더를 설정하고 싶습니다.
말씀해드린 context-properties.xml 만 수정한다고 해서 되질 않았습니다.
그래서 아래와 같은 방법으로 경로를 찍어봤습니다.
System.out.println(" path1 = " + WebApplicationContext.getContextPath());
결과값 = ""
System.out.println(" path2 = " + request.getServletPath());
결과값 = "/cop/bbs/액션명"
System.out.println(" path3 = " + request.getRealPath(""));
결과값 = "D:\eGovFrameDev-2.6.0-FullVer\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp2\wtpwebapps\프로젝트명"
보통 3번 메서드를 사용하였을시에는 프로젝트의 context를 가져왔었습니다.(Maven 프로젝트는 처음이고 Dynamic Web Project의 경우)
이게 이클립스 설정문제인지 현재의 제 작업경로를 못가져온다는 것이 문제입니다.
제가 Maven 환경에서의 개발은 처음이라 어디 놓친 부분이 있는건지 아니면 어디 부분을 보면 좋을지 조언 부탁드리겠습니다.
원하는 업로드 경로명은 /src/main/webapp/upload 이 정도가 되면 좋겠습니다.
현재 경량환경 템플릿 프로젝트 수정도중 문의사항이 있어 글 남겨 드립니다.
일단 파일 업로드 경로를 수정할 수 있는 설정 파일은 context-properties.xml 파일입니다.
제가 원하는 경로는 src/main/webapp 하위에 업로드 폴더를 설정하고 싶습니다.
말씀해드린 context-properties.xml 만 수정한다고 해서 되질 않았습니다.
그래서 아래와 같은 방법으로 경로를 찍어봤습니다.
System.out.println(" path1 = " + WebApplicationContext.getContextPath());
결과값 = ""
System.out.println(" path2 = " + request.getServletPath());
결과값 = "/cop/bbs/액션명"
System.out.println(" path3 = " + request.getRealPath(""));
결과값 = "D:\eGovFrameDev-2.6.0-FullVer\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp2\wtpwebapps\프로젝트명"
보통 3번 메서드를 사용하였을시에는 프로젝트의 context를 가져왔었습니다.(Maven 프로젝트는 처음이고 Dynamic Web Project의 경우)
이게 이클립스 설정문제인지 현재의 제 작업경로를 못가져온다는 것이 문제입니다.
제가 Maven 환경에서의 개발은 처음이라 어디 놓친 부분이 있는건지 아니면 어디 부분을 보면 좋을지 조언 부탁드리겠습니다.
원하는 업로드 경로명은 /src/main/webapp/upload 이 정도가 되면 좋겠습니다.
A
안녕하세요. 박수근님.
/src/main/webapp의 위치는 프로젝트 소스 상의 위치로 해당 위치는 실제 deploy가 된 상태에서 전혀 인식할 수 없는 위치입니다.
이 경우는 path3을 결과를 사용하시는 것이 맞습니다.
(/src/main/webapp가 실제로 결과3의 위치로 deploy됨)
추가적으로 webapp 상에 경로에 파일을 업로드할 경우 업로드 취약점에 대한 보안취약점에 노출됩니다. (jsp 등의 서버에서 호출될 수 있는 파일을 업로드한 후에 URL을 통해 직접 호출할 수 있음)
그래서 webapp과는 분리된 별도의 디렉토리나 WEB-INF 하위에 경우를 사용하시는 것을 권장드립니다.
그럼, 즐거운 하루되십시오.
감사합니다.
/src/main/webapp의 위치는 프로젝트 소스 상의 위치로 해당 위치는 실제 deploy가 된 상태에서 전혀 인식할 수 없는 위치입니다.
이 경우는 path3을 결과를 사용하시는 것이 맞습니다.
(/src/main/webapp가 실제로 결과3의 위치로 deploy됨)
추가적으로 webapp 상에 경로에 파일을 업로드할 경우 업로드 취약점에 대한 보안취약점에 노출됩니다. (jsp 등의 서버에서 호출될 수 있는 파일을 업로드한 후에 URL을 통해 직접 호출할 수 있음)
그래서 webapp과는 분리된 별도의 디렉토리나 WEB-INF 하위에 경우를 사용하시는 것을 권장드립니다.
그럼, 즐거운 하루되십시오.
감사합니다.