Skip to content

huneeJung/servlet_demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

45 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Java Servlet & JDBC Transaction Tutorial

Tomcat๊ณผ Servlet API๋ฅผ ํ™œ์šฉํ•œ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ๊ธฐ๋ฐ˜์˜ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌํ˜„ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค. ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ์˜ ์ƒ๋ช…์ฃผ๊ธฐ๋ฅผ ์ดํ•ดํ•˜๊ณ  JDBC ํŠธ๋žœ์žญ์…˜์„ ์ง์ ‘ ๋‹ค๋ฃจ์–ด ๋ณด๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“‹ ๋ชฉ์ฐจ

ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

์ด ํ”„๋กœ์ ํŠธ๋Š” Spring Framework๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์ˆœ์ˆ˜ Servlet๊ณผ JDBC๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. Servlet Container์˜ ๋™์ž‘ ์›๋ฆฌ์™€ JDBC ํŠธ๋žœ์žญ์…˜ ๊ด€๋ฆฌ๋ฅผ ์‹ค์Šตํ•˜์—ฌ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ธฐ๋ณธ ๋™์ž‘ ์›๋ฆฌ๋ฅผ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค.

์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜

ํ•ต์‹ฌ ์ปดํฌ๋„ŒํŠธ

  1. Servlet Container (Tomcat)

    • ์„œ๋ธ”๋ฆฟ ์ƒ๋ช…์ฃผ๊ธฐ ๊ด€๋ฆฌ
    • HTTP ์š”์ฒญ/์‘๋‹ต ์ฒ˜๋ฆฌ
    • ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ๊ด€๋ฆฌ
  2. ServletListener

    • ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ ์ดˆ๊ธฐํ™”
    • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒ๋ช…์ฃผ๊ธฐ ๊ด€๋ฆฌ
    • ๋ฆฌ์†Œ์Šค ์ดˆ๊ธฐํ™”

์ฃผ์š” ๊ธฐ๋Šฅ

  • HTTP ์š”์ฒญ/์‘๋‹ต ์ฒ˜๋ฆฌ
  • ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ๊ธฐ๋ฐ˜ ์š”์ฒญ ์ฒ˜๋ฆฌ
  • JDBC ํŠธ๋žœ์žญ์…˜ ๊ด€๋ฆฌ
  • ๋™์  ์›น ํŽ˜์ด์ง€ ์ƒ์„ฑ
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค CRUD ์ž‘์—…

๊ธฐ์ˆ  ์Šคํƒ

  • WAS: Apache Tomcat
  • Servlet API: Java Servlet
  • Database: JDBC
  • Configuration: web.xml

ํ•™์Šต ๋‚ด์šฉ

1. Servlet Container ๋™์ž‘ ์›๋ฆฌ

  • ServletListener๋ฅผ ํ†ตํ•œ ์ดˆ๊ธฐํ™” ๊ณผ์ •
  • ์„œ๋ธ”๋ฆฟ ์ƒ๋ช…์ฃผ๊ธฐ (init โ†’ service โ†’ destroy)
  • HTTP ์š”์ฒญ/์‘๋‹ต ์ฒ˜๋ฆฌ ๊ณผ์ •
    protected void doGet(HttpServletRequest request, HttpServletResponse response) {
        // HTTP ์š”์ฒญ ์ฒ˜๋ฆฌ
    }

2. ํŠธ๋žœ์žญ์…˜ ๊ด€๋ฆฌ

try{
    conn.setAutoCommit(false);
    // ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ์ˆ˜ํ–‰
    conn.commit();
} catch (SQLException e) {
    conn.rollback();
    throw e;
}

3. Spring๊ณผ์˜ ์ฐจ์ด์ 

  1. ์„ค์ • ๋ฐฉ์‹

    • Servlet: web.xml ๊ธฐ๋ฐ˜ ์„ค์ •
    • Spring: ์–ด๋…ธํ…Œ์ด์…˜ ๊ธฐ๋ฐ˜ ์„ค์ •
  2. ์š”์ฒญ ์ฒ˜๋ฆฌ

    • Servlet: HttpServlet ์ƒ์†
    • Spring: @Controller ์–ด๋…ธํ…Œ์ด์…˜
  3. ํŠธ๋žœ์žญ์…˜ ๊ด€๋ฆฌ

    • Servlet: ์ˆ˜๋™ ํŠธ๋žœ์žญ์…˜ ๊ด€๋ฆฌ
    • Spring: @Transactional ์–ด๋…ธํ…Œ์ด์…˜

4. ์ตœ์‹  ์›น ๊ฐœ๋ฐœ ํŠธ๋ Œ๋“œ์™€์˜ ๋น„๊ต

  1. ํŽ˜์ด์ง€ ๋ Œ๋”๋ง

    • JSP: ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง(SSR)
    • ์ตœ์‹ : ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง(CSR)
  2. ๋ฐ์ดํ„ฐ ํฌ๋งท

    • ๊ณผ๊ฑฐ: HTML ํŽ˜์ด์ง€ ์ „์ฒด ์ „์†ก
    • ํ˜„์žฌ: JSON ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ ํ†ต์‹ 

About

Understanding servlets with Tomcat

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages