2012-08-05 15 views
1

Tomcat 컨테이너에서 응용 프로그램을 실행 중입니다. 사용자가 링크를 클릭하면 궁극적으로 도우미 클래스의 메서드가 파일을 만들어 파일 시스템에 저장합니다. 이 코드가 단위 테스트/이클립스에서 실행되면 파일을 응용 프로그램 루트 디렉토리에 저장하지만 브라우저/Tomcat에서이 코드를 실행할 때 파일은 Tomcat의 bin 디렉토리에 저장됩니다.Spring MVC로 파일 저장하기

응용 프로그램 루트를 찾으려면 어떻게해야합니까? 거기에서 파일을 저장할 위치를 선택할 수 있습니까?

  • 이렇게하면 루트를 찾아서 tomcat을 실행하는 다른 환경에 배포 할 수 있습니다.

감사

+0

MongoDB와 같은 문서 지향 데이터베이스를 사용하지 않는 이유는 무엇입니까? –

답변

5

당신은 당신의 Tomcat 설치의 위치에 의존해서는 안되며, 응용 프로그램, Tomcat 설치 폴더에 결코 쓸 안된다. 프로덕션 환경에서 Tomcat을 실행하는 사용자는 Tomcat 설치가 쓰기 가능하지 않을 수도 있습니다.

따라서 전체 (절대) 경로 만 사용하십시오.

+0

이 응용 프로그램은 단지 개념 증명이며 다른 개발자 인 local tomcat 설치에서 실행될 수 있습니다. 왜 이것이 생산에 좋지 않을지 이해합니다. 아마도 구성 파일에 절대 경로를 넣을 것이므로 개발자가 편집하여 읽을 수있는 경로를 사용할 수 있습니다. – csilk

2

파일 권한 문제를 방지하려면 System.getProperty ("user.home")를 사용하여 사용자의 홈 디렉토리를 사용할 수 있습니다. 그렇게하면 환경 및 운영 체제에서 일관되게 작동합니다.

+0

이것은 내가 받아 들인 것보다 더 나은 대답 인 것처럼 보이지만 나는 다른 대답에서 제안을 구현하는 것을 끝내었다. 그래도 도움을 주셔서 감사합니다. – csilk

관련 문제