JSP&Servlet

[JSP] μžλ°” 빈(Java Bean) 을 ν™œμš©ν•œ 데이터 처리 μ•‘μ…˜νƒœκ·Έ

🌟 Sean 🌟 2025. 1. 22. 17:15

μžλ°” λΉˆμ΄λž€?

예λ₯Όλ“€μ–΄ νšŒμ› κ°€μž… νŽ˜μ΄μ§€κ°€ μžˆλ‹€κ³  κ°€μ •ν•˜μž.

이름, 아이디, λΉ„λ°€λ²ˆν˜Έ λ“± μž…λ ₯ 받은 정보λ₯Ό μ„œλ²„λ‘œ 전달을 ν•΄μ•Ό ν•˜λŠ”λ°, 이λ₯Ό κ°œλ³„μ μœΌλ‘œ 전솑할 것인가?

ν•˜λ‚˜λ‘œ λ¬Άμ–΄μ„œ 전솑할 것인가? 선택을 ν•΄μ•Όν•œλ‹€. ν•˜λ‚˜λ‘œ λ¬Άμ–΄μ„œ μ „μ†‘ν•˜λŠ” 방법이 보닀 νš¨μœ¨μ μ΄μ§€ μ•Šμ„κΉŒ?

μ΄λ ‡κ²Œ κ΄€λ ¨ μžˆλŠ” 정보λ₯Ό ν•˜λ‚˜λ‘œ λ¬Άμ–΄ 관리  ν•˜κΈ° μœ„ν•΄ λ‚˜μ˜¨ λ§€μ»€λ‹ˆμ¦˜μ΄ λ°”λ‘œ μžλ°” 빈(Java Bean)이닀.

 

μžλ°” 빈의 ꡬ쑰

νšŒμ› 관리λ₯Ό μœ„ν•œ Member 클래슀 μžλ°” 빈 κ΅¬μ‘°λŠ” 멀버 λ³€μˆ˜, getter/setter λ©”μ„œλ“œκ°€ μžˆμ„ 수 μžˆκ² λ‹€.

( λ¬Όλ‘  좔가적인 κΈ°λŠ₯이 ν•„μš”ν•˜λ©΄ μΆ”κ°€ λ©”μ„œλ“œλ₯Ό μ„ μ–Έν•˜λ©΄ λœλ‹€. )

package exercise;

public class MemberBean {
	private String name;
	private String userid;
        .
        .
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getUserid() {
		return userid;
	}
	public void setUserid(String userid) {
		this.userid = userid;
	}
        .
        .
}

 

JSP μ—μ„œμ˜ μžλ°” 빈 ν™œμš©

νšŒμ›κ°€μž…νΌ.jsp

- μœ μ €μ—κ²Œ 데이터λ₯Ό μž…λ ₯ λ°›κΈ° μœ„ν•œ 폼으둜 μž…λ ₯된 값은 데이터λ₯Ό μ²˜λ¦¬ν•˜λŠ” JSP 파일(addMember.jsp)둜 μ „μ†‘λœλ‹€.

	<form action="addMember.jsp">
		<label for="name">이름</label>
		<input type="text" id="name" name="name">
		<br>
		<label for="id">아이디</label>
		<input type="text" id="id" name="id">
            .
            .
            .
		<input type="submit" value="전솑">
		<input type="reset" value="μ·¨μ†Œ">
	</form>

μ•‘μ…˜νƒœκ·Έ μ‚¬μš© ❌

- νšŒμ›κ°€μž… νΌμ—μ„œ μ–»μ–΄μ˜¨ 데이터λ₯Ό μ²˜λ¦¬ν•˜λŠ” JSP νŒŒμΌμ—μ„œ μž‘μ„±λœλ‹€.

- μ•‘μ…˜ νƒœκ·Έ 없이 μƒμ„±ν•˜λŠ” 법 (μž„ν¬νŠΈ λ¬Έ μ„ μ–Έ μ‹œ νŒ¨μ§€ν‚€λͺ…. μƒλž΅ κ°€λŠ₯)

<%@ page import="νŒ¨ν‚€μ§€λͺ….μžλ°”λΉˆν΄λž˜μŠ€"%>
<%@ page import="exercise.MemberBean" %> 
.
.
<%
MemberBean member = new MemberBean(); // 객체 생성
%>

 

- μž„ν¬νŠΈ 없이 μƒμ„±ν•˜λŠ” 법 (객체 생성 μ‹œ νŒ¨ν‚€μ§€λͺ…. 을 μž‘μ„±ν•΄μ•Όν•¨)

<%
exercise.MemberBean member = new exercise.MemberBean(); // 객체 생성
%>

 

- μ•‘μ…˜νƒœκ·Έλ₯Ό μ‚¬μš©ν•˜μ§€ μ•Šκ³  JSP μ—μ„œ μžλ°” 빈 κ°μ²΄μ—μ„œ ν”„λ‘œνΌν‹° κ°’ μ–»μ–΄μ˜€κΈ°, μ„€μ •ν•˜κΈ° 

<%
MemberBean member = new MemberBean(); // μžλ°” 빈 객체 생성

member.setName(name); // μ„€μ •ν•˜κΈ°
member.setUserid(id);
.
.
이름 : <%=member.getName() %> <br>	// μ–»μ–΄μ˜€κΈ° (좜λ ₯)
아이디 : <%=member.getUserid() %> <br>
.
.
%>

 

μžλ°” 빈 μ•‘μ…˜νƒœκ·Έ

μ•‘μ…˜νƒœκ·Έ μ‚¬μš© β­•

- μ•‘μ…˜νƒœκ·Έλ₯Ό μ‚¬μš©ν•˜λ©΄ μ‚¬μš©ν•˜μ§€ μ•Šμ„λ•Œλ³΄λ‹€ κ°„κ²°ν•œ μ½”λ“œλ‘œ μž‘μ„±ν•  수 μžˆλ‹€.

- JSP λ¬Έμ—μ„œ μžλ°” 빈 객체λ₯Ό μƒμ„±ν•˜μ§€ μ•Šκ³  μ•‘μ…˜νƒœκ·Έλ₯Ό ν™œμš©ν•œλ‹€.

- μž…λ ₯된 값듀을 ν•œ λ²ˆμ— λ°›μ•„μ˜€λŠ” 것이 κ°€λŠ₯ν•˜λ‹€

 

- μžλ°”λΉˆ μ•‘μ…˜νƒœκ·Έ 

<jsp:useBean> μžλ°” λΉˆμ„ μƒμ„±ν•œλ‹€

<jsp:setProperty> μžλ°” λΉˆμ— 정보λ₯Ό μ €μž₯ν•œλ‹€

<jsp:useBean id="member" class="exercise.MemberBean" scope="request"></jsp:useBean>
<jsp:setProperty name="member" property="*"/>

 

<jsp:getProperty> μžλ°” λΉˆμ—μ„œ 정보λ₯Ό μ–»μ–΄ μ˜¨λ‹€

<!DOCTYPE html>
<html>
<body>
.
.
이름 : <jsp:getProperty name="member" property="name"/>
아이디 : <jsp:getProperty name="member" property="userid"/>
.
.
</body>
</html>

κΈ°μ‘΄ ν‘œν˜„μ‹κ³Ό μ•‘μ…˜νƒœκ·Έμ˜ 관계

<%=member.getName() %>
<jsp:getProperty name="member" property="name"/>

<%=member.setName(name)%>
<jsp:setProperty name="member" property="name" value="홍길동"/>

 

ν•œ λ²ˆμ— 데이터λ₯Ό 가져와 μ €μž₯ν•˜λŠ” 방법

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