ํด๋ผ์ด์ธํธ๋ ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด URL์ ์ ๋ ฅํ์ฌ HTTP ์์ฒญ์ ์๋ฒ๋ก ์ ์กํฉ๋๋ค. ์๋ฒ๋ ์ด ์์ฒญ์ ์์ ํ๊ณ , HTTP ์๋ต์ผ๋ก ํด๋ผ์ด์ธํธ์ ์๋ตํฉ๋๋ค.
ํด๋ผ์ด์ธํธ ์ธก์ ๋ธ๋ผ์ฐ์ ์์๋ ํ๋ฉด์ ๊ตฌ์ฑํ๊ธฐ ์ํด ์ฃผ๋ก HTML, CSS, JavaScript๊ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด๋ค ๊ธฐ์ ์ ํตํด ๋ฐ์ดํฐ๋ฅผ ์๊ฐ์ ์ผ๋ก ํํํ ์ ์์ต๋๋ค.
Apache์ ๊ฐ์ ์น ์๋ฒ(W.S)๊ฐ HTTP ์์ฒญ์ ์์ ํฉ๋๋ค. ์์ ๋ ์์ฒญ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํธ์์ฉํ๊ธฐ ์ํด Application Server(A.S)๋ก ์ ๋ฌ๋์ด ์ฒ๋ฆฌ๋ฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก W.S์ A.S๋ฅผ ํตํฉํ ๊ตฌ์กฐ๋ก Tomcat(ํฐ์บฃ)์ ์ฌ์ฉํฉ๋๋ค.
A.S์์ ์ฒ๋ฆฌ๋ ์์ฒญ์ Java์ Servlet ๊ธฐ์ ์ ํตํด HTML์ ์์ฑํ์ฌ HTTP ์๋ต์ ๋ด์ ํด๋ผ์ด์ธํธ์ ์ ๋ฌํฉ๋๋ค. ์ต๊ทผ์๋ Servlet์ ๋ณต์กํจ์ ์ค์ด๊ธฐ ์ํด JSP(JavaServer Pages)๋ฅผ ์ฌ์ฉํ์ฌ ์น ํ์ด์ง๋ฅผ ์์ฑํ๋ ๊ฒฝํฅ์ด ์์ต๋๋ค.
๋๋ถ๋ถ์ ๋ฐ์ดํฐ๋ RDBMS(๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ )์์ ๊ด๋ฆฌ๋ฉ๋๋ค. ์๋ฐ์์๋ JDBC(Java Database Connectivity) API๋ฅผ ํตํด DBMS์ ํต์ ํฉ๋๋ค.
์๋ฒ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ ๋ฐ๋ณต์ ์ธ ์์ ์ ์ค์ด๊ธฐ ์ํด Spring ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค. Spring์ JDBC์์ ์์ ์ ๊ฐ์ํํ๋ฉฐ, MyBatis๋ JPA์ ๊ฐ์ ORM(Object-Relational Mapping) ํ๋ ์์ํฌ๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ์ ๋ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค.
๊ณ์ธต ๊ฐ์ ๋ฐ์ดํฐ ์ ๋ฌ์ ๋ณดํต DTO(Data Transfer Object)๋ฅผ ํตํด ์ด๋ฃจ์ด์ง๋๋ค. ์ฃผ๋ก ์ปจํธ๋กค๋ฌ์์ ์๋น์ค๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ ๋ ์ฌ์ฉ๋ฉ๋๋ค.
์ด ๊ธ์ ํตํด ์น ์ํคํ ์ฒ์ ๊ธฐ๋ณธ ๊ตฌ์ฑ ์์์ ๋ฐ์ดํฐ ํ๋ฆ์ ์ดํดํ๋ ๋ฐ ๋์์ด ๋์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ์น ๊ฐ๋ฐ์ ๋ํ ์ดํด๋ฅผ ๋์ด๊ณ , ๋ ๋์ ์ํคํ ์ฒ ์ค๊ณ๋ฅผ ์ํ ๊ธฐ์ด๋ฅผ ๋ค์ง ์ ์์ต๋๋ค! ๐โจ
[1] velog - [WEB] WAS(Web Application Server)์ ์๋ธ๋ฆฟ(Servlet)์ ... (https://velog.io/@dyunge_100/WEB-WASWeb-Application-Server%EC%99%80-%EC%84%9C%EB%B8%94%EB%A6%BFServlet%EC%97%90-%EB%8C%80%ED%95%98%EC%97%AC)
[2] ํฐ์คํ ๋ฆฌ - Apache Tomcat (WAS, Web Server, Apache HTTP ... - ํธ์์ธ (https://pabeba.tistory.com/145)
[3] TISTORY - WebServer1์ฃผ์ฐจ์น์๋ฒ๋? - ๊ณต๋ถ์ฉ ๋ธ๋ก๊ทธ (https://invisible-blog.tistory.com/17)
[4] ํฐ์คํ ๋ฆฌ - Tomcat(ํฐ์บฃ), JSP, Servlet(์๋ธ๋ฆฟ)์ ๊ธฐ๋ณธ ๊ฐ๋
๋ฐ ๊ตฌ์กฐ (https://codevang.tistory.com/191)