Steady Mind For My Life

https://github.com/jongseok3910/Spring-Study

전자정부프레임워크&Spring Project

JBOSS 핸들러 설정(톰캣의 Docbase)

함탕 2024. 12. 2. 22:06
728x90
728x90

현재 프로젝트의 막바지에 접어들면서

Tomcat서버에서 운영 중이던 서비스를

JBoss서버에 서비스를 이전시키고 왔다.

 

일주일 동안 전주에 머물면서 이전작업을 했고

이 과정에서 많은 어려움이 있었지만

시간을 갈아 넣어서 결국 완벽히 서비스 이전을 시켰다.

 

JBoss로 서비스 이전 작업 중 생겼던 이슈를 하나씩 

소개하고자 한다.

 

1. Tomcat.xml의 docbase 설정

현재 서비스에 파일업로드 기능이 있고

업로드 위치는 루트 경로에 /DATA/data 폴더로 

잡혀있었다.

 

그리고 업로드된 pdf파일을 미리 보기 하는 페이지가 있는데

미리 보기가 제대로 동작하지 않았다.

 

jsp파일의 소스를 보니

<src img="/upload">

 

이런 식으로 되어있었다.

 

'업로드 폴더 경로는 /DATA/data인데

jsp소스는 /upload로 경로가 잡혀있으면 이상한데?'

 

라는 생각이 들었고 서버 모든 곳을 뒤져봐도

upload폴더는 찾아 볼수가 없었다.

 

한참을 찾아본 후 경로가 /upload로 잡혀있는 이유를 알 수 있었다.

 

톰캣의 server.xml 파일에

<Context docBase="/DATA/data" path="/upload" />

이런 식으로 매핑이 되어있었다.

 

업로드가 되는 실제 경로 /DATA/data 경로를 /upload로 매핑하여

소스코드에서 /upload로 호출할 때 /DATA/data로 치환되게 하는

설정이었다.

( ex: /upload/ap => /DATA/data/ap )

 

2. JBoss의 Handler 설정

Tomcat -> JBoss로 서버가 변경되었으니

JBoss에서 docbase 설정을 해야 했다.

 

그러나 JBoss에서는 docbase 설정을 할 수 없었다.

해결방법을 찾기 위해 많은 검색을 했고

JBoss에서는 Handler 설정으로
경로를 매핑한다는 것을 알아냈다.

 

JBoss의 Standalone.xml 파일에

<handlers>
	<file name="upload" path="/DATA/data"/>
</handlers>

 

위와 같이 실제 업로드 경로인 /DATA/data를

upload로 매핑시키고 나니

업로드 파일 미리 보기가 정상동작을 했다. 

 

지금 이렇게 글로 설명을 하다 보니

간단한데?라고 생각되는데

 

실제로는 위 이슈를 해결하기 위해 

분석/검색하는 많은 노력이 있었다.

 

고생은 했지만 이 또한 나의 피와 살이 될 것이라 생각한다.

 

728x90
300x250