이클립스(Eclipse) 아파치 톰캣(Apache  Tomcat) 소스 첨부하기
Servlet/JSP API로 웹 어플리케이션을 개발하다 보면 가끔 Servlet/JSP 만의 스펙이 궁금하여 그 내부를 들여다보거나, 동작 원리를 알 필요가 생겨 우리가 개발하는 비지니스 로직보다 로우레벨의 스펙을 알아야 하는 경우가 있습니다. 이클립스를 통해 메서드등의 내부 로직을 보려고 하면 .class 파일들을 디컴파일러로 돌려서 확인해볼수도 있겠지만 이러한 코드는 매우 지저분해 보이고 주석도 보이지 않기 때문에 그렇게 좋은 방법이라고는 할 수 없을것입니다.

Servlet/JSP 스펙을 구현한 서블릿 컨테이너인 아파치 톰캣은 무료 오픈소스 서버이므로 소스코드가 공개되어있습니다. 이클립스에서는 이러한 소스코드 라이브러리를 빌드 패스로 설정해두면 필요할 때 원본 소스를 볼 수 있습니다. 이 밖에 더 좋은 방법이 있을 수 있지만 제 짧은 지식으로 찾은 방법은 이정도이므로 만약 더 좋은 노하우가 있으신 방문자분들이 계시다면 댓글로 알려주시면 감사하겠습니다.



아파치 톰캣 src(원본 Source) 버전 다운로드
오픈소스로 공개된 톰캣의 원본 소스코드 버전을 다운로드 합니다. 톰캣 8버전을 기준으로 설명하자면 아래에 링크를 타고 들어가면 Source Code Distributions 부분에 소




다운로드 받은 src 버전을 압축 풀어줍니다.




이클립스를 실행합니다. 그리고 보고싶었던 Servlet API를 Ctrl 키를 누른 상태에서 마우스로 클릭합니다. 해당 클래스에 접근하기 위함입니다.




기본적으로 톰캣은 컴파일된 .class 파일들이 포함된 jar 형태로 받기 때문에 소스가 보이지 않고 바이트 코드가 보이게 됩니다. 디컴파일러 플러그인을 설치한 사용자의 경우 디컴파일된 소스가 보일 수 있습니다.

Source not found 메시지에 보면 servlet-api.jar 소스가 필요하다고 하는군요. Attach Source...를 클릭합니다.




External location에 체크 후 External Folder...를 클릭합니다.




아까 다운로드 했었던 소스 버전 톰캣 디렉터리를 선택 후 확인을 누릅니다. (글을 작성하다 보니 톰캣7로 캡처를 떴는데 양해 부탁드립니다. 본인의 버전에 맞게 다운로드한 소스버전을 선택하시면 됩니다.)





소스 버전 톰캣 디렉터리를 선택했으면 OK를 눌러 Attach 팝업을 종료하고 조금 기다리면 다음과 같이 원본 소스가 보이게 됩니다. 실제 HttpServlet을 작성한 아파치 개발자가 남겨놓은 주석또한 볼 수 있습니다.


블로그 이미지

도로락

IT, 프로그래밍, 컴퓨터 활용 정보 등을 위한 블로그

댓글을 달아 주세요! 질문 환영합니다!