2017-02-15 12 views
-1

나는 톰캣 구성에 그렇게하지 오전 나는 다음과 같은 의문이 :컨텍스트 경로를 사용하여 외부 폴더를 Tomcat server.xml 파일에 올바르게 매핑하는 방법은 무엇입니까?

톰캣의 의 server.xml 구성 파일이 7 섹션이 포함되어

<Host name="localhost" appBase="webapps" 
     unpackWARs="true" 
     autoDeploy="true" 
     xmlValidation="false" xmlNamespaceAware="false"> 


    <!-- SingleSignOn valve, share authentication between web applications 
     Documentation at: /docs/config/valve.html --> 
    <!-- 
    <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> 
    --> 

    <!-- Access log processes all example. 
     Documentation at: /docs/config/valve.html 
     Note: The pattern used is equivalent to using pattern="common" --> 
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" 
      prefix="localhost_access_log." suffix=".txt" 
      pattern="%h %l %u %t &quot;%r&quot; %s %b" /> 

    <Context path="/my-project/images/" docBase="/data/myproject/cache/images/" /> 
    </Host> 

내 주요 의문점은 다음 행과 관련이 있습니다.

<Context path="/my-project/images/" docBase="/data/myproject/cache/images/" /> 

/data/myproject/cache/images/에는 Java EE 프로젝트에서 사용하는 이미지가 포함 된 다른 폴더가 있습니다.

그래서이 줄은 정확히 무엇을 의미합니까?

나는 그것이 (프로젝트 외부에) 외부 폴더에 /myproject라는/이미지/ 폴더 /데이터/myproject라는/캐시/이미지/

이인가를 매핑하는 것을 의미 있다고 생각 올바른 추론?

내 문제는 내 응용 프로그램이 시작되지만 이러한 이미지가 표시되지 않습니다.

그래서 정확한 상황은 다음 중 하나입니다 : 이러한 이미지는 /데이터/myproject라는/캐시/이미지/ 외부 폴더에 직접 저장되지 않고이 폴더의 subdirectoy에서 퍼팅을하는, 이런 식으로 뭔가 :

/내 프로젝트/이미지/디렉토리 subdir1 같은 전화 일 경우이되는 방식으로

<Context path="/my-project/images/" docBase="/data/myproject/cache/images/" /> 

: 그래서

**/data/myproject/cache/images/subdir1/1.png** 
**/data/myproject/cache/images/subdir1/2.png** 
**/data/myproject/cache/images/subdir1/3.png** 

**/data/myproject/cache/images/subdir2/4.png** 
**/data/myproject/cache/images/subdir2/5.png** 
**/data/myproject/cache/images/subdir2/6.png** 

나는 어쩌면 내가이 줄을 변경해야한다고 생각//데이터/myproject라는/캐시/이미지/디렉토리 subdir1에 매핑 나는이 특정 동작을 지정할 수있는 방법을

내 문제 (나는 그것을 확신 절대적으로 아니다)이 될 수 있다면?

답변

1

경로는 이미지가 여기에있는 경우 프로젝트에서 리소스의 액세스 URL이의 Docbase의 폴더

<Context path="/my-project/images/" docBase="/data/myproject/cache/images/" /> 

의 실제 경로입니다 : "/data/myproject/cache/images/subdir1" 당신은 액세스하려는 이러한 이미지는 브라우저의 URL로 표시됩니다. 시도하십시오
1. 귀하의 바람둥이에있는 폴더를 찾으십시오.

conf/Catalina/localhost 

2. 파일

*.xml 

3을 만듭니다.이 같은 이미지 경로 저장이

<?xml version="1.0" encoding="UTF-8" ?> 
<Context docBase="/data/myproject/cache/images/subdir1" path="/subdir1" debug="0" reloadable="true" /> 

4에이 코드를 추가

http://localhost:8080/subdir1/1.png 

5. 다시 시작 Tomcat 서버 활성화 및로드 "* .XML"당신이 편집했습니다. 4 단계에서 URL을 사용해보십시오. 이미지를 볼 수 있습니까? 그렇지 않다면 어떤 오류가 발생하는지 말해주십시오. 내가 알아낼 수 있도록 도와 줄게.