1 λΆ„ μ†Œμš”

<SECTION 1>μ•‘μ…˜ νƒœκ·Έ

πŸ“˜ μ•‘μ…˜ νƒœκ·Έλž€?

μ•‘μ…˜ νƒœκ·Έ

  • JSPμ—μ„œ 객체 생성과 곡유, νŽ˜μ΄μ§€ 이동과 전달, νƒœκ·Έ 파일 μž‘μ„± 등에 ν•„μš”ν•œ κΈ°λŠ₯을 μ œκ³΅ν•˜λŠ” μΌμ’…μ˜ μ»€μŠ€ν…€ νƒœκ·Έ

ν‘œμ€€ μ•‘μ…˜

  • μ»€μŠ€ν…€ νƒœκ·Έ κΈ°λ°˜μ΄μ§€λ§Œ λ³„λ„μ˜ taglib μ§€μ‹œμ–΄ μ‚¬μš© 없이 jsp 접두어 μ‚¬μš©

μ»€μŠ€ν…€ μ•‘μ…˜

  • λ³„λ„μ˜ 라이브러리 μ„€μΉ˜ ν•„μš”

    πŸ“˜ ν‘œμ€€ μ•‘μ…˜

  • JSPμ—μ„œ ν”„λ‘œκ·Έλž¨μ μΈ μš”μ†Œλ₯Ό 많이 κ΅¬ν˜„ν•˜κ±°λ‚˜ 컨트둀러둜 ν™œμš©ν•  λ•Œ 유용
  • μ»€μŠ€ν…€ νƒœκ·Έμ˜ ꡬ쑰적인 νŠΉμ„±μ„ μ‚΄λ € HTML ν”„λ‘œκ·Έλž¨ μš”μ†Œ 처리 κ°€λŠ₯ (κ°„νŽΈν•¨)
  • ν‘œμ€€ μ•‘μ…˜ νƒœκ·Έμ˜ μ’…λ₯˜
    • forward
    • include
    • useBean
    • setProperty
    • getProperty
    • param

πŸ“˜ include μ•‘μ…˜

  • λ‹€λ₯Έ νŽ˜μ΄μ§€λ₯Ό ν¬ν•¨ν•œλ‹€λŠ” μ μ—μ„œ include μ§€μ‹œμ–΄μ™€ 동일, μ²˜λ¦¬κ³Όμ •μ—μ„œ 차이 있음

πŸ“˜ forward μ•‘μ…˜

  • ν΄λΌμ΄μ–ΈνŠΈ μš”μ²­μ„ λ‹€λ₯Έ νŽ˜μ΄μ§€λ‘œ μ „ν™˜ν•˜λŠ” μ•‘μ…˜
  • λ¦¬λ””μ—‘μ…˜κ³Ό κΈ°λŠ₯적으둜 μœ μ‚¬
    • λ¦¬λ””λ ‰μ…˜ : μ„œλ²„ -> ν΄λΌμ΄μ–ΈνŠΈ (μš”μ²­), ν΄λΌμ΄μ–ΈνŠΈκ°€ μƒˆλ‘œμš΄ νŽ˜μ΄μ§€λ‘œ 접속
    • forward μ•‘μ…˜ : μƒˆλ‘œμš΄ νŽ˜μ΄μ§€ 접속이 μ•„λ‹ˆλΌ, μ„œλ²„μ—μ„œ λ‚΄λΆ€μ μœΌλ‘œ μƒˆλ‘œμš΄ νŽ˜μ΄μ§€λ‘œ 이동, κ·Έ νŽ˜μ΄μ§€μ˜ λ‚΄μš©μ„ ν΄λΌμ΄μ–ΈνŠΈμ—κ²Œ μ‘λ‹΅μœΌλ‘œ 전달
  • λ‹¨μˆœ νŽ˜μ΄μ§€ 이동 : λ¦¬λ””λ ‰μ…˜ 적합

πŸ“˜ μžλ°” 빈

μžλ°” 빈

  • μžλ°”μ˜ μž¬ν™œμš© κ°€λŠ₯ν•œ μ»΄ν¬λ„ŒνŠΈ λͺ¨λΈ
  • POJOλΌλŠ” λ‹¨μˆœν•œ ꡬ쑰λ₯Ό 가짐
    • POJO : νŠΉμ • κΈ°μˆ μ΄λ‚˜ ν”„λ ˆμž„μ›Œν¬μ— μ’…μ†ν•˜μ§€ μ•Šκ³  κΈ°λ³Έ μƒμ„±μžμ™€ 멀버 λ³€μˆ˜μ— λŒ€ν•œ getter/setter λ©”μ„œλ“œ μ œκ³΅ν•˜λ©° 직렬화 ν•  수 μžˆλŠ” 클래슀

