Home
>
Server
>
๐งโ๐ป[Server] Tomcat์ด๋ ๋ฌด์์ผ๊น์?
Server
๐งโ๐ป[Server] Tomcat์ด๋ ๋ฌด์์ผ๊น์?
-
Tomcat์ Apache Software Foundation์์ ๊ฐ๋ฐ ๋ฐ ์ ์ง๋ณด์ํ๋ Java ๊ธฐ๋ฐ์ ์น ์ ํ๋ฆฌ์ผ์ด์
์๋ฒ(WAS, Web Application Server)์
๋๋ค.
- ์ ์ ๋ช
์นญ์ Apache Tomcat์ด๋ฉฐ, ์๋ธ๋ฆฟ(Servlet)๊ณผ JSP(JavaSserver Page) ๊ธฐ์ ์ ์ง์ํ๋ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ WAS ์ค ํ๋์
๋๋ค.
1๏ธโฃ Tomcat์ ์ฃผ์ ์ญํ .
- Tomcat์ Java EE(Java Platform, Enterprise Edition)์ ์ผ๋ถ์ธ ์๋ธ๋ฆฟ๊ณผ JSP๋ฅผ ์คํํ ์ ์๋ ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค.
- ์ด๋ฅผ ํตํด ๋ค์๊ณผ ๊ฐ์ ์์
์ด ๊ฐ๋ฅํฉ๋๋ค.
-
HTTP ์์ฒญ ์ฒ๋ฆฌ : HTTP ํด๋ผ์ด์ธํธ(๋ธ๋ผ์ฐ์ )๋ก๋ถํฐ ์์ฒญ์ ๋ฐ์ ์ฒ๋ฆฌํ๊ณ ์๋ต์ ๋ณด๋
๋๋ค.
-
์๋ธ๋ฆฟ ์คํ : Java Servlet์ ์๋ฒ ์ธก์์ ์คํ๋๋ Java ํ๋ก๊ทธ๋จ์ผ๋ก, ๋์ ์ธ ์น ์ฝํ
์ธ ๋ฅผ ์์ฑํฉ๋๋ค.
-
JSP ์คํ : JSP(JavaServer Page)๋ HTML ๋ฌธ์์ Java ์ฝ๋๋ฅผ ์ฝ์
ํ์ฌ ๋์ ์ธ ์น ์ฝํ
์ธ ๋ฅผ ์์ฑํฉ๋๋ค.
-
์์
๊ด๋ฆฌ : ์ฌ์ฉ์์ ์ํ๋ฅผ ์ ์งํ๊ธฐ ์ํ ์ธ์
(Session)์ ๊ด๋ฆฌํฉ๋๋ค.
-
HTTP/HTTPS ์ง์ : HTTP ๋ฐ HTTPS ํ๋กํ ์ฝ์ ํตํด ์น ์ ํ๋ฆฌ์ผ์ด์
๊ณผ ํด๋ผ์ด์ธํธ ๊ฐ์ ํต์ ์ ์ฒ๋ฆฌํฉ๋๋ค.
2๏ธโฃ Tomcat์ ์ฃผ์ ๊ตฌ์ฑ ์์.
- Tomcat์ ์ฌ๋ฌ ๊ตฌ์ฑ ์์๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, ๊ฐ ์์๋ ํน์ ์ญํ ์ ๋ด๋นํฉ๋๋ค.
1๏ธโฃ Catalina
- Tomcat์ ํต์ฌ์ธ ์๋ธ๋ฆฟ ์ปจํ
์ด๋์
๋๋ค.
- ์๋ธ๋ฆฟ์ ๋ก๋ํ๊ณ ์คํํ๋ฉฐ, HTTP ์์ฒญ์ ์ฒ๋ฆฌํฉ๋๋ค.
2๏ธโฃ Coyote
- HTTP ์ปค๋ฅํฐ๋ก, ํด๋ผ์ด์ธํธ์ HTTP ์์ฒญ์ ๋ฐ์ Catalina์ ์ ๋ฌํฉ๋๋ค.
- HTTP/1.1 ๋ฐ HTTPS๋ฅผ ์ง์ํฉ๋๋ค.
3๏ธโฃ Jasper
- JSP ์์ง์ผ๋ก, JSP ํ์ผ์ ์๋ธ๋ฆฟ์ผ๋ก ๋ณํํ๊ณ ์คํํฉ๋๋ค.
4๏ธโฃ Cluster
- ํด๋ฌ์คํฐ๋ง ๊ธฐ๋ฅ์ ์ ๊ณตํ์ฌ ์ฌ๋ฌ Tomcat ์๋ฒ ๊ฐ์ ์ธ์
๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํฉ๋๋ค.
5๏ธโฃ Web Application
- Tomcat์ ๋ฐฐํฌ๋ ์น ์ ํ๋ฆฌ์ผ์ด์
์ ๊ด๋ฆฌํ๊ณ ์คํํฉ๋๋ค.
- WAR ํ์ผ(Web Application Archive) ํ์์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์
์ ๋ฐฐํฌํ ์ ์์ต๋๋ค.
3๏ธโฃ Tomcat์ ํน์ง.
1๏ธโฃ ๊ฒฝ๋ํ๋ ์๋ฒ.
- Tomcat์ WAS ์ค์์๋ ๊ฐ๋ณ๊ณ ์ค์น ๋ฐ ์คํ์ด ์ฝ์ต๋๋ค.
2๏ธโฃ ๋ฌด๋ฃ ๋ฐ ์คํ์์ค.
- Apache Software Foundation์ด ๊ด๋ฆฌํ๋ฉฐ, ๋๊ตฌ๋ ๋ฌด๋ฃ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
3๏ธโฃ ์๋ธ๋ฆฟ๊ณผ JSP ํ์ค ์ง์.
- Java EE ํ์ค ๊ธฐ์ ์ ์ง์ํฉ๋๋ค.
4๏ธโฃ ํ์ฅ ๊ฐ๋ฅ์ฑ.
- ๋ค์ํ ์ถ๊ฐ ๋ชจ๋๊ณผ ํ๋ฌ๊ทธ์ธ์ ํตํด ํ์ฅํ ์ ์์ต๋๋ค.
5๏ธโฃ ์ ์ฐ์ฑ.
- ํ์์ ๋ฐ๋ผ ์ค์ ๊ณผ ๊ตฌ์ฑ์ ์ฝ๊ฒ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
4๏ธโฃ Tomcat์ ์๋ ๋ฐฉ์.
1๏ธโฃ ์์ฒญ ์์ .
- Coyote๊ฐ ํด๋ผ์ด์ธํธ๋ก๋ถํฐ HTTP ์์ฒญ์ ์์ ํฉ๋๋ค.
2๏ธโฃ ์๋ธ๋ฆฟ ์ฒ๋ฆฌ.
- Catalina๊ฐ ์์ฒญ์ ๋ถ์ํ์ฌ ์ ์ ํ ์๋ธ๋ฆฟ์ ํธ์ถํฉ๋๋ค.
- ์๋ธ๋ฆฟ์ด ์์ฒญ์ ์ฒ๋ฆฌํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ์์ฑํฉ๋๋ค.
3๏ธโฃ JSP ์ฒ๋ฆฌ.
- ์์ฒญ๋ JSP ํ์ผ์ด ์๋ค๋ฉด Jasper๊ฐ ์ด๋ฅผ ์๋ธ๋ฆฟ์ผ๋ก ๋ณํํฉ๋๋ค.
- ๋ณํ๋ ์๋ธ๋ฆฟ์ด ์คํ๋์ด ๊ฒฐ๊ณผ๋ฅผ ์์ฑํฉ๋๋ค.
4๏ธโฃ ์๋ต ๋ฐํ.
- ์ฒ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ HTTP ์๋ต์ผ๋ก ํด๋ผ์ด์ธํธ์ ๋ฐํํฉ๋๋ค.
5๏ธโฃ Tomcat์ ์ฅ๋จ์ .
1๏ธโฃ ์ฅ์ .
-
๊ฐ๋ฒผ์ : ํ ์คํ Java EE ์ ํ๋ฆฌ์ผ์ด์
์๋ฒ(์: WildFly, WebLogic)๋ณด๋ค ๊ฐ๋ณ๊ณ ๋น ๋ฆ
๋๋ค.
-
๋ฌด๋ฃ : ์์ฉ WAS ๋๋น ๋น์ฉ์ด ๋ค์ง ์์ต๋๋ค.
-
์ฌ์ฉ ์ฉ์ด์ฑ : ์ค์น์ ์ค์ ์ด ๊ฐ๋จํ๋ฉฐ, ๊ฐ๋ฐ ๋ฐ ํ
์คํธ ํ๊ฒฝ์์ ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค.
-
์ปค๋ฎค๋ํฐ ์ง์ : ์คํ์์ค ํ๋ก์ ํธ๋ก ์ปค๋ฎค๋ํฐ์์ ๋ค์ํ ๋์๊ณผ ์๋ฃ๋ฅผ ์ ๊ณต๋ฐ์ ์ ์์ต๋๋ค.
2๏ธโฃ ๋จ์ .
-
๊ธฐ๋ฅ ์ ํ : Java EE์ ๋ชจ๋ ํ์ค(์: EJB, JCA)์ ์ง์ํ์ง ์์ต๋๋ค. ์ด๋ WildFly, WebLogic๊ณผ ๊ฐ์ ํ ์คํ WAS์์ ์ฃผ์ ์ฐจ์ด์ ์
๋๋ค.
-
๊ณ ๊ธ ๊ธฐ๋ฅ ๋ถ์กฑ : ์ํฐํ๋ผ์ด์ฆ๊ธ ๊ธฐ๋ฅ(ํธ๋์ญ์
๊ด๋ฆฌ, ๋ฉ์์ง ๋ฑ)์ด ๋ถ์กฑํฉ๋๋ค.
6๏ธโฃ Tomcat์ด ์ฃผ๋ก ์ฌ์ฉ๋๋ ์ฌ๋ก.
-
๊ฐ๋ฐ ๋ฐ ํ
์คํธ ํ๊ฒฝ : ๊ฐ๋ณ๊ณ ๋น ๋ฅด๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฐ ๋จ๊ณ์์ ๋ง์ด ์ฌ์ฉ๋ฉ๋๋ค.
-
์๊ท๋ชจ ์ ํ๋ฆฌ์ผ์ด์
: ํฐ ๋ถํ๊ฐ ์๋ ๊ฐ๋จํ ์น ์ ํ๋ฆฌ์ผ์ด์
์์ ๋ง์ด ์ฌ์ฉ๋ฉ๋๋ค.
-
Spring Boot ์ ํ๋ฆฌ์ผ์ด์
: Spring Boot๋ Tomcat์ ๊ธฐ๋ณธ ๋ด์ฅ ์๋ฒ๋ก ์ฌ์ฉํ์ฌ JAR ํ์ผ๋ก ์คํ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
7๏ธโฃ Tomcat์ ๋ฐฐํฌ ๋ฐฉ๋ฒ.
1๏ธโฃ WAR ํ์ผ ๋ฐฐํฌ.
- webapps/ ๋๋ ํฐ๋ฆฌ์ WAR ํ์ผ์ ๋ณต์ฌํฉ๋๋ค.
- Tomcat์ด ์๋์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์
์ ๋ก๋ํฉ๋๋ค.
2๏ธโฃ JAR ํ์ผ ์คํ.
- Spring Boot์ ๊ฐ์ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ์ฌ JAR ํ์ผ ํํ๋ก ๋ฐฐํฌ ๊ฐ๋ฅํฉ๋๋ค. ์ด ๊ฒฝ์ฐ ๋ด์ฅ Tomcat์ด ํฌํจ๋ฉ๋๋ค.
3๏ธโฃ ์ค์ ํ์ผ ์ฌ์ฉ.
- server.xml ๋ฐ web.xml์ ์ฌ์ฉํ์ฌ ์๋ฒ์ ์ ํ๋ฆฌ์ผ์ด์
์ค์ ์ ์กฐ์ ํ ์ ์์ต๋๋ค.
8๏ธโฃ ๊ฒฐ๋ก .
- Tomcat์ ์๋ธ๋ฆฟ๊ณผ JSP ๊ธฐ์ ์ ๊ธฐ๋ฐ์ผ๋ก ํ Java ์น ์ ํ๋ฆฌ์ผ์ด์
์๋ฒ๋ก, ๊ฒฝ๋ํ์ ์ฌ์ฉ ์ฉ์ด์ฑ ๋๋ถ์ ๋ง์ ๊ฐ๋ฐ์๊ฐ ์ฌ์ฉํฉ๋๋ค.
- ํนํ ๊ฐ๋ฐ ๋ฐ ํ
์คํธ ํ๊ฒฝ์์ ์ธ๊ธฐ๊ฐ ๋์ผ๋ฉฐ, Spring Boot์ ๊ฐ์ ์ต์ ํ๋ ์์ํฌ์์๋ ๋ด์ฅ WAS๋ก ํ์ฉ๋ฉ๋๋ค.