모바일 어플리케이션에 문서보는 기능을 구현하기 위해서 서버의 파일 다운로드 기능을 로컬에서 테스트하게 되어 서버구조 설명을 듣고 코드를 다운받아서 테스트해보니 굉장히 막막했다. 그래도 꾸준히 코드 읽으면서 관련 프로그램 깔면서 차근히 해결해나갔다.

 

그러던 중 다운로드 폴더에 symbolic link로 등록해야 한다는 주석을 읽게 되었다.

대충 보니 다운로드 폴더를 symbolic link로 다른 경로를 링크 걸어서 기준 경로로 사용하라는 것 같았다.

 

symbolic link는 간단하게 말하면 윈도우의 바로가기라고 생각하면 된다.

 

방법은 다음과 같다.

 

1. 관리자 권한으로 cmd 창을 켠다.

 

2. "cd 프로젝트 폴더 경로 혹은 테스트 폴더 경로" 를 치고 경로 이동(어플리케이션에서 사용하는 폴더로 들어가야 한다.)

 

3. mklink /d 링크 이름 바로가기 할 폴더 위치 를 친다.

예를 들면

mklink /d "docFiles" "d:/temp/test" 과 같이 적어주면 된다.

 

 

프로젝트에서 refresh 해보면 위와 같은 모양이 된다. 이러면 docFiles에 d:/temp/test 경로가 연결된 것이다. (이 모양이 되어있는지 꼭 확인해야 한다... svn에서 다운받으면 일반폴더모양이다..)

 

 

위와 같이 해서

localhost:8080/프로젝트/resource/이미지파일경로를 쳐서 확인해봤다.

근데 404에러 발생 ㅠㅠ

 

구글링 결과 톰캣은 아무 설정 없이 symbolic link를 이용해 폴더를 접근하면 보안을 위해 접근을 막는다고 한다.

 

그래서 또 검색을 해본 결과 server.xml에 웹어플리케이션의 context 설정에서 allowLinking을 다음과 같이 true로 해주면 된다고 한다.

 

 

일반적으로 웹 어플리케이션을 올린 서버에서는 톰캣 설치 폴더에서 server.xml을 찾아 변경해주면 된다.

 

그리고 이클립스에서는 프로젝트 설정옆에 Servers 폴더에서 server.xml을 찾아 위의 사항을 변경하고 서버를 다시 시작해주면 된다.

 

 

 

이렇게 하니까 됬다... 정말 간단한데 무쟈게 헤맸다;;

블로그 이미지

chk1222

,