2012-04-04 7 views
3

웹 응용 프로그램을 Tomcat 6에 WAR 파일로 배포했습니다. 응용 프로그램 내에서 해당 컨텍스트 내에서 디렉터리에있는 파일을 제공하고 싶습니다. 예를 들어, 나는 /mydir/webapps-myapp.war를 배포하고 나는 통해 내 응용 프로그램에 액세스 :Tomcat 컨텍스트 내에서 파일 제공

http://myhost:myport/myapp/ 

내가 통해 파일을 제공하고 싶습니다 :

http://myhost:myport/myapp/files/somefile.txt 

내가 어떻게 할 수 있습니까? 지금까지, 나는 응용 프로그램 컨텍스트의 외부에있는 파일을 를 제공 할 경우에만 수 있어요 : 대신 /mydir/webapps/myapp/files 디렉토리의 /mydir/webapps/files에 앉아 파일과

http://myhost:myport/files/somefile.txt 

.

답변

-1

/mydir/webapps/myapp/META-INF/web.xml에 <display-name>myapp</display-name> 을 설정 했습니까?

+0

web.xml 파일은 파일 시스템이 아니라 WAR 안에 있으며, 그 안에는 Web_myapp'이 있습니다. '/ mydir/myapp' 디렉토리는 내가 만들 때까지 존재하지 않았습니다. 이것은'myapp.war'을 배치 한 후에였습니다. – Brian

+0

파일을 서비스하기 위해 파일 시스템이 필요하기 때문에 WAR 파일이 파일 시스템에 "폭발"(확장 됨)하도록 webapp를 배포해야 할 수도 있습니다 (필자는이 유형의 배포 만 사용합니다). 방법은 https://tomcat.apache.org/tomcat-6.0-doc/deployer-howto.html에서 확인하십시오. "deployOnStartup"속성을 "true"로 설정해야합니다. – dr0i

+0

이것은 대답이 아닌 질문입니다. 또한 display-name 태그는 질문과의 관련성이 없습니다. 사용할 수있는 관리 도구에 응용 프로그램을 표시하는 방법에만 영향을줍니다. 컨텍스트 경로에는 영향을주지 않습니다. –

1

외부 디렉터리를 가리키는 하위 컨텍스트를 사용하십시오. $ CATALINA_BASE/<enginename>/< 호스트 이름 > /myapp#files.xml (일반적으로 $ CATALINA_BASE/카탈/로컬 호스트/myapp와 번호 파일 : 귀하의 예제에서 경로를 바탕으로

, 당신은 다음과 같은 파일을 추가하려면 이 안전하게/MYDIR/웹 어플리케이션/파일 autoDeploy가 활성화되어있는 호스트의 appBase 밖에 있어야합니다.

01 일을하기위한 것으로 다음과 같은 내용으로 .XML

<Context docBase="/mydir/webapps/files" />