Tomcat๊ณผ Servlet API๋ฅผ ํ์ฉํ ๋ฉํฐ์ค๋ ๋ ๊ธฐ๋ฐ์ ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌํ ํ๋ก์ ํธ์ ๋๋ค. ์๋ธ๋ฆฟ ์ปจํ ์ด๋์ ์๋ช ์ฃผ๊ธฐ๋ฅผ ์ดํดํ๊ณ JDBC ํธ๋์ญ์ ์ ์ง์ ๋ค๋ฃจ์ด ๋ณด๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค.
์ด ํ๋ก์ ํธ๋ Spring Framework๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ์์ Servlet๊ณผ JDBC๋ฅผ ํ์ฉํ์ฌ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌํํฉ๋๋ค. Servlet Container์ ๋์ ์๋ฆฌ์ JDBC ํธ๋์ญ์ ๊ด๋ฆฌ๋ฅผ ์ค์ตํ์ฌ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ธฐ๋ณธ ๋์ ์๋ฆฌ๋ฅผ ์ดํดํฉ๋๋ค.
-
Servlet Container (Tomcat)
- ์๋ธ๋ฆฟ ์๋ช ์ฃผ๊ธฐ ๊ด๋ฆฌ
- HTTP ์์ฒญ/์๋ต ์ฒ๋ฆฌ
- ๋ฉํฐ์ค๋ ๋ ๊ด๋ฆฌ
-
ServletListener
- ์๋ธ๋ฆฟ ์ปจํ ์ด๋ ์ด๊ธฐํ
- ์ ํ๋ฆฌ์ผ์ด์ ์๋ช ์ฃผ๊ธฐ ๊ด๋ฆฌ
- ๋ฆฌ์์ค ์ด๊ธฐํ
- HTTP ์์ฒญ/์๋ต ์ฒ๋ฆฌ
- ๋ฉํฐ์ค๋ ๋ ๊ธฐ๋ฐ ์์ฒญ ์ฒ๋ฆฌ
- JDBC ํธ๋์ญ์ ๊ด๋ฆฌ
- ๋์ ์น ํ์ด์ง ์์ฑ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค CRUD ์์
- WAS: Apache Tomcat
- Servlet API: Java Servlet
- Database: JDBC
- Configuration: web.xml
- ServletListener๋ฅผ ํตํ ์ด๊ธฐํ ๊ณผ์
- ์๋ธ๋ฆฟ ์๋ช ์ฃผ๊ธฐ (init โ service โ destroy)
- HTTP ์์ฒญ/์๋ต ์ฒ๋ฆฌ ๊ณผ์
protected void doGet(HttpServletRequest request, HttpServletResponse response) { // HTTP ์์ฒญ ์ฒ๋ฆฌ }
try{
conn.setAutoCommit(false);
// ๋น์ฆ๋์ค ๋ก์ง ์ํ
conn.commit();
} catch (SQLException e) {
conn.rollback();
throw e;
}-
์ค์ ๋ฐฉ์
- Servlet: web.xml ๊ธฐ๋ฐ ์ค์
- Spring: ์ด๋ ธํ ์ด์ ๊ธฐ๋ฐ ์ค์
-
์์ฒญ ์ฒ๋ฆฌ
- Servlet: HttpServlet ์์
- Spring: @Controller ์ด๋ ธํ ์ด์
-
ํธ๋์ญ์ ๊ด๋ฆฌ
- Servlet: ์๋ ํธ๋์ญ์ ๊ด๋ฆฌ
- Spring: @Transactional ์ด๋ ธํ ์ด์
-
ํ์ด์ง ๋ ๋๋ง
- JSP: ์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง(SSR)
- ์ต์ : ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ๋ ๋๋ง(CSR)
-
๋ฐ์ดํฐ ํฌ๋งท
- ๊ณผ๊ฑฐ: HTML ํ์ด์ง ์ ์ฒด ์ ์ก
- ํ์ฌ: JSON ๊ธฐ๋ฐ ๋ฐ์ดํฐ ํต์