ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [WIL] (230625_ 4์ฃผ์ฐจ) ํŽ˜์–ดํ”„๋กœ๊ทธ๋ž˜๋ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜, Spring์ž…๋ฌธ HTTP, MVC ํŒจํ„ด์ด๋ž€?
    WIL 2023. 6. 25. 21:37
    728x90

    ๐Ÿ”น ๋ฐฐ์šด ๋‚ด์šฉ ์ •๋ฆฌ

    ์ด๋ฒˆ์ฃผ์—๋Š” ํŽ˜์–ดํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ•จ๊ป˜ ํ’€๋ฉด์„œ ํ•œ ๋ฌธ์ œ์— ๋Œ€ํ•ด ๋‹ค์–‘ํ•œ ์ ‘๊ทผ๋ฐฉ๋ฒ•์„ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

    ๋˜ํ•œ Spring ๊ณต๋ถ€์˜ ์ฒซ์ฃผ์ฐจ๋กœ HTTP์™€ MVC ํŒจํ„ด์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ–ˆ๋‹ค.

    ๋‚ด๊ฐ€ ์ดํ•ดํ•œ ๋Œ€๋กœ ์ •๋ฆฌํ•˜์ž๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

     

     

    1. HTTP 

    : ์›น ์ƒ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๊ธฐ ์œ„ํ•œ ํ”„๋กœํ† ์ฝœ๋กœ ํด๋ผ์ด์–ธํŠธ๋Š” ์š”์ฒญ(Request)๋ฉ”์„ธ์ง€๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์„œ๋ฒ„์— ๋ณด๋‚ด๊ณ , ์„œ๋ฒ„๋Š” ํ•ด๋‹น ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜์—ฌ ์‘๋‹ต(Response)๋ฉ”์„ธ์ง€๋ฅผ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ณด๋‚ธ๋‹ค.

    ์ด๋•Œ ๋‹ค์•™ํ•œ ๋ฉ”์„œ๋“œ(GET, POST, PUT, DELETE ๋“ฑ)์„ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„์— ์š”์ฒญ๋ชฉ์ ์„ ์ „๋‹ฌํ•œ๋‹ค.

    F12(์œˆ๋„์šฐ ๊ธฐ์ค€)์œผ๋กœ Headersํƒญ์„ ์‚ดํŽด๋ณด๋ฉด ์ž์„ธํ•œ ๋‚ด์šฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

     

    [์ƒํƒœ์ฝ”๋“œ]
    1xx (Informational)
    : 1xx ์ƒํƒœ ์ฝ”๋“œ๋Š” ์š”์ฒญ์ด ์ˆ˜์‹  ๋˜์—ˆ์œผ๋ฉฐ ์ฒ˜๋ฆฌ๊ฐ€ ๊ณ„์†๋˜๊ณ  ์žˆ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
    ์ฃผ๋กœ ์›น ๋ธŒ๋ผ์šฐ์ €์™€ ๊ฐ™์€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์™€์˜ ์—ฐ๊ฒฐ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

    2xx (Successful)
    : 2xx ์ƒํƒœ ์ฝ”๋“œ๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์ด ์„ฑ๊ณต์ ์œผ๋กœ ์ฒ˜๋ฆฌ ๋˜์—ˆ์œผ๋ฉฐ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์„œ๋ฒ„์— ์ œ๊ณต๋จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
    ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ์ƒํƒœ ์ฝ”๋“œ๋Š” 200์ž…๋‹ˆ๋‹ค.

    3xx (Redirection)
    3xx ์ƒํƒœ ์ฝ”๋“œ๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ถ”๊ฐ€์ ์ธ ์กฐ์น˜๋ฅผ ์ทจํ•ด์•ผ ํ•จ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
    ์ด ์ƒํƒœ ์ฝ”๋“œ๋Š” ์ฃผ๋กœ ํŽ˜์ด์ง€ ์ด๋™, ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ๋“ฑ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

    4xx (Client Error)
    4xx ์ƒํƒœ ์ฝ”๋“œ๋Š” ํด๋ผ์ด์–ธํŠธ์— ์˜ค๋ฅ˜๊ฐ€ ์žˆ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
    ์ด ์ƒํƒœ ์ฝ”๋“œ๋Š” ์ฃผ๋กœ ํด๋ผ์ด์–ธํŠธ์˜ ์ž˜๋ชป๋œ ์š”์ฒญ, ์ธ์ฆ ์˜ค๋ฅ˜ ๋“ฑ์— ์‚ฌ์šฉ๋˜๋ฉฐ, ์š”์ฒญํ•œ ํŽ˜์ด์ง€๋‚˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์„œ๋ฒ„์—์„œ ์ฐพ์„ ์ˆ˜ ์—†์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
    ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ์ƒํƒœ ์ฝ”๋“œ๋Š” 404์ž…๋‹ˆ๋‹ค.

    5xx (Server Error)
    5xx ์ƒํƒœ ์ฝ”๋“œ๋Š” ์„œ๋ฒ„์— ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ด ์ƒํƒœ ์ฝ”๋“œ๋Š” ์ฃผ๋กœ ์„œ๋ฒ„์˜ ์˜ค๋ฅ˜, ์„œ๋ฒ„ ๊ณผ๋ถ€ํ•˜ ๋“ฑ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
    ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ์ƒํƒœ ์ฝ”๋“œ๋Š” 500์ž…๋‹ˆ๋‹ค.

    ์–ด์ œ Postman์„ ์„ค์น˜ํ•˜๋ ค๊ณ  ์‚ฌ์ดํŠธ์— ์ ‘์†ํ–ˆ๋‹ค๊ฐ€ 500์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋Š”๋ฐ ๊ธ‰ํ•œ๊ฑด ์•„๋‹ˆ๋ผ ์˜ค๋Š˜ ๋‹ค์‹œ ์ ‘์†ํ•ด์„œ ์„ค์น˜ํ•˜๋‹ˆ ์ด๋ฒˆ์—” ์ •์ƒ์ ์œผ๋กœ ์ง„ํ–‰๋˜์—ˆ๋‹ค. ์œ„์˜ ์ฝ”๋“œ ์„ค๋ช…์ฒ˜๋Ÿผ ์„œ๋ฒ„์˜ ์˜ค๋ฅ˜๋กœ ๋ฐœ์ƒํ•œ ๋ฌธ์ œ์˜€๋‹ค๋Š”๊ฒƒ์„ ์ด์ œ๋Š” ์•Œ ์ˆ˜ ์žˆ๋‹ค.

     

     

     

     

    2. MVC ํŒจํ„ด

     

    MVC๋Š” ์†Œํ”„ํŠธ์›จ์–ด์˜ ๋””์ž์ธ ํŒจํ„ด ์ค‘ ํ•˜๋‚˜๋กœ ๊ฐ ์š”์†Œ๋“ค์„ Model, View, Controller๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ์—ญํ• ์„ ๋ถ„๋ฆฌํ•œ ๊ฒƒ์ด๋‹ค.

    1. Model (๋ชจ๋ธ)
    : ๋ชจ๋ธ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐ์ดํ„ฐ์™€ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๋‹ด๋‹นํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ํŒŒ์ผ, ์™ธ๋ถ€ API ๋“ฑ๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  ์กฐ์ž‘ํ•œ๋‹ค. ์ฃผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์œ ์ง€ํ•˜๋ฉฐ, ๋ณ€๊ฒฝ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์•Œ๋ฆผ์œผ๋กœ์จ ๋ทฐ์™€ ์ปจํŠธ๋กค๋Ÿฌ์— ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ „๋‹ฌํ•œ๋‹ค.
    2. View (๋ทฐ)
    : ๋ทฐ๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ง€๋Š” ๋ถ€๋ถ„์œผ๋กœ, ๋ชจ๋ธ์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ํ‘œ์‹œํ•œ๋‹ค. ์‚ฌ์šฉ์ž์—๊ฒŒ ํ™”๋ฉด, ๋ฒ„ํŠผ, ํผ ๋“ฑ์˜  ์‹œ๊ฐ์ ์ธ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•˜๋ฉฐ, ์‚ฌ์šฉ์ž ์ž…๋ ฅ์„ ๋ฐ›์•„ ์ปจํŠธ๋กค๋Ÿฌ์— ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ๋ทฐ๋Š” ์ฃผ๋กœ HTML, CSS, JavaScript ๋“ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค.
    3. Controller (์ปจํŠธ๋กค๋Ÿฌ)
    : ์ปจํŠธ๋กค๋Ÿฌ๋Š” Model๊ณผ View ์‚ฌ์ด์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ์กฐ์ •ํ•˜๊ณ  ์ œ์–ดํ•œ๋‹ค. ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์„ ๋ฐ›์•„ ํ•ด๋‹น ์š”์ฒญ์— ๋Œ€ํ•œ ์ ์ ˆํ•œ ์•ก์…˜์„ ์ˆ˜ํ–‰ํ•˜๊ณ , ๋ชจ๋ธ์„ ์—…๋ฐ์ดํŠธํ•˜๊ฑฐ๋‚˜ ๋ทฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋“ฑ ์‚ฌ์šฉ์ž ์ž…๋ ฅ์„ ์ฒ˜๋ฆฌํ•˜๊ณ , ๋ฐ์ดํ„ฐ์˜ ํ๋ฆ„๊ณผ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์˜ ํ๋ฆ„์„ ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

    MVC ํŒจํ„ด์€ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์š”์†Œ๋“ค์„ ๋ถ„๋ฆฌํ•จ์œผ๋กœ์จ ๋…๋ฆฝ์ ์œผ๋กœ ๊ฐœ๋ฐœ๋˜๊ณ  ํ…Œ์ŠคํŠธ๋  ์ˆ˜ ์žˆ๋„๋ก ๋ถ„๋ฆฌ๋˜์–ด์„œ ์œ ์ง€๋ณด์ˆ˜์„ฑ๊ณผ ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋“ค ๊ฐ„์˜ ํ˜‘์—…์„ ์šฉ์ดํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์ค€๋‹ค.

     


     

    ๐Ÿ”น TIL์˜ ํšŒ๊ณ 

    JAVA ํŽ˜์–ดํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ†ตํ•ด ๋ถ€์กฑํ–ˆ๋˜ HashMap์˜ put, getOfDefault()ํ•จ์ˆ˜์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

    MySQL์„ ์„ค์น˜ํ•˜๋ฉด์„œ ์ด๋ฏธ ์‚ญ์ œํ•œ ํ”„๋กœ๊ทธ๋žจ์ด ์ฐจ์ง€ํ•˜๊ณ  ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

     

     


     

    ๐Ÿ”น ์ด๋ฒˆ์ฃผ ๋ชฉํ‘œ ๋‹ฌ์„ฑ ์—ฌ๋ถ€

     

    1. <์ž๋ฐ”์˜ ์ •์„>

    - ์•„๋ž˜ ์ฑ•ํ„ฐ๋“ค ์™„๊ฐ• ๋ฐŽ ๋ฌธ์ œ ํ’€๊ธฐ

    06,07: ๊ธฐ๋ณธ๋ฌธ์ œ ์ „๋ถ€ ํ’€์–ด๋ณด๊ธฐ
    08. ์˜ˆ์™ธ์ฒ˜๋ฆฌ(Exception Handling) ๊ฐœ๋…ํ™•์ธ
    09. java.langํŒจํ‚ค์ง€์™€ ์œ ์šฉํ•œ ํด๋ž˜์Šค ๊ฐœ๋…ํ™•์ธ
    10.๋‚ ์งœ์™€ ์‹œ๊ฐ„ & ํ˜•์‹ํ™” ๊ฐœ๋…ํ™•์ธ
    11. ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ ๊ฐœ๋…ํ™•์ธ

    : 06 ๋ฌธ์ œํ’€์ด ์™„๋ฃŒ

     

    2. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๊ธฐ๋ณธ๋ฌธ์ œ 8๊ฐœ+ ์‹ฌํ™”๋ฌธ์ œ 5๊ฐœ ํ’€์–ด๋ณด๊ธฐ

    : ๊ธฐ๋ณธ๋ฌธ์ œ ํ’€์ด์™„๋ฃŒ, ์‹ฌํ™”๋ฌธ์ œ 1๊ฐœ ํ’€์ด์™„๋ฃŒ

     

     


     

     

    ๐Ÿ”น ๋‹ค์Œ ์ฃผ ๋ชฉํ‘œ ์„ธ์šฐ๊ธฐ

    1. Spring 2์ฃผ์ฐจ ๊ฐ•์˜ ์™„๊ฐ• ํ›„ ๊ณผ์ œ Lv2 ํ’€๊ธฐ

    2. ์ธํ”„๋Ÿฐ Spring ๊ธฐ๋ณธ๊ฐ•์˜ ์™„๊ฐ•ํ•˜๊ธฐ

    https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%9E%85%EB%AC%B8-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8

     

    3. <์ž๋ฐ”์˜ ์ •์„>

    - ์•„๋ž˜ ์ฑ•ํ„ฐ๋“ค ์™„๊ฐ• ๋ฐŽ ๋ฌธ์ œ ํ’€๊ธฐ

    07: ๊ธฐ๋ณธ๋ฌธ์ œ ์ „๋ถ€ ํ’€์–ด๋ณด๊ธฐ
    08. ์˜ˆ์™ธ์ฒ˜๋ฆฌ(Exception Handling) ๊ฐœ๋…ํ™•์ธ
    09. java.langํŒจํ‚ค์ง€์™€ ์œ ์šฉํ•œ ํด๋ž˜์Šค ๊ฐœ๋…ํ™•์ธ
    10.๋‚ ์งœ์™€ ์‹œ๊ฐ„ & ํ˜•์‹ํ™” ๊ฐœ๋…ํ™•์ธ
    11. ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ ๊ฐœ๋…ํ™•์ธ
    728x90
Designed by Tistory.