톰캣(tomcat)
2026년 5월 17일
-
톰캣은 웹 서버(Web Server)가 이해하지 못하는 자바 파일들을 컴파일하고 html 문서로 만들어 주는 역할을 한다.
-
따라서 아파치(apache)에서 개발한 톰캣은 WAS(Web Application Sever)이다.
-
스프링 부트는 내장으로 톰캣을 따로 설치할 필요가 없이 바로 프로그램을 실행할 수 있다.
-
즉 웹 서버(Web Server)(아파치(apache))는 웹 서버(Web Server)는 요청된 정적 파일들을 응답하고 톰켓은 웹 서버가 이해하지 못하는 JSP 파일 또는 자바 코드로 이루어진 파일을 컴파일해서 html 파일로 번역해서 웹 서버(Web Server)에게 넘긴다.
톰캣과 [웹 서버(Web Server)]에 대한 이해
-
우리가 흔히 볼 수 있는 아파치(apache)는 웹 서버(Web Server)의 일종이다.
-
아래 그림은 정적 자원을 요청할 경우이다.

-
정적 자원이 요청될 경우 웹서버(아파치)는 해당하는 자료를 찾아서 웹 브라우저에 응답한다.
-
정적자원이 아닌 JSP 파일 또는 자바 코드가 적혀져 있는 자원을 요청하는 경우는 어떻게 처리할까?
-
웹 서버는 해당 파일을 이해하지 못하기 때문에 제어권을 톰캣(Tomcat)넘겨 처리하도록 한다.

- 톰캣은 해당 파일을 자바 파일 모두를 컴파일 하고, 컴파일된 데이터를 html 파일에 덮어씌운다.

- 톰캣은 아파치에게 html 파일을 넘겨주고 웹 서버(Web Server)(아파치(apache))는 웹 브라우저에게 해당하는 ~.html파일을 응답한다.
- 즉, 톰캣은 서블릿(Servlet)의 일종이자 WAS(Web Application Sever)이다.

인텔리제이 톰캣 설정
- 인텔리제이 톰캣 webapp 위치 설정이다.
// 일전의 out 폴더를 삭제 프로젝트명/webapps/WEB-INF/classes // 변경
- build.gradle 의존성 설정이다.
implementation 'org.apache.tomcat.embed:tomcat-embed-core:8.5.42' implementation 'org.apache.tomcat.embed:tomcat-embed-jasper:8.5.42'
- 톰캣 연결 예시 코드이다.
Java