π» μ€νλ§ MVC νλ μμν¬ λμꡬ쑰
1) μ¬μ©μκ° μμ²μ 보λΈλ€.
2) DispatcherServlet μ΄ μμ²μ λ°λλ€.
3) HandlerMapping κ°μ²΄μ Controller κ°μ²΄ κ²μμ μμ²νλ€.
=> λͺ¨λ Controller κ°μ²΄λ₯Ό κ²μ ν DispatcherServlet κ°μ²΄μ λ°ννλ€.
4) DispatcherServlet λ λ€μ HandlerAdapter κ°μ²΄μ μ¬μ©μμ μμ²μ λΆν©νλ λ©μλ κ²μμ μμ²νλ€.
=> HandlerAdpter κ°μ²΄λ μμ²μ λΆν©νλ λ©μλλ₯Ό μ°Ύμμ ν΄λΉ Controller κ°μ²΄μ λ©μλλ₯Ό μ€ννλ€.
5) Controller κ°μ²΄μ λ©μλκ° μ€νλλ©΄, HandlerAdapter κ°μ²΄μ ModelAndView κ°μ²΄λ₯Ό λ°ννλ€.
6) ModelAndView κ°μ²΄μλ μ¬μ©μ μλ΅μ νμν λ°μ΄ν° μ 보μ λ·° μ 보(jspνμΌ) κ° λ΄κ²¨μλ€.
7) λ€μμΌλ‘ HandlerAdpter κ°μ²΄λ ModelAndView κ°μ²΄λ₯Ό λ€μ DispatcherServlet κ°μ²΄μ λ°ννλ€.
π» νλ‘μ νΈ μ 체 ꡬ쑰
π» web.xml
web.xml μ μλΈλ¦Ώμ 맀νν΄μ€λ€.
(μλΈλ¦Ώ(μΉ μ ν리μΌμ΄μ μμ μμ²μ μ²λ¦¬νλ ν΄λμ€)μ νΉμ URL ν¨ν΄μ 맀ννμ¬, μ¬μ©μκ° νΉμ URLμ μ κ·Όν λ μ΄λ€ μλΈλ¦Ώμ΄ νΈμΆλ μ§ μ μν¨)
μ΅μ΄μ μ¬μ©μ μμ²μ΄ λ°μνλ©΄
!!! κ°μ₯ λ¨Όμ [ DispatcherServlet ] μ΄ μ¬μ©μμ μμ²μ λ°μ !!!
μ¦, DispatcherServlet μ μλΈλ¦ΏμΌλ‘ λ±λ‘ν΄μ£Όλ κ³Όμ μ μ€μ ν΄μΌν¨.
μ¬μ©μμ λͺ¨λ μμ²μ λ°κΈ° μν΄μλ => μλΈλ¦Ώ 맡ν κ²½λ‘λ '/' λ‘ μ€μ
π» μ€νλ§ μ€μ νμΌμ΄λ? servlet-context.xml
μ€νλ§ μ€μ νμΌμ ν΄λμ€λ‘λΆν° κ°μ²΄(bean) μ μμ±νκ³ μ‘°λ¦½νλ μν μ νλ€ !
μ¦ servlet-context.xml λ κ°μ μν μ νλ€! (νλ‘μ νΈμ νμν κ°μ²΄ μμ±, 쑰립)
π» servlet-context.xml
web.xml μ νμΈν΄λ³΄λ©΄ μλμ κ°μ μλΈλ¦Ώμ λ³Ό μ μλ€.
contextConfigLocation -> μ€νλ§ μ€μ νμΌμ λ€λ₯Έ μ΄λ¦μΌλ‘ μ¬λ¬κ° μμ±νλλ‘ ν΄μ€λ€.
μ€νλ§ μ€μ νμΌμ μ¬λ¬κ° μμ±νκ³ μΆμ λμλ, νμΌ κ²½λ‘λ₯Ό μ¬λ¬κ° μ μ΄μ£Όκ³ , xmlμΌλ‘ μ§μ μμ±ν΄μ£Όλ©΄λλ€.
servlet-context.xml -> νμΌμ΄ μ€νλ§ μ€μ μν μ νλ νμΌμ΄ λλ€.
π» <annotation-driven /> μ΄λ ?
μ€νλ§ μ»¨ν μ΄λ μμλ HandlerMapping , HandlerAdapter κ° μμ±λμ΄μΌνλ€.
μ΄ νκ·Έλ HandlerMapping , HandlerAdapter λ₯Ό κ°μ²΄λ‘ μμ±νκ³ , μ€νλ§ μ΄λ Έν μ΄μ μ μ¬μ©ν μ μκ² νλ€.
(λ°λμ μ μΈλμ΄μΌνλ€.)
π» <resources mapping="/resources/**"location="/resources/" /> λ?
- μ μ μμ 맡ν
css, script νμΌλ€μ μ¬μ©νκΈ° μν κ²½λ‘ μ€μ
resources ν΄λμ λ§λ€μ΄μ§λ νμΌλ€μ ν΄λΉ κ²½λ‘λ‘ λ°λ‘ 맡νλμ΄ λ³΄μ¬μ§λ€.
- λ·° λ¦¬μ‘Έλ² μ€μ
- λ·° 리쑸λ²
컨νΈλ‘€λ¬μμ λ°μ View μ 보μ /WEB-INF/views/μ΄λ¦.jsp μ΄λ¦λ§μΌλ‘ 맡ννκ² ν΄μ€λ€.
π»<context:component -scan vase-package="com.myweb.xxxx" /> λ?
μ€νλ§ μ»¨ν μ΄λμκ² μλ°ν¨ν€μ§λ₯Ό μλμΌλ‘ μ€μΊν΄μ κ°μ²΄(bean) μΌλ‘ μμ±ν΄μ£ΌλΌλ λ»μ΄λ€.
π» Controller
π»View
π»μμ) home.xml μ ꡬλ κ³Όμ
0. ν΄λΌμ΄μΈνΈκ° μμ²νλ€.
1.. web.xml μμ DispatcherServlet μ΄ μμ²μ ν΄λΌμ΄μΈνΈ μμ²μ νΈλ€λ§ν΄μ€λ€.
2. servlet-context.xml μ΄ μμ²μ λν 컨νΈλ‘€λ¬λ₯Ό κ²μνλ€.
3. HandlerMapping μΌλ‘ Controller κ²μ ν 컨νΈλ‘€λ¬ μμ²μ μ²λ¦¬ ν home 리ν΄
4. View-Resolver κ° λ°μ home μ μ°Ύμμ μ²λ¦¬νλ€.