Java ์น ๊ฐ๋ฐ ์ ๋ฌธ] ํฐ์บฃ(Tomcat) ์ค์น์ ํ๋ก์ ํธ ๊ตฌ์กฐ ์๋ฒฝ ์ดํดํ๊ธฐ
์๋ ํ์ธ์! ์ค๋์ ์๋ฐ ๋ฐฑ์๋ ๊ฐ๋ฐ์ ์ฒซ๊ฑธ์์ธ ์น ์๋ฒ ํ๊ฒฝ ๊ตฌ์ถ๊ณผ ํ๋ก์ ํธ ์ค์ ์ ๋ํด ์ ๋ฆฌํด ๋ณด๋ ค๊ณ ํฉ๋๋ค. ์น ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ(WAS)์ ๋ํ ์ฃผ์์ธ ํฐ์บฃ(Tomcat) ์ค์น๋ถํฐ, ์ค๋ฌด์์ ์ค์ํ web.xml ์ค์ ๊น์ง ํต์ฌ๋ง ์ฝ์ฝ ์ง์ด ์ ๋ฌํด ๋๋ฆด๊ฒ์!

1. ํฐ์บฃ(Apache Tomcat) ์ค์นํ๊ธฐ
์๋ฐ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ๋ํ๊ธฐ ์ํด์๋ ์น ์ปจํ ์ด๋๊ฐ ํ์ํฉ๋๋ค. ํฐ์บฃ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ์ ์ธ๋ถ ๊ธฐ๋ฅ๊ณผ ์ฐ๋ํ์ฌ ๋์ํ ์ ์๊ฒ ํด์ฃผ๋ ๊ฐ์ฅ ๋์ค์ ์ธ ์คํ์์ค WAS์ ๋๋ค.
- ๋ค์ด๋ก๋: Apache Tomcat ๊ณต์ ํํ์ด์ง์์ ๋ณธ์ธ์๊ฒ ๋ง๋ ๋ฒ์ (์: Tomcat 9)์ ๋ด๋ ค๋ฐ์ต๋๋ค.
- ํต์ฌ ์ญํ : ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋ฐ์ ์๋ธ๋ฆฟ์ด๋ JSP๋ฅผ ์คํํ๊ณ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์๋ตํด ์ฃผ๋ '์ฃผ๋ฐฉ์ฅ' ์ญํ ์ ์ํํฉ๋๋ค
2. Eclipse์์ ์น ํ๋ก์ ํธ ๋ง๋ค๊ธฐ
๊ฐ๋ฐ ํด(IDE)์ธ ์ดํด๋ฆฝ์ค์์ ๋ณธ๊ฒฉ์ ์ธ ์น ํ๋ก์ ํธ๋ฅผ ์์ฑํ๋ ๊ณผ์ ์ ๋๋ค.
- Dynamic Web Project ์์ฑ: New Project ๋ฉ๋ด์์ 'Web' ์นดํ ๊ณ ๋ฆฌ์ Dynamic Web Project๋ฅผ ์ ํํฉ๋๋ค.
- ํ๋ก์ ํธ ์ด๋ฆ ์ค์ : ํ๋ก์ ํธ ๋ช (์: webEx)์ ์ ๋ ฅํ๊ณ Target Runtime์์ ์ค์นํ ํฐ์บฃ ๋ฒ์ ์ ์ฐ๊ฒฐํฉ๋๋ค.
- web.xml ์์ฑ: ์ค์ ๋ง์ง๋ง ๋จ๊ณ์์ 'Generate web.xml deployment descriptor' ์ฒดํฌ๋ฐ์ค๋ฅผ ๋ฐ๋์ ์ ํํด์ผ ํ๊ฒฝ ์ค์ ํ์ผ์ด ์๋์ผ๋ก ๋ง๋ค์ด์ง๋๋ค.
3. Java ์น ํ๋ก์ ํธ์ ๊ตฌ์กฐ (Structure)
์์ฑ๋ ํ๋ก์ ํธ๋ ๋ค์๊ณผ ๊ฐ์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋๋ค. ๊ฐ ํด๋์ ์ญํ ์ ์๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
- src/main/java: ์ฐ๋ฆฌ๊ฐ ์์ฑํ ์ค์ ์๋ฐ ์๋ธ๋ฆฟ ์์ค ํ์ผ๋ค์ด ์์นํ๋ ๊ณณ์ ๋๋ค.
- webapp: HTML, CSS, JavaScript ๋ฐ JSP ํ์ผ๋ค์ด ๋ด๊ธฐ๋ ํด๋๋ก, ์ค์ ์น ๋ธ๋ผ์ฐ์ ์ ๋ณด์ฌ์ง ์์๋ค์ด ์์นํฉ๋๋ค.
- WEB-INF/lib: ํ๋ก์ ํธ์์ ์ฌ์ฉํ **ํ์ฅ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(.jar ํ์ผ)**๋ฅผ ๋ฃ์ด๋๋ ๊ณณ์ ๋๋ค.
- WEB-INF/web.xml: **๋ฐฐํฌ ์์ ์(Deployment Descriptor)**๋ผ๊ณ ๋ถ๋ฆฌ๋ฉฐ, ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ฒด์ ์ธ ํ๊ฒฝ ์ค์ ์ ๋ณด๋ฅผ ๋ด๊ณ ์์ต๋๋ค.
4. web.xml์ ํ์ฉํ ์ฃผ์ ์ค์
web.xml์ WAS๊ฐ ์ฒ์ ๊ตฌ๋๋ ๋ ๊ฐ์ฅ ๋จผ์ ์ฝ์ด ํฐ์บฃ์ ์ ์ฉํ๋ ๋งค์ฐ ์ค์ํ ํ์ผ์ ๋๋ค.
โ ์์ธ ์ฒ๋ฆฌ(Error Page) ์ค์
์ฌ์ฉ์๊ฐ ์๋ชป๋ ๊ฒฝ๋ก๋ก ์ ๊ทผํ๊ฑฐ๋ ์๋ฒ์ ์ค๋ฅ๊ฐ ๋ฌ์ ๋ ๋ณด์ฌ์ค ์ปค์คํ ํ์ด์ง๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค.
- 404 ์๋ฌ: ์์ฒญํ ํ์ด์ง๊ฐ ์์ ๋
- 500 ์๋ฌ: ์๋ฒ ๋ด๋ถ ํ๋ก๊ทธ๋จ ์คํ ์ค ์ค๋ฅ๊ฐ ๋ฐ์ํ์ ๋
โก ์ฐ์ปด ํ์ผ(Welcome File) ์ง์
๋ธ๋ผ์ฐ์ ์์ ์์ธ ์ฃผ์ ์์ด ๋๋ฉ์ธ(์ปจํ ์คํธ ์ด๋ฆ)๋ง ์ ๋ ฅํ์ ๋ ์๋์ผ๋ก ๋ณด์ฌ์ค ์ฒซ ํ์ด์ง๋ฅผ ๋ฑ๋กํฉ๋๋ค. ๋ณดํต index.html์ด๋ index.jsp ๋ฑ์ด ์ง์ ๋ฉ๋๋ค.
5. ์๋ฒ ์ค์ ์ ํต์ฌ: Context
**์ปจํ ์คํธ(Context)**๋ ํฐ์บฃ์ด ์ธ์งํ๋ ํ๋์ ๋ ๋ฆฝ๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ง์นญํฉ๋๋ค.
- ์ค๋ณต ๋ถ๊ฐ: ์ปจํ ์คํธ ์ด๋ฆ์ ์๋ฒ ๋ด์์ ์ค๋ณต๋ ์ ์์ผ๋ฉฐ ๋์๋ฌธ์๋ฅผ ์๊ฒฉํ ๊ตฌ๋ถํฉ๋๋ค.
- Path์ docBase: path๋ ๋ธ๋ผ์ฐ์ ์์ ์ ๊ทผํ๋ ๊ฐ์ ๊ฒฝ๋ก(์ปจํ ์คํธ ์ด๋ฆ)๋ฅผ, docBase๋ ๋ด ์ปดํจํฐ์ ์ค์ ์์น ๊ฒฝ๋ก๋ฅผ ์๋ฏธํฉ๋๋ค.
- Reloadable: ์คํ ์ค์ ์์ค ์ฝ๋๊ฐ ๊ฐฑ์ ๋์์ ๋ ์๋ฒ๋ฅผ ์๋์ผ๋ก ์ฌ์์ํ ์ง ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
๋ง๋ฌด๋ฆฌํ๋ฉฐ
์๋ฐ ์น ๊ฐ๋ฐ์ ๊ธฐ์ด ์ธํ ์ด ์๋ฃ๋์์ต๋๋ค! ์ด์ ์ด ํ๊ฒฝ ์์์ **์๋ธ๋ฆฟ(Servlet)**๊ณผ JSP๋ฅผ ์์ฑํ์ฌ ๋์ ์ธ ์น ์ฌ์ดํธ๋ฅผ ๋ง๋ค์ด๊ฐ ์ ์์ต๋๋ค.
'๐ฉโ๐ปDeveloper ๐ก > ๐พBack-end๐๏ธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| Spring WebMVC Process ๋ก์ง๋ + React/Vue (0) | 2026.03.23 |
|---|---|
| ์ฃผ๋ฐฉ์ฅ ํฐ์บฃ๊ณผ ์๋ฐ ๋ ์ํผ ์๋ธ๋ฆฟ: ์น ํต์ ํ ํ ์ ๋ฆฌ (1) | 2026.03.12 |
| Hello, jsp! (0) | 2026.03.12 |
| ์น ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ(WAS) (1) | 2026.03.12 |
| Java Stream(์คํธ๋ฆผ) ์์ ์ ๋ฆฌ (0) | 2026.02.12 |