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 ์ด๋ผ๋Š” ์• ํŠธ๋ฆฌ๋ทฐํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ ์ด๋ฆ„์„ ์ง์ ‘ ์ง€์ • ๊ฐ€๋Šฅ
      • ์ž…๋ ฅ๋ฐ›์€ ๋ฐ์ดํ„ฐ == ํ”„๋กœํผํ‹ฐ ์ด๋ฆ„ ์ธ ๊ฒฝ์šฐ ํ•œ ๋ฒˆ์— ๊ฐ’ ์„ค์ • ๊ฐ€๋Šฅ

ํƒœ๊ทธ:

์นดํ…Œ๊ณ ๋ฆฌ:

์—…๋ฐ์ดํŠธ:

๋Œ“๊ธ€๋‚จ๊ธฐ๊ธฐ