ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ๊ตฌ์กฐ์™€ ์„œ๋ธ”๋ฆฟ Servlet
    JAVA 2020. 9. 18. 23:59

    ๐ŸŽฏ ์›น์„œ๋น„์Šค์˜ ์ž‘๋™์›๋ฆฌ์™€ MVC ํŒจํ„ด์—์„œ ์„œ๋ธ”๋ฆฟ์˜ ์—ญํ• ๊ณผ ํŠน์ง•์„ ์•Œ์•„๋ณธ๋‹ค.


     

     

     

    ํด๋ผ์ด์–ธํŠธ - ์„œ๋ฒ„ ๊ตฌ์กฐ


     

    ์‚ฌ์šฉ์ž(Client)๊ฐ€ ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ url ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์„œ๋ฒ„(Server)์— ํŽ˜์ด์ง€๋ฅผ ์š”์ฒญ(Request)ํ•˜๊ฒŒ ๋œ๋‹ค. ์„œ๋ฒ„๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์š”์ฒญํ•œ HTML, JSP, ์„œ๋ธ”๋ฆฟ ํŒŒ์ผ์„ ๊ฒ€์ƒ‰ํ•ด์„œ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์— ์‘๋‹ต(Response)ํ•œ๋‹ค. ์„œ๋ฒ„์— ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญํ•œ ํŒŒ์ผ์ด ์—†์„ ๊ฒฝ์šฐ 404 Not Found ์—๋Ÿฌ๋ฅผ ํ‘œ์‹œํ•œ๋‹ค.

     

     

     

    URL ๊ตฌ์กฐ


    URL(Uniform Resource Locator)์ด๋ž€ ์›น ์„œ๋ฒ„๊ฐ€ ์ธํ„ฐ๋„ท์— ์กด์žฌํ•˜๋Š” ์ž์›์„ ๊ฒ€์ƒ‰ํ•˜๊ณ  ํ•ด์„ํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ๋„คํŠธ์›Œํฌ ์„œ๋น„์Šค์˜ ํ‘œํ˜„์‹์„ ์˜๋ฏธํ•œ๋‹ค.

    ์ฃผ์†Œ์ฐฝ์— www.naver.com๋งŒ ์ž…๋ ฅํ•ด๋„ ๋’ค์— ์ด๋Ÿฐ ๊ตฌ์กฐ๊ฐ€ ๋งŒ๋“ค์–ด์ง„๋‹ค. ์ฃผ์†Œ์ฐฝ์—์„œ ์—”ํ„ฐ์น˜๋Š” ์ˆœ๊ฐ„ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์„œ๋น„์Šคํ•˜๋Š” ์„œ๋ฒ„์˜ ์ปดํ“จํ„ฐ ์ฃผ์†Œ(IP ๋˜๋Š” ๋„๋ฉ”์ธ์ฃผ์†Œ)๋กœ ์ฐพ์•„๊ฐ€๊ณ , ํฌํŠธ๋ฒˆํ˜ธ๋กœ ์›น์„œ๋ฒ„๋ฅผ ์ฐพ์€ ๋’ค index.htmlํŒŒ์ผ์„ ๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ•˜๊ฒŒ ๋œ๋‹ค.

    index.html์€ ์„œ๋ฒ„๊ฐ€ ์„œ๋น„์Šคํ•˜๋Š” ์ž์› ์ •๋ณด(URI)๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ ์„œ๋ฒ„๋Š” ํ•ด๋‹น ํŒŒ์ผ์„ ๊ฐ–๊ณ ์žˆ์–ด์•ผ ํ•˜๊ณ  ์ด๊ฑธ ์ฐพ์•„์„œ ์‚ฌ์šฉ์ž์—๊ฒŒ ์‘๋‹ตํ•œ๋‹ค. ์‚ฌ์šฉ์ž ๋ธŒ๋ผ์šฐ์ €์—์„œ ์‘๋‹ต์„ ๋ณด๋‚ด๋ฉด ์ด์ œ ํ•˜๋‚˜์˜ ์š”์ฒญ๊ณผ ์‘๋‹ต ์ฒ˜๋ฆฌ๊ฐ€ ๋๋‚œ๋‹ค.

     

     

     

    HTTP ํ”„๋กœํ† ์ฝœ


    ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„์˜ ํ†ต์‹ ๊ทœ์•ฝ์„ ์˜๋ฏธํ•œ๋‹ค.

    ํŠน์ง• 1. ๋ฌด์—ฐ๊ฒฐ ํ†ต์‹ ๋ฐฉ์‹

    TCPํ†ต์‹  ํ›„ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์— ์„œ๋ฒ„๊ฐ€ ์‘๋‹ตํ•˜๋ฉด TCP ์—ฐ๊ฒฐ์„ ๋Š์–ด๋ฒ„๋ฆฐ๋‹ค. ํ•˜๋‚˜์˜ ์š”์ฒญ์— ๋Œ€ํ•œ ํ•˜๋‚˜์˜ ์‘๋‹ต์ด ์ฒ˜๋ฆฌ๋˜๊ณ  ๋‚˜๋ฉด ์—ฐ๊ฒฐ์ด ๋Š์–ด์ง„๋‹ค. ์ด๊ฒŒ ์ปค๋„ฅ์…˜๋ฆฌ์Šค ๋ฐฉ์‹์ด๋‹ค.

    ํŠน์ง• 2. ๋ฌด์ƒํƒœ ํ†ต์‹ ๋ฐฉ์‹

    ์š”์ฒญํ•  ๋•Œ๋งˆ๋‹ค ์„œ๋กœ ๋‹ค๋ฅธ ์—ฐ๊ฒฐ๋กœ ์ธ์‹๋˜์–ด์„œ ์š”์ฒญ ๊ฐ„ ์ƒํƒœ์ •๋ณด๊ฐ€ ์œ ์ง€๋˜์ง€ ์•Š๋Š” ํŠน์„ฑ์ด ์žˆ๋‹ค.

     

    ์ฃผ์†Œ์ฐฝ์— url์„ ์ž…๋ ฅํ•˜๊ณ  ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉด ์ธํ„ฐ๋„ท์ฐฝ ๋ฐ‘์— ์ด๋Ÿฐ ๋ฌธ๊ตฌ๊ฐ€ ์ž ๊น ๋œจ๊ณ  ์‚ฌ๋ผ์ง„๋‹ค. ์‘๋‹ต์ฒ˜๋ฆฌํ•˜๊ณ  ์—ฐ๊ฒฐ์„ ๋๋‚ด๋Š” ๋ชจ์Šต์ด๋‹ค.

     

     

     

    HTTP Request ์š”์ฒญ์ •๋ณด


    ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ URL์„ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜ ์–ด๋–ค ๋งํฌ๋ฅผ ๋ˆŒ๋Ÿฌ์„œ ์›ํ•˜๋Š” ์„œ๋น„์Šค๋ฅผ ์š”์ฒญํ•˜๋ฉด ์š”์ฒญ์ •๋ณด๊ฐ€ ๋ฐœ์ƒ๋˜์–ด ์„œ๋ฒ„์— ์ „๋‹ฌ๋œ๋‹ค.

    ์š”์ฒญ ์ •๋ณด ๊ตฌ์กฐ

    ์š”์ฒญ ๋ผ์ธ : ์š”์ฒญ๋ฐฉ์‹ ๋ฐ ์š”์ฒญ url๊ณผ HTTP ๋ฒ„์ „ ์ •๋ณด๋ฅผ ๊ฐ–๋Š”๋‹ค.

    ์š”์ฒญ ํ—ค๋” : ์›น๋ธŒ๋ผ์šฐ์ € ์ •๋ณด, ์–ธ์–ด, ์ธ์ฝ”๋”ฉ๋ฐฉ์‹, ์š”์ฒญ ์„œ๋ฒ„ ์ •๋ณด ๋“ฑ๊ณผ ๊ฐ™์€ ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ๊ฐ–๋Š”๋‹ค.

    ์š”์ฒญ ๋ณธ์ฒด : ์š”์ฒญ์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ–๋Š”๋‹ค. ํผํƒœ๊ทธ ์•ˆ์— ์ž…๋ ฅ๋œ ๊ฐ’๋“ค์ธ ํŒŒ๋ผ๋ฏธํ„ฐ ์ •๋ณด๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

     

     

     

    HTTP method ์š”์ฒญ๋ฐฉ์‹


    method๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์š”์ฒญ์„ ํ•˜๋Š” ๋™์ž‘ ๋ฐฉ์‹์„ ์˜๋ฏธํ•œ๋‹ค. GET, POST, PUT, DELETE ๋“ฑ์ด ์žˆ๋‹ค.

    get๋ฐฉ์‹

    http://127.0.0.1:5500/target.html?userid=๊น€๊ธธ๋™&passwd=1111

    ์ผ๋ฐ˜์ ์œผ๋กœ ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜ ํ•˜์ดํผ๋งํฌ๊ฐ€ ํฌํ•จ๋œ ๊ฐœ์ฒด๋ฅผ ํด๋ฆญํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ์š”์ฒญํ—ค๋”๋กœ ์ „์†ก๋˜๋ฉฐ ๋ฌธ์ž์—ด ์ •๋ณด๋ฅผ ํ•จ๊ป˜ ์š”์ฒญํ•˜๋Š” ๊ฒฝ์šฐ URI ๋’ค์— '?'๋ฌผ์Œํ‘œ ๊ธฐํ˜ธ๋ฅผ ๋ถ™์ด๊ณ  ๋ฌธ์ž์—ด ์ •๋ณด๋ฅผ ๋ถ™์—ฌ์„œ ์ „์†กํ•œ๋‹ค. ๋งŒ์•ฝ ์ด ๋ฌธ์ž์—ด์ด ์ค‘์š”ํ•œ ์ •๋ณด๋ฅผ ๋‹ด๊ณ ์žˆ์„ ๊ฒฝ์šฐ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๊ฐ€ ๋…ธ์ถœ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์œ„ํ—˜ํ•˜๋‹ค. ๋”ฐ๋ผ์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹จ์ˆœํ•˜๊ฒŒ ๋น ๋ฅธ ์†๋„๋กœ ์š”์ฒญํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

    post ๋ฐฉ์‹

    http://127.0.0.1:5500/01form.html

    ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญ ๋ฐ”๋””์— ์ˆจ๊ฒจ์„œ ์•ˆ๋ณด์ด๊ฒŒ ์ „์†กํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ๋”ฐ๋ผ์„œ ์ค‘์š”ํ•œ ์ •๋ณด๋Š” POST๋ฐฉ์‹์œผ๋กœ ์ „์†กํ•œ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ด ๋ฐฉ์‹์€ body์— ์ˆจ๊ธฐ๋ฉด์„œ ์ธ์ฝ”๋”ฉ์„ ํ•ด๋ฒ„๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„์—์„œ ์‚ฌ์šฉ ์‹œ ๋””์ฝ”๋”ฉ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์•ผํ•˜๋ฏ€๋กœ ๋ฒˆ๊ฑฐ๋กœ์›€ ์žˆ๊ณ  ์ƒ๋Œ€์ ์œผ๋กœ ์†๋„๊ฐ€ ๋Š๋ฆฌ๋‹ค.

     

     

     

    HTTP Response ์‘๋‹ต์ •๋ณด


    ์‘๋‹ต์ •๋ณด์˜ ์ƒํƒœ ๋ผ์ธ์€ HTTP ๋ฒ„์ „, ์ƒํƒœ์ฝ”๋“œ, ์ƒํƒœ์ฝ”๋“œ ์„ค๋ช…์„ ๋‹ด๊ณ ์žˆ๋‹ค. ์š”์ฒญ ์ฒ˜๋ฆฌ๋ฅผ ์„ฑ๊ณตํ•  ๊ฒฝ์šฐ ์ƒํƒœ์ฝ”๋“œ 200์„, ์„œ๋ฒ„๊ฐ€ ์š”์ฒญ URI๋ฅผ ์ฐพ์ง€ ๋ชปํ•œ ๊ฒฝ์šฐ 404๋ฅผ, ์„œ๋ฒ„ ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰ ์˜ค๋ฅ˜๋Š” 500์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.

     

     

     

    ์›น ์ปดํฌ๋„ŒํŠธ( Web Component )


    1) HTML ์ปดํฌ๋„ŒํŠธ ( ์ •์ :static )
    2) JSP ์ปดํฌ๋„ŒํŠธ ( ๋™์ : dynamic )
    3) Servlet ์ปดํฌ๋„ŒํŠธ (๋™์ : dynamic )

    ์›น์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ดํด๋ฆฝ์Šค์˜ ํ†ฐ์บฃ ์—ญํ• ์ด๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์š”์ฒญํ•œ ์ •๋ณด๋ฅผ ์ฐพ์•„์„œ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ „์†กํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

     

     

     

    MVC ํŒจํ„ด


    ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์„ธ ๊ฐ€์ง€ ์˜์—ญ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด ์ž‘์—…์„ ๋ถ„๋ฆฌํ•จ์œผ๋กœ์จ ์„œ๋กœ๊ฐ„์˜ ๊ฒฐํ•ฉ๋„ ์ตœ์†Œํ™”ํ•ด ์œ ์ง€๋ณด์ˆ˜ ํšจ๊ณผ๋ฅผ ๋†’์ธ๋‹ค.

     

    ๋ชจ๋ธ

    ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๋‹ด๋‹นํ•˜๋Š” ๋ชจ๋“ˆ๋กœ์„œ ์ผ๋ฐ˜ ์ž๋ฐ” ํด๋ž˜์Šค๋กœ ๊ตฌํ˜„๋œ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๋™ ์‹œ ํ•„์š”ํ•œ dao, dtoํด๋ž˜์Šค ํŒŒ์ผ๋“ค์— ํ•ด๋‹น๋œ๋‹ค. ์„œ๋น„์Šค์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ฒ˜๋ฆฌ๋ฅผ ๋‹ด๋‹นํ•œ๋‹ค.

     

    ๋ทฐ

    ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์งˆ ํ™”๋ฉด ๊ตฌ์„ฑ์„ ๋‹ด๋‹นํ•˜๋ฉฐ JSP๋กœ ๊ตฌํ˜„๋œ๋‹ค. ๋ชจ๋ธ์˜ ๋ฐ์ดํ„ฐ๋ฅผ html๋กœ ๋ณด์—ฌ์ฃผ๊ฑฐ๋‚˜ ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•˜๋Š” ํ™”๋ฉด ๊ตฌ์„ฑ์„ ๋‹ด๋‹นํ•œ๋‹ค.

     

    ์ปจํŠธ๋กค๋Ÿฌ

    ๋ชจ๋ธ๊ณผ ๋ทฐ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์—ญํ• ์ด๋ฉฐ ์„œ๋ธ”๋ฆฟ์œผ๋กœ ๊ตฌํ˜„ํ•œ๋‹ค. ์š”์ฒญ๋‹ค์Œ์— ๋ณด์—ฌ์ค„ ํ™”๋ฉด ์„ ํƒ ์ž‘์—…์ด๋‚˜ ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๋ฐ์ดํ„ฐ ๊ฒ€์ฆํ•˜๊ฑฐ๋‚˜ ์ถœ๋ ฅํ•˜๋Š” ์ž‘์—… ๋“ฑ์„ ๋‹ด๋‹นํ•œ๋‹ค. ์‹ค์ œ ์ž๋ฐ”์ฝ”๋“œ์™€ ๊ฑฐ์˜ ๋น„์Šทํ•˜๋‹ค.

     

     

     

    ์„œ๋ธ”๋ฆฟ์ด๋ž€?


    • ์ž๋ฐ”๊ธฐ๋ฐ˜์˜ ์›น ์ปดํฌ๋„ŒํŠธ๋กœ์„œ java ํ™•์žฅ์ž๋ฅผ ๊ฐ–๋Š”๋‹ค.
    • ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์— ์˜ํ•ด์„œ ๋™์ ์œผ๋กœ ์‹คํ–‰๋œ๋‹ค. ๋”ฐ๋ผ์„œ ๋‹ค์–‘ํ•œ ํด๋ผ์ด์–ธํŠธ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ์„œ๋ธ”๋ฆฟ์€ ๋ฐ˜๋“œ์‹œ ์›น ์ปจํ…Œ์ด๋„ˆ์— ์˜ํ•ด์„œ ๊ด€๋ฆฌ๋˜๋ฉฐ, ์Šค๋ ˆ๋“œ๋กœ ๋™์ž‘๋˜์–ด ํšจ์œจ์ ์ธ ์š”์ฒญ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.
    • MVC ํŒจํ„ด์˜ Controller ์—ญํ• ๋กœ์„œ ์„œ๋ธ”๋ฆฟ์ด ์‚ฌ์šฉ๋œ๋‹ค.

     

     

     

    ์„œ๋ธ”๋ฆฟ ํŒŒ์ผ ๋งŒ๋“ค๊ธฐ


    ์ƒˆ Dynamic Web ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ๋งŒ๋“ค ๋•Œ ๊ณ„์† Next๋ฅผ ํด๋ฆญํ•œ ๋’ค web.xml ์ƒ์„ฑ์— ์ฒดํฌํ•ด์•ผ ํ•œ๋‹ค.

     

    ํ”„๋กœ์ ํŠธ์—์„œ ์˜ค๋ฅธ์ชฝ๋งˆ์šฐ์Šค๋ฅผ ํด๋ฆญํ•ด ์„œ๋ธ”๋ฆฟ ํŒŒ์ผ์„ ๋งŒ๋“ ๋‹ค.

     

    ํŒจํ‚ค์ง€ ๊ฒฝ๋กœ์™€ ํด๋ž˜์Šค ๋„ค์ž„์„ ์„ค์ •ํ•œ๋‹ค. 

     

    ์‚ฌ์šฉ์ž ์š”์ฒญ ์ฃผ์†Œ๋ฅผ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.

     

    ๋‘๊ฒŸ๊ณผ ๋‘ํฌ์ŠคํŠธ ๋ฉ”์†Œ๋“œ ๋‘๊ฐœ๋งŒ ์ฃผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

     

    ์„œ๋ธ”๋ฆฟ ํŒŒ์ผ์ด src ํด๋” ๋ฐ ํŒจํ‚ค์ง€ ์•ˆ์— ์ƒ์„ฑ๋˜์—ˆ๋‹ค.

     

     

    ์„œ๋ธ”๋ฆฟ ์ฝ”๋“œ ๋ณด๊ธฐ

    @WebServlet("/HelloTest")

    ์–ด๋…ธํ…Œ์ด์…˜ ์•ˆ์— ๋“ค์–ด๊ฐ„ ๋‚ด์šฉ์ด ์‚ฌ์šฉ์ž ์š”์ฒญ ์ฃผ์†Œ๊ฐ€๋œ๋‹ค. →์„œ๋ธ”๋ฆฟ๋งคํ•‘

     

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            response.getWriter().append("Served at: ").append(request.getContextPath());
        }
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            doGet(request, response);
        }

    ์‚ฌ์šฉ์ž ์š”์ฒญ๋ฐฉ์‹์ด GET ๋ฐฉ์‹์ด๋ผ๋ฉด doGet() ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๊ฒŒ ๋œ๋‹ค. ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์š”์ฒญ๋˜๊ฑด ์ฒ˜๋ฆฌํ•  ๋‚ด์šฉ์€ ๋˜‘๊ฐ™๊ธฐ ๋•Œ๋ฌธ์— ์ฒ˜๋ฆฌ ์ฝ”๋“œ๋ฅผ ํ•œ๊ตฐ๋ฐ์—๋งŒ ๋งŒ๋“ค์–ด๋†“๊ณ  doPost()์—์„  doGet()์„ ํ˜ธ์ถœํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค.

     

     

     

    ์„œ๋ธ”๋ฆฟ ๋งตํ•‘


    ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ธ”๋ฆฟ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•ด์ฃผ๋Š” ๋‘๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด๋‹ค.

     

    @WebServlet ์–ด๋…ธํ…Œ์ด์…˜ ์ด์šฉ

    XML ํŒŒ์ผ์„ ์ด์šฉํ•˜์—ฌ ํ™˜๊ฒฝ์„ค์ • ๋ฐ ์ถ”๊ฐ€์ •๋ณด๋ฅผ ๋“ฑ๋กํ•˜๋Š” ๋ฐฉ๋ฒ• ๋Œ€์‹ ์— ์ž๋ฐ”์ฝ”๋“œ์— ์ง์ ‘ ์„œ๋ธ”๋ฆฟ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ํด๋ž˜์Šค ์•ž์— ์ง€์ •ํ•ด์ค€๋‹ค.

     

    web.xml์— url ๋งคํ•‘ํ•˜๊ธฐ

    <servlet>
        <servlet-name>HelloTestServlet</servlet-name>
        <servlet-class>com.controller.HelloTestServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>HelloTestServlet</servlet-name>
        <url-pattern>/xxx</url-pattern>
    </servlet-mapping>

    <servlet>ํƒœ๊ทธ ์•ˆ์— ์•ž์œผ๋กœ ์‚ฌ์šฉํ•  ์„œ๋ธ”๋ฆฟ์˜ ๋ณ„๋ช…๊ณผ ์„œ๋ธ”๋ฆฟ์˜ ์‹ค์ œ ํด๋ž˜์Šค ์ด๋ฆ„์„ ์ž‘์„ฑํ•œ๋‹ค. <servlet-mapping>ํƒœ๊ทธ ์•ˆ์—๋Š” ์„œ๋ธ”๋ฆฟ ํƒœ๊ทธ์—์„œ ์ง€์ •ํ•œ ์„œ๋ธ”๋ฆฟ ๋ณ„๋ช…๊ณผ ์„œ๋ธ”๋ฆฟ์„ ์‹คํ–‰ํ•  ๋•Œ ์‚ฌ์šฉํ•  url์„ ์ง€์ •ํ•œ๋‹ค. ์œ„ ์ฝ”๋“œ์—์„  /xxx๊ฐ€ ์„œ๋ธ”๋ฆฟ์˜ url ๊ฒฝ๋กœ๊ฐ€ ๋œ๋‹ค.

     

     

     

    ๐Ÿ˜œ NEXT : Servlet์˜ ์š”์ฒญ๊ณผ ์‘๋‹ต์ฒ˜๋ฆฌ ์•Œ์•„๋ณด๊ธฐ

    ๋ฐ˜์‘ํ˜•

    ๋Œ“๊ธ€

๊ฐœ๋ฐœ๊ณต๋ถ€