** ๐Ÿ“ŒJavaBean ๊ธฐ์ดˆ ์™„์ „ ์ •๋ฆฌ**

JSP์—์„œ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” DTO(JavaBean) ๊ตฌ์กฐ ์ดํ•ดํ•˜๊ธฐ

getter/setter๋กœ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ + ์‹ค์ „ ์˜ˆ์ œ + ๋ฉด์ ‘ ๋Œ€๋น„๊นŒ์ง€


๐Ÿงฉ ๋ชฉ์ฐจ

  1. JavaBean์ด๋ž€?
  2. DTO์™€ JavaBean์˜ ๊ด€๊ณ„
  3. JavaBean ์กฐ๊ฑด (3๊ฐ€์ง€ ๋ฃฐ)
  4. JavaBean ๊ตฌ์กฐ ์˜ˆ์‹œ
  5. JSP์—์„œ JavaBean ์‚ฌ์šฉํ•˜๊ธฐ
  6. ๊ธฐ์ˆ  ๋ฉด์ ‘ ๋Œ€๋น„ ์š”์•ฝ
  7. ๋งˆ๋ฌด๋ฆฌ ์ •๋ฆฌ + Notion ์ž‘์„ฑ ํŒ

โœ… 1. JavaBean์ด๋ž€?

ํ•ญ๋ชฉ ์„ค๋ช…
์ •์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด๊ธฐ ์œ„ํ•œ ๊ทœ์น™์„ ์ง€ํ‚จ ์ž๋ฐ” ํด๋ž˜์Šค
๋ชฉ์  JSP/Servlet์—์„œ ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ, DB ๊ฒฐ๊ณผ ๋“ฑ์„ ๋‹ด๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ
๋ณ„๋ช… DTO(Data Transfer Object), VO(Value Object)

โœ… 2. DTO์™€ JavaBean์˜ ๊ด€๊ณ„

์šฉ์–ด ์˜๋ฏธ ๊ณตํ†ต์ 
DTO ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ์ฒด ๋ชจ๋‘ ํ•„๋“œ + getter/setter ์ค‘์‹ฌ
JavaBean ํŠน์ • ๊ทœ์น™์„ ์ง€ํ‚จ ์ž๋ฐ” ํด๋ž˜์Šค DTO๋„ JavaBean ๊ทœ์น™์„ ๋”ฐ๋ฆ„

๐Ÿ‘‰ ๋Œ€๋ถ€๋ถ„์˜ DTO ํด๋ž˜์Šค๋Š” JavaBean ๊ทœ์น™์„ ๋”ฐ๋ฆ„


โœ… 3. JavaBean ์กฐ๊ฑด (3๊ฐ€์ง€ ๋ฃฐ)

์กฐ๊ฑด ์„ค๋ช… ์˜ˆ์‹œ
โ‘  ๊ธฐ๋ณธ ์ƒ์„ฑ์ž ๋งค๊ฐœ๋ณ€์ˆ˜ ์—†๋Š” ์ƒ์„ฑ์ž ์กด์žฌ public Member() {}
โ‘ก private ๋ณ€์ˆ˜ ์™ธ๋ถ€์—์„œ ์ง์ ‘ ์ ‘๊ทผ ๋ถˆ๊ฐ€ private String name;
โ‘ข getter/setter ๋ฉ”์„œ๋“œ ๋ณ€์ˆ˜ ์ ‘๊ทผ ๋ฉ”์„œ๋“œ ์ œ๊ณต public String getName()

โœ… 4. JavaBean ๊ตฌ์กฐ ์˜ˆ์‹œ

// ๐Ÿ“ MemberDTO.java
public class MemberDTO {
  // 1. private ํ•„๋“œ
  private String name;
  private int age;

  // 2. ๊ธฐ๋ณธ ์ƒ์„ฑ์ž
  public MemberDTO() {}

  // 3. getter/setter
  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public int getAge() {
    return age;
  }

  public void setAge(int age) {
    this.age = age;
  }
}

โœ… 5. JSP์—์„œ JavaBean ์‚ฌ์šฉํ•˜๊ธฐ

โœ… โ‘  JSP์—์„œ ์ž๋ฐ” ๊ฐ์ฒด ์ƒ์„ฑ

<jsp:useBean id="member" class="MemberDTO" scope="request" />

โœ… โ‘ก setProperty โ€“ ์‚ฌ์šฉ์ž ์ž…๋ ฅ๊ฐ’์„ ์ž๋™์œผ๋กœ JavaBean์— ์ €์žฅ

<jsp:setProperty name="member" property="name" />
<jsp:setProperty name="member" property="age" />

โœ… โ‘ข getProperty โ€“ ๊ฐ์ฒด์—์„œ ๊ฐ’ ๊ฐ€์ ธ์˜ค๊ธฐ

<p>์ด๋ฆ„: <jsp:getProperty name="member" property="name" /></p>
<p>๋‚˜์ด: <jsp:getProperty name="member" property="age" /></p>

๐Ÿงช ์ „์ฒด JSP ์˜ˆ์ œ ํ๋ฆ„

๐Ÿ“„ form.jsp

<form action="result.jsp" method="post">
  ์ด๋ฆ„: <input type="text" name="name"><br>
  ๋‚˜์ด: <input type="text" name="age"><br>
  <input type="submit" value="์ „์†ก">
</form>

๐Ÿ“„ result.jsp

<%@ page contentType="text/html;charset=UTF-8" %>
<jsp:useBean id="member" class="MemberDTO" scope="request" />
<jsp:setProperty name="member" property="name" />
<jsp:setProperty name="member" property="age" />

<p>์ž…๋ ฅํ•œ ์ด๋ฆ„: <jsp:getProperty name="member" property="name" /></p>
<p>์ž…๋ ฅํ•œ ๋‚˜์ด: <jsp:getProperty name="member" property="age" /></p>

โœ… 6. ๊ธฐ์ˆ  ๋ฉด์ ‘ ๋Œ€๋น„ ํ•ต์‹ฌ ์š”์•ฝ

์งˆ๋ฌธ ์š”์  ๋‹ต๋ณ€
JavaBean์ด๋ž€? ํŠน์ • ๊ทœ์น™(์ƒ์„ฑ์ž, private, getter/setter)์„ ์ง€ํ‚จ ์ž๋ฐ” ํด๋ž˜์Šค
DTO์™€ JavaBean์˜ ์ฐจ์ด์ ์€? DTO๋Š” ๋ฐ์ดํ„ฐ ์ „๋‹ฌ ๋ชฉ์ , JavaBean์€ ํ˜•์‹์  ์กฐ๊ฑด ๊ฐ•์กฐ
JSP์—์„œ JavaBean์„ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉ? <jsp:useBean>, <jsp:setProperty>, <jsp:getProperty>
getter์™€ setter๋ฅผ ์™œ ์‚ฌ์šฉํ•˜๋‚˜์š”? ๋ฐ์ดํ„ฐ๋ฅผ ์™ธ๋ถ€์—์„œ ์•ˆ์ „ํ•˜๊ฒŒ ์ ‘๊ทผ/์„ค์ •ํ•˜๊ธฐ ์œ„ํ•จ (์บก์Аํ™”)

โœ… 7. ๋งˆ๋ฌด๋ฆฌ ์š”์•ฝ ๐Ÿง