** ๐JavaBean ๊ธฐ์ด ์์ ์ ๋ฆฌ**
JSP์์ ์์ฃผ ์ฌ์ฉํ๋ DTO(JavaBean) ๊ตฌ์กฐ ์ดํดํ๊ธฐ
getter/setter๋ก ๋ฐ์ดํฐ ๊ด๋ฆฌ + ์ค์ ์์ + ๋ฉด์ ๋๋น๊น์ง
๐งฉ ๋ชฉ์ฐจ
- JavaBean์ด๋?
- DTO์ JavaBean์ ๊ด๊ณ
- JavaBean ์กฐ๊ฑด (3๊ฐ์ง ๋ฃฐ)
- JavaBean ๊ตฌ์กฐ ์์
- JSP์์ JavaBean ์ฌ์ฉํ๊ธฐ
- ๊ธฐ์ ๋ฉด์ ๋๋น ์์ฝ
- ๋ง๋ฌด๋ฆฌ ์ ๋ฆฌ + 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" />
id
: JSP์์ ์ฌ์ฉํ ๊ฐ์ฒด ์ด๋ฆ
class
: JavaBean ํด๋์ค ์ ์ฒด ๊ฒฝ๋ก
scope
: ๊ฐ์ฒด ์๋ช
์ฃผ๊ธฐ (request, session ๋ฑ)
โ
โก setProperty โ ์ฌ์ฉ์ ์
๋ ฅ๊ฐ์ ์๋์ผ๋ก JavaBean์ ์ ์ฅ
<jsp:setProperty name="member" property="name" />
<jsp:setProperty name="member" property="age" />
- ํด๋ผ์ด์ธํธ๊ฐ ๋ณด๋ธ
name
, age
ํ๋ผ๋ฏธํฐ ๊ฐ์ ์๋์ผ๋ก member ๊ฐ์ฒด์ ์ค์
โ
โข getProperty โ ๊ฐ์ฒด์์ ๊ฐ ๊ฐ์ ธ์ค๊ธฐ
<p>์ด๋ฆ: <jsp:getProperty name="member" property="name" /></p>
<p>๋์ด: <jsp:getProperty name="member" property="age" /></p>
๐งช ์ ์ฒด 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. ๋ง๋ฌด๋ฆฌ ์์ฝ ๐ง
- ๐ฆ JavaBean = ๋ฐ์ดํฐ ์ ์ฅ์ฉ ํด๋์ค
- ๐ ๋ณ์๋
private
, ์ธ๋ถ ์ ๊ทผ์ getter/setter
- โจ JSP์์
useBean
, setProperty
, getProperty
๋ก ํธ๋ฆฌํ๊ฒ ์ฐ๋
- โ
JSP์์ DTO(JavaBean)๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ๋
์ฑ & ์ ์ง๋ณด์๊ฐ ํฅ์๋จ