MVC(Model-View-Controller) ν¨ν΄
μννΈμ¨μ΄μμ λ§€μ° λ리 μ¬μ©λλ λμμΈ ν¨ν΄μΌλ‘ ν¬κ² λͺ¨λΈ, λ·°, 컨νΈλ‘€λ¬λ‘ ꡬ쑰ννλ€.
- λΉμ¦λμ€ λ‘μ§κ³Ό νλ μ ν μ΄μ λ‘μ§μ λλμ΄μ μ²λ¦¬νλ€. μ½κ² λ§ν΄ μ°μ°μ νλ μ 무μ μ¬μ©μκ° λ³΄λ νλ©΄μ λ§λλ μ 무λ₯Ό λΆλ¦¬ν΄μ μ²λ¦¬νλ λ°©μμ΄λΌκ³ λ³Ό μ μλ€.
- μ½λμ μμ΄ λ§μμ Έλ μ μ§ λ³΄μκ° νΈνκ³ νμ₯μ΄ μ©μ΄νλ€.
- μ¬λ¬ κ°μ λ·°λ₯Ό λ§λ€ μ μμΌλ―λ‘ λνν μ ν리μΌμ΄μ μ μ ν©νλ€. λνν μ ν리μΌμ΄μ μ΄λ μ¬μ©μμ μκ΅¬κ° λ°μνλ©΄ μμ€ν μ΄ μ΄λ₯Ό μ²λ¦¬νκ³ λ°μνλ μννΈμ¨μ΄λ₯Ό λ§νλ€.
1. κ΅¬μ± μμ
1) λͺ¨λΈ(Model)
- μμ© νλ‘κ·Έλ¨μμ λ°μ΄ν°λ₯Ό μ²λ¦¬νλ λΆλΆμ΄λ€.
- DBμ μ°κ²°νκ³ λ°μ΄ν°λ₯Ό μΆμΆνκ±°λ μ μ₯, μμ , κ°±μ λ±μ μμ μ μννλ€.
- λ΄λΆ λΉμ¦λμ€ λ‘μ§μ ν΄λΉλλ€.
2) λ·°(View)
- 컨νΈλ‘€λ¬λ‘λΆν° λ°μ λͺ¨λΈμ κ²°κ³Ό κ°μ κ°μ§κ³ μ¬μ©μμκ² μΆλ ₯ν νλ©΄μ λ§λ€κ³ μΉλΈλΌμ°μ μ μ μ‘νμ¬ μΆλ ₯νλ€.
- νλ©΄μ νμλλ λΆλΆμΌλ‘ μΆμΆν λ°μ΄ν°λ ν μ€νΈλ₯Ό νμνκ±°λ μΈν°νμ΄μ€ μν μ νλ€.
- μ¬μ©μ μΈν°νμ΄μ€μ ν΄λΉλλ€.
3) 컨νΈλ‘€λ¬(Controller)
- ν΄λΌμ΄μΈνΈμ μμ²μ μ²λ¦¬νκ³ νλ¦ μ μ΄λ₯Ό λ΄λΉνλ€.
- ν΄λΌμ΄μΈνΈκ° λ³΄λΈ λ°μ΄ν°κ° μλ€λ©΄ λͺ¨λΈμ μ λ¬νκΈ° μ½κ² λ°μ΄ν°λ₯Ό κ°κ³΅νκ³ λͺ¨λΈμ΄ μ 무λ₯Ό λ§μΉλ©΄ κ·Έ κ²°κ³Όλ₯Ό λ·°μκ² μ λ¬νλ€.
- λͺ¨λΈκ³Ό λ·° μ¬μ΄μμ μ€κ³μ μν μ μννλ€.
2. JSPμ ꡬ쑰
JSPλ‘ κ΅¬μ±ν μ μλ μΉ μ ν리μΌμ΄μ μ ꡬ쑰λ ν¬κ² λͺ¨λΈ 1κ³Ό λͺ¨λΈ 2λ‘ λλλ€.
1) λͺ¨λΈ 1
- JSPμ 컨νΈλ‘€λ¬μ λ·°λ₯Ό ν¨κ» ꡬννλ λ°©μμ΄λ€.
- μΉ λΈλΌμ°μ μ¬μ©μμ μμ²μ λ°μ JSPλ μΉ λΈλΌμ°μ κ° μμ²ν μμ μ μ²λ¦¬νκ³ κ·Έ κ²°κ³Όλ₯Ό μΆλ ₯ν΄μ€λ€.
- λΉ λ₯΄κ³ μ½κ² κ°λ°ν μ μλ€λ μ₯μ μ΄ μμ§λ§, JSP νμΌμ΄ λ무 λΉλν΄μ§κ³ μ μ§λ³΄μμ μ΄λ €μμ΄ μλ€.
2) λͺ¨λΈ 2
- 컨νΈλ‘€λ¬μ λ·°μ μν μ λͺ¨λ μννλ JSPλ λ·°μ μν λ§ νκ² νκ³ μ»¨νΈλ‘€λ¬ μν μ Servletμ΄ μννλ λ°©μμ΄λ€.
- μΉ λΈλΌμ°μ μ¬μ©μμ μμ²μ Servletμ΄ λ°κ³ μμ²μ Viewλ‘ λ³΄μ¬μ€ κ²μΈμ§, Modelλ‘ λ³΄λ΄μ€ κ²μΈμ§ μ νμ¬ μ μ‘νλ€. μ¬κΈ°μ View νμ΄μ§λ μ¬μ©μμκ² λ³΄μ¬μ£Όλ μν λ§ λ΄λΉνκ³ μ€μ§μ μΈ κΈ°λ₯μ λΆλΆμ Modelμμ λ΄λΉνλ€.
- λμμ΄λμ κ°λ°μμ λΆμ μ΄ κ°λ₯νμ¬ μ μ§λ³΄μμ μ©μ΄νμ§λ§, μ€κ³μ κ°λ°μ λμ΄λκ° λλ€.