κ°μ
λΉμ¦λ, νΉμ ν μΌμ λ 립μ μΌλ‘ μννλ μ»΄ν¬λνΈλ₯Ό μλ―Έν©λλ€. μλ μλ°μμλ GUIλ₯Ό μ μνκΈ° μν΄ λΉμ¦λ₯Ό λ§λ€μμ§λ§ νμ¬λ J2EEκ° λ°νλλ©΄μ JSPμμ μ¬μ©λλ JSP λΉμ¦μ μν°νλΌμ΄μ¦ μλ° λΉμ¦λ‘ λλμ΄ κ°λ μ΄ νμ₯λμμ΅λλ€. μ΄λ€μ μ©λλ λ€λ₯΄μ§λ§ νλ‘κ·Έλ¨ λͺ¨λνλ₯Ό μν μ»΄ν¬λνΈλΌλ κΈ°λ³Έ μ μ λ κ°μ΅λλ€.
JSP λΉμ¦
JSP λΉμ¦λ JSPμ μ°λνλ €κ³ λ§λ€μ΄μ§ μ»΄ν¬λνΈ ν΄λμ€λ₯Ό λ§ν©λλ€. JSP λΉμ¦λ 컨ν μ΄λμ μμΉνλ©°, JSPμ λ°μ΄ν°λ² μ΄μ€ μ°λ λ± νλ‘κ·Έλ¨μ μμλ₯Ό λͺ¨λνν μ μλλ‘ λμμ€λλ€. λ°λΌμ λΉμ¦λ₯Ό μ νμ©νλ€λ©΄ νλ‘κ·Έλ¨μ μ€λ³΅μ μ€μ΄κ³ λ μννκ² μ μ§ λ³΄μν μ μμ΅λλ€. κ·Έλ κΈ° λλ¬Έμ μ΅λν μ€ν¬λ¦½νΈλ¦Ώμ μ¬μ©νλ κ²λ³΄λ€ λΉμ¦λ₯Ό λ§λ€μ΄ νμ©νλ κ²μ΄ μ’μ μ½λλ₯Ό λ§λ€ μ μλ λ°©λ² μ€ νλμ λλ€.
λ³΄ν΅ JSP λΉμ¦λ₯Ό κ°μ₯ λ§μ΄ μ΄μ©νλ κ²½μ°λ HTML νΌμ μ²λ¦¬νκ³ λ°μ΄ν°λ² μ΄μ€μ μ°λν λ μ£Όλ‘ μ¬μ©νκ² λ©λλ€.
MVC ν¨ν΄μμλ λΉμ¦ ν΄λμ€λ₯Ό κ°λ³ JSPμμ μ¬μ©ν기보λ€λ 컨νΈλ‘€λ¬μμ μ¬μ©νκ³ λ·°μ νμν κ°μ²΄λ€μ λ§λ€μ΄ 곡κΈνλ ννλ‘ κ΅¬ννκ² λ©λλ€.
- μ¬μ©μ μ λ ₯μ λ°κΈ° μν HTML νΌ μ λ ₯κ°μ jspλ‘ μ λ¬λλ€.
- jspμμ useBean μ‘μ μ ν΅ν΄ λΉμ¦ ν΄λμ€λ₯Ό λΆλ¬μ€κ³ setPropertyλ₯Ό ν΅ν΄ νΌμΌλ‘λΆν° μ λ¬λ°μ κ°μ λΉμ¦ ν΄λμ€μ λ©€λ²λ³μμ κ°μΌλ‘ μ λ¬νλ€.
- μ΄λ λΉμ¦ ν΄λμ€μ setter λ©μλλ€μ΄ μλμΌλ‘ νΈμΆλλ€.
- λΉμ¦ ν΄λμ€λ μ»μ΄λΈ λ°μ΄ν°λ€μ μ΄μ©νμ¬ λ°μ΄ν° λ² μ΄μ€ λ‘μ§ μ²λ¦¬λ₯Ό νκ³ , κ²°κ³Όλ₯Ό jspλ‘ μ λ¬νλ€.
- jspλ μ μ ν λ·°λ‘ ν¬μλ©μ νμ¬ μ»μ΄λΈ κ²°κ³Όλ₯Ό μ¬μ©μμκ² λ³΄μ¬μ€λ€.
JSPμμμ λΉμ¦ ꡬν
μΌλ°μ μΌλ‘ JSPμμμ λΉμ¦ ꡬνμ μΈ κ°μ§ ννλ‘ κ°λ°ν μ μμ΅λλ€.
λ°μ΄ν°λ² μ΄μ€ μ°λμ ν¬ν¨ν΄μ λ°μ΄ν°μ μ¬λ¬ κΈ°λ₯μ ν¨κ» ꡬννλ λ°©λ²(DO + DAO ν΄λμ€μ ν΅ν© νν)
λΉμ¦ λ΄λΆμ λ°μ΄ν°λ² μ΄μ€ μ μκ³Ό κ΄λ ¨λ μ 보λ₯Ό ν¬ν¨νμ¬ μ λ ₯,μΆλ ₯,μμ μ κ°μ λͺ¨λ λ°μ΄ν°λ² μ΄μ€ μ²λ¦¬ λ‘μ§μ κ°λ νν. μ½κ³ λΉ λ₯΄κ² ꡬνν μ μμ
λ°μ΄ν° 맀νκ³Ό λ°μ΄ν°λ² μ΄μ€ μ μ,μ λ ₯,μΆλ ₯,μμ μ νΈλμμ μ²λ¦¬λ₯Ό λΆλ¦¬νμ¬ κ΅¬ννλ λ°©λ²(DO, DAO ν΄λμ€ λΆλ¦¬)
DataObjectμ DataAccess Objectλ₯Ό λΆλ¦¬ν ννλ‘, DO ν΄λμ€μλ ν μ΄λΈκ³Ό λμν μ μλ νλ κ΄λ ¨ κΈ°λ₯λ§ μ‘΄μ¬. λ°μ΄ν°λ² μ΄μ€ μ μκ³Ό κ΄λ ¨ν μ 보μ μ λ ₯, μΆλ ₯, μμ μ κ°μ κΈ°λ₯μ DAOλΌλ λ³λ ν΄λμ€μ ꡬννλ€. ν΅ν© ννλ³΄λ€ κ΅¬νμ΄ μ΄λ ΅μ§λ§, μ μ§λ³΄μμ μ 리νλ€. μ΄ λ°©λ²μ DAO ν¨ν΄μ΄λΌ λΆλ¦¬λ©° λ³΄ν΅ MVC ν¨ν΄κ³Ό ν¨κ» μ¬μ©λλ€.
λ³λμ O-R 맀ν νλ μμν¬ μ¬μ©
DO,DAO λΆλ¦¬ λ°©λ²μμ μ€μ§μ μΈ λ°μ΄ν°λ² μ΄μ€ μ²λ¦¬λ₯Ό λ΄λΉνλ DAO λμ O-R 맀ν νλ μμν¬λ₯Ό μ¬μ©νλ λ°©μ. O-R 맀νμ΄λ λΉμ¦ κ°μ²΄μ λ°μ΄ν°λ² μ΄μ€ ν μ΄λΈμ μΉΌλΌμ μλμΌλ‘ μ°κ²°νκ³ , μ΄λ€μ κ°μ λκΈ°ννλ©° μνλ₯Ό μ μ§νλ 맀컀λμ¦μ μ 곡ν¨μΌλ‘μ¨ κ°λ°μ μμ°μ±κ³Ό μμ μ±μ λμΌ μ μλ λ°©λ²μ΄λ€.
λΉμ¦ ν΄λμ€ κ΅¬μ‘° λ° κ·μΉ
κΈ°λ³Έμ μΌλ‘ λΉμ¦ν΄λμ€λ μλ° ν΄λμ€μ΄λ―λ‘, μλ° ν΄λμ€ κ΅¬μ±μ λ°λ₯΄κ² λ©λλ€. λ€λ§ JSP μ‘μ κ³Ό μ°λνκΈ° μν΄ νμν λͺ κ°μ§ νμ ꡬμ±μ μ°¨μ΄λ μ‘΄μ¬ν©λλ€. νμ§λ§ μ΄λ λ¬Έλ²μ μΈ μ μ½μ μλκΈ° λλ¬Έμ λ°λ‘ μ»΄νμΌ μ€λ₯κ° λ°λ₯΄μ§ μμ΅λλ€. λ€λ§! μΌλ°μ μΈ λΉμ¦λ 맀κ°λ³μκ° μλ κΈ°λ³Έ μμ±μλ₯Ό μꡬνλ―λ‘ λ§μΌ 맀κ°λ³μκ° μ‘΄μ¬νλ μμ±μλ₯Ό ꡬννλ κ²½μ°μλ λ°λμ κΈ°λ³Έ μμ±μλ₯Ό λͺ μμ μΌλ‘ μ μΈν΄μ£Όμ΄μΌλ§ λ¬Έμ κ° λ°μνμ§ μμ΅λλ€. κ·μΉμ λ€μκ³Ό κ°μ΅λλ€.
λ©€λ²λ³μ
λ©€λ²λ³μλ privateλ‘ μ μΈν΄μ ν΄λμ€ μΈλΆμμμ μ κ·Όμ λ§μμΌν©λλ€. λ°λΌμ λ©€λ²λ³μμ μ κ·Όνλ €λ©΄ λΉμ¦ ν΄λμ€μ λ΄λΆ λ©μλλ₯Ό μ΄μ©ν΄μΌλ§ νλ©°, μ΄κ²μ΄ λ°λ‘ getXxx, setXxxμ κ°μ λ©μλλ€μ λλ€.
getter, setter λ©μλ
JSP μ‘μ μΈ setPropertyμ getPropertyμ μν΄μ μλμΌλ‘ νΈμΆλλ λ©μλλ€μ λλ€. λ°λμ JSP μ‘μ μμ μ§μ ν property μ΄λ¦μ 첫 κΈμλ₯Ό λλ¬Έμλ‘ νλ setXxx,getXxx νμμ λ©μλμ¬μΌ νλ€λ κ·μΉμ΄ μμ΅λλ€.