반응형
  • tomcat 버전 : 8.5.55

예를 들어 http://localhost:8080 가 웹서버 url인데

http://localhost:8080/IMAGES 로 접근하면

프로젝트 내부가 아닌 D:\IMAGES와 같은 외부 경로 폴더로 연결되게 하고 싶다?


tomcat 디렉터리의  conf 밑의 server.xml 파일을 수정한다.

Service 하위에 Host 라고 된 부분 밑에 한 줄 추가해준다.

<Context docBaase="실제외부경로" path="접근URL" reloadable="false">

 <Service name="MyService">
      <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxPostSize = "-1"/>
      <Engine name="MyService" defaultHost="localhost">
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
      </Realm>
      <Host name="localhost" appBase="mchch" unpackWARs="true" autoDeploy="true">
      <!-- Host 밑에 추가해준다.-->
        <Context docBase="D:\IMAGES" path="/IMAGES" reloadable="false"/>
        <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" />
      </Host>
    </Engine>
  </Service>

설정 저장 후 톰캣 재시작.

* reloadable : true면 15초마다 루트경로의 class파일 변경여부를 확인하고 자동으로 재가동하여 반영한다. 일반적으로 개발환경에선 true, 운영환경에선 false로 하는 듯함.

* 결과 : http://localhost:8080/IMAGES/test.jpg 로 접근하면 D:\IMAGES\test.jpg 를 볼 수 있음.

 

반응형

+ Recent posts