Backend/Spring
[Spring] MVC(Model, View, Controller) μ 리
_μ±νΈ_
2022. 1. 16. 19:51
728x90
λ°μν
β MVC(Model, View, Controller)λ μ¬μ©μ μΈν°νμ΄μ€, λ°μ΄ν° λ° λ Όλ¦¬ μ μ΄λ₯Ό ꡬννλ λ° λ리 μ¬μ©λλ μννΈμ¨μ΄ λμμΈ ν¨ν΄μ λλ€. μννΈμ¨μ΄μ λΉμ§λμ€ λ‘μ§κ³Ό νλ©΄μ ꡬλΆνλλ° μ€μ μ λκ³ μμ΅λλ€. MVCμ λͺ©μ μ νλ©΄κ³Ό λ°μ΄ν° μ²λ¦¬λ₯Ό λΆλ¦¬ν΄ μ½λκ°μ μ’ μμ±μ μ€μ΄κ³ ꡬμ±μμκ°μ μν μ λͺ ννκ² ν¨μΌλ‘μ¨ μ½λ λΆλ¦¬κ° μ½κ³ νμ μ μ©μ΄νκ² νλλ° μμ΅λλ€.
β λͺ¨λΈ(Model)
- μ΄ν리μΌμ΄μ μ΄ λ¬΄μμ ν κ²μΈμ§ μ μνλ€. λ΄λΆ λΉμ¦λμ€ λ‘μ§μ μ²λ¦¬νκΈ° μν μν μ νλ€. μ¦, λ°μ΄ν° μ μ₯μ(ex. DB)μ μ°λνμ¬ μ¬μ©μκ° μ λ ₯ν λ°μ΄ν°λ μ¬μ©μμκ² μΆλ ₯ν λ°μ΄ν°λ₯Ό λ€λ£¬λ€. νΉν, μ¬λ¬ κ°μ λ°μ΄ν° λ³κ²½ μμ (ex. μΆκ°, λ³κ²½, μμ )λ₯Ό νλμ μμ μΌλ‘ λ¬Άμ νΈλμμ μ λ€λ£¨λ μΌλ νλ€.
- Modelμ λ€λ₯Έ μ»΄ν¬λνΈλ€μ λν΄ μμ§ λͺ»νλ€. μκΈ° μμ μ΄ λ¬΄μμ μννλμ§λ§ μκ³ μλ€.
- DAO(Data Access Object) ν΄λμ€, Service ν΄λμ€μ ν΄λΉ
β λ·°(View)
- μ΅μ’ μ¬μ©μμκ² λ¬΄μμ νλ©΄(UI)λ‘ λ³΄μ¬μ€λ€. νλ©΄μ 무μμ 보μ¬μ£ΌκΈ° μν μν μ νλ€. μ¦, λͺ¨λΈμ΄ μ²λ¦¬ν λ°μ΄ν°λ κ·Έ μμ κ²°κ³Όλ₯Ό κ°μ§κ³ μ¬μ©μμκ² μΆλ ₯ν νλ©΄μ λ§λ λ€. λ§λ νλ©΄μ μΉ λΈλΌμ°μ κ° μΆλ ₯νλ€.
- View μμλ λ€λ₯Έ μ»΄ν¬λνΈλ€μ λν΄ μμ§ λͺ»νλ€. μκΈ° μμ μ΄ λ¬΄μμ μννλμ§λ§ μκ³ μλ€.
- HTMLκ³Ό JSPλ₯Ό μ¬μ©νμ¬ μμ±
β 컨νΈλ‘€λ¬(Controller)
- Modelκ³Ό View μ¬μ΄μ μλ μ»΄ν¬λνΈμ΄λ€. Modelμ΄ λ°μ΄ν°λ₯Ό μ΄λ»κ² μ²λ¦¬ν μ§ μλ €μ£Όλ μν μ νλ€. ν΄λΌμ΄μΈνΈμ μμ²μ λ°μΌλ©΄ ν΄λΉ μμ²μ λν μ€μ μ 무λ₯Ό μννλ Modelμ νΈμΆνλ€. ν΄λΌμ΄μΈνΈκ° λ³΄λΈ λ°μ΄ν°κ° μλ€λ©΄, λͺ¨λΈμ νΈμΆν λ μ λ¬νκΈ° μ½κ² μ μ ν κ°κ³΅νλ€. Modelμ΄ μ 무 μνμ μλ£νλ©΄ κ·Έ κ²°κ³Όλ₯Ό κ°μ§κ³ νλ©΄μ μμ±νλλ‘ Viewμ μ λ¬νλ€. μ¦, ν΄λΌμ΄μΈνΈμ μμ²μ λν΄ Modelκ³Ό Viewλ₯Ό κ²°μ νμ¬ μ λ¬νλ μΌμ’ μ μ‘°μ μλ‘μμ μΌμ νλ€.
- Controllerλ λ€λ₯Έ μ»΄ν¬λνΈλ€μ λν΄ μκ³ μλ€. μκΈ° μμ μΈμ Modelκ³Ό Viewκ° λ¬΄μμ μννλμ§ μκ³ μλ€
- Servletκ³Ό JSPλ₯Ό μ¬μ©νμ¬ μμ±