μžλ°” 빈 ꡬ쑰의 νŠΉμ§•

  • μΈμžκ°€ μ—†λŠ” μƒμ„±μž (κΈ°λ³Έ μƒμ„±μž) 포함
  • 파일 ν˜Ήμ€ λ„€νŠΈμ›Œν¬λ₯Ό 톡해 객체λ₯Ό 주고받을 수 μžˆλŠ” 직렬화 ꡬ쑰
  • getter/setter λ©”μ„œλ“œλ₯Ό 톡해 멀버 λ³€μˆ˜(속성)에 μ ‘κ·Ό
    • getter/setter λ©”μ„œλ“œ 이름 μ˜ˆμ‹œ : public int getId(), public void setId()

πŸ“˜ useBean μ•‘μ…˜

useBean μ•‘μ…˜

  • JSPμ—μ„œ μžλ°” 빈 객체λ₯Ό μƒμ„±ν•˜κ±°λ‚˜ μ°Έμ‘°ν•˜κΈ° μœ„ν•œ μ•‘μ…˜

    useBean의 기본적인 λ™μž‘ 방식

    1. useBean을 μ΄μš©ν•΄ λ§Œλ“  객체의 λ²”μœ„λŠ” μ§€μ •ν•˜λŠ” 속성인 scope에 주어진 id의 객체가 μžˆλŠ”μ§€ ν™•μΈν•œλ‹€.
    2. 객체가 μ—†λ‹€λ©΄ μƒˆλ‘œ 객체λ₯Ό μƒμ„±ν•˜κ³  ν•΄λ‹Ή scope에 μ €μž₯ν•œλ‹€.

πŸ“˜ useBean의 ν™œμš©

  • useBean을 주둜 ν™œμš©ν•˜λŠ” 경우
    • HTML νΌμ—μ„œ μž…λ ₯ν•œ 값을 μžλ°” 객체둜 연동할 λ•Œ 주둜 ν™œμš©
      • ex) νšŒμ›κ°€μž… νŽ˜μ΄μ§€μ—μ„œ 아이디, 이름, μ „ν™”λ²ˆν˜Έ, μ£Όμ†Œ λ“± μ—¬λŸ¬ 정보λ₯Ό μž…λ ₯ν•˜κ³  κ°€μž…ν•˜λŠ” 경우
      • μž…λ ₯ 값을 λ°›μ•„ Member 객체에 λ„£κ³  이λ₯Ό DB에 μ €μž₯ν•˜κΈ° μœ„ν•œ λ©”μ„œλ“œ ν˜ΈμΆœμ— 인자둜 μ „λ‹¬ν•˜λŠ” 경우

πŸ“˜ setProperty와 getProperty ν‘œμ€€ μ•‘μ…˜

serProperty ν‘œμ€€ μ•‘μ…˜ μ‚¬μš©

  • μžλ°” 빈 객체λ₯Ό λ§Œλ“  λ‹€μŒμ—λŠ” setλ©”μ„œλ“œλ₯Ό μ΄μš©ν•˜μ—¬ 객체의 ν”„λ‘œνΌν‹° 값을 μ„€μ •ν•  수 μžˆλ‹€
  • 이용 : setλ©”μ„œλ“œ 직접 호좜 없이 ν”„λ‘œνΌν‹° κ°’ μ„€μ • κ°€λŠ₯
  • 예) obj.setAge(β€œ27”);
    ->

getProperty ν‘œμ€€μ•‘μ…˜ μ‚¬μš©

  • μžλ°” 빈 객체의 ν”„λ‘œνΌν‹° 값을 μ½μ–΄μ˜€κΈ° μœ„ν•΄ get λ©”μ„œλ“œ 이용
  • ν‘œμ€€ μ•‘μ…˜μ„ μ‚¬μš©ν•˜λ©΄ get λ©”μ„œλ“œ 호좜 없이 ν”„λ‘œνΌν‹° κ°’ κ°€μ Έμ˜¬ 수 있음
  • 예) int age = obj.getAge();
    -> <jsp:getProperty name= β€œobj ” property= β€œage ” />
  • μ›Ή λΈŒλΌμš°μ €λ‘œλΆ€ν„° μž…λ ₯된 데이터λ₯Ό μžλ°” 빈 ν”„λ‘œνΌν‹°λ‘œ μ„€μ •ν•˜λŠ” 방법
    • μ•‘μ…˜μ— value μ• νŠΈλ¦¬λ·°νŠΈ λŒ€μ‹  param μ΄λΌλŠ” μ• νŠΈλ¦¬λ·°νŠΈλ₯Ό μ‚¬μš©ν•˜λ©΄ μž…λ ₯ λ°μ΄ν„°μ˜ 이름을 직접 지정 κ°€λŠ₯
      • μž…λ ₯받은 데이터 == ν”„λ‘œνΌν‹° 이름 인 경우 ν•œ λ²ˆμ— κ°’ μ„€μ • κ°€λŠ₯

νƒœκ·Έ:

μΉ΄ν…Œκ³ λ¦¬:

μ—…λ°μ΄νŠΈ:

λŒ“κΈ€λ‚¨κΈ°κΈ°