๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
JSP

[JSP] JSP์—์„œ ์ž๋ฐ”๋นˆ ์‚ฌ์šฉํ•˜๊ธฐ

by ์ฝ”๋”ฉํ•˜๋Š” ๋ถ•์–ด 2021. 2. 24.
๋ฐ˜์‘ํ˜•

โ–ถ JSP์—์„œ ์ž๋ฐ”๋นˆ ์‚ฌ์šฉํ•˜๊ธฐ

<jsp:useBean/> ํƒœ๊ทธ = ์ž๋ฐ”์—์„œ new ์ƒ์„ฑ์ž. ์ž๋ฐ”๋นˆ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์•ก์…˜ ํƒœ๊ทธ์ด๋‹ค.

<jsp:setProperty/> ํƒœ๊ทธ = ์ž๋ฐ”์—์„œ set() ๋ฉ”์„œ๋“œ. ์ž๋ฐ”๋นˆ ํด๋ž˜์Šค์˜ ์†์„ฑ ๊ฐ’์„ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•œ ํƒœ๊ทธ์ด๋‹ค.

โ€‹

โ€‹โ€‹

์˜ˆ์ œ 1) <jsp:setProperty/> ํƒœ๊ทธ์˜ ์—ญํ• 

โ€‹

BeanTest2.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
    <jsp:useBean id="beantest" class="test.BeanTest" scope="page"/>
    <jsp:setProperty name="beantest" property="name" value="BeanTest!"/>
    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JavaBean Test</title>
</head>
<body>
<b>์ž๋ฐ”๋นˆ ์‚ฌ์šฉ ์˜ˆ์ œ</b>
<h3><%=beantest.getName() %></h3>
</body>
</html>

<์‹คํ–‰ ๊ฒฐ๊ณผ>

โ€‹

โ€‹โ€‹

์˜ˆ์ œ 2) ๋งŒ์•ฝ ํด๋ผ์ด์–ธํŠธ์—์„œ name์ด๋ผ๋Š” ์ด๋ฆ„์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐ’์ด ์ „์†ก๋˜์–ด ์˜ค๊ณ  ์ด ๊ฐ’์„ name ์†์„ฑ ๊ฐ’์œผ๋กœ ํ• ๋‹นํ•˜๊ณ  ์‹ถ์„๋•Œ

โ€‹

beanTest.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="beanTest3.jsp">
	์ด๋ฆ„ :<input type="text" name="name"/>
	<br/>
	<input type="submit" value="์ „์†ก"/>
</form>
</body>
</html>

 

 

beanTest3.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <jsp:useBean id="beantest" class="test.BeanTest" scope="page"/>
    <jsp:setProperty name="beantest" property="name" param="name"/>
    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JavaBean Test</title>
</head>
<body>
<b>์ž๋ฐ”๋นˆ ์‚ฌ์šฉ ์˜ˆ์ œ</b>
<h3><%=beantest.getName() %></h3>
</body>
</html>

<์‹คํ–‰ ๊ฒฐ๊ณผ>

โ€‹โ€‹

โ€‹

์˜ˆ์ œ 3 ) ํด๋ผ์ด์–ธํŠธ์—์„œ ์ „์†ก๋˜์–ด ์˜ค๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ ์ด๋ฆ„์ด ๋นˆ๊ฐ์ฒด์˜ ์†์„ฑ๋ช…๊ณผ ๋ชจ๋‘ ๊ฐ™๋‹ค๋ฉด ํ•œ ๋ฒˆ์— ํ• ๋‹นํ•  ์†์„ฑ๋ช…์„ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋‹ค.

property="*"๋กœ ์„ค์ •ํ•˜๋ฉด ํด๋ผ์ด์–ธํŠธ์—์„œ ์ „์†ก๋˜์–ด ์˜ค๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐ’์ด ๋ชจ๋‘ ๊ฐ™์€ ์ด๋ฆ„์˜ ๋นˆ ๊ฐ์ฒด์˜ ์†์„ฑ ๊ฐ’์œผ๋กœ ์ž๋™์œผ๋กœ ํ• ๋‹น๋œ๋‹ค.

โ€‹

 

1. ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ๋นˆ ํด๋ž˜์Šค๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.

โ€‹

BeanTest2.java

package test;

public class BeanTest2 {
	private String name;
	private String addr;
	private String email;
	private String birthday;

	public String getName() {
		return name;
	}

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

	public String getAddr() {
		return addr;
	}

	public void setAddr(String addr) {
		this.addr = addr;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getBirthday() {
		return birthday;
	}

	public void setBirthday(String birthday) {
		this.birthday = birthday;
	}
}

 

 

2. ํด๋ผ์ด์–ธํŠธ ํŽ˜์ด์ง€๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.

โ€‹

beanTest2.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style>
	#formArea {
		margin:auto;
		width:400px;
		border:1px solid black;
	}
	h1, fieldset {
		text-align:center;
	}
</style>
</head>
<body>
<section id="formArea">
	<h1>property="*" ํ…Œ์ŠคํŠธ</h1>
	<form action="beanTest4.jsp" method="post">
		<fieldset>
			<label for="name">์ด๋ฆ„ : </label><input type="text" name="name" id="name"/><br>
			<label for="addr">์ฃผ์†Œ : </label><input type="text" name="addr" id="addr"/><br>
			<label for="email">์ด๋ฉ”์ผ์ฃผ์†Œ : </label><input type="text" name="email" id="email"/><br>
			<label for="birthday">์ƒ๋…„์›”์ผ : </label><input type="date" name="birthday" id="birthday"/><br>
			<input type="submit" value="์ „์†ก">
		</fieldset>
	</form>
</section>
</body>
</html>

 

โ€‹

3. bean ๊ด€๋ จ ์•ก์…˜ ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” beanTest4.jsp ํŽ˜์ด์ง€๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.

โ€‹

beanTest4.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
	request.setCharacterEncoding("UTF-8");
%>
<jsp:useBean id="beantest" class="test.BeanTest2" scope="page"/>
<jsp:setProperty name="beantest" property="*"/>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JavaBean Test</title>
</head>
<body>
<h1>์ž๋ฐ”๋นˆ ์†์„ฑ ๊ฐ’ ์ถœ๋ ฅ</h1>
<b>์ด๋ฆ„ : </b><%=beantest.getName() %><br>
<b>์ฃผ์†Œ : </b><%=beantest.getAddr() %><br>
<b>์ด๋ฉ”์ผ ์ฃผ์†Œ : </b><%=beantest.getEmail() %><br>
<b>์ƒ๋…„์›”์ผ : </b><%=beantest.getBirthday() %><br>
</body>
</html>

<์‹คํ–‰ ๊ฒฐ๊ณผ>

 

 

 

์‹ฌํ™” ) ${beantest.์†์„ฑ ๊ฐ’}

โ€‹

beanTest4.jsp (์ˆ˜์ •๋ณธ)

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
	request.setCharacterEncoding("UTF-8");
%>
<jsp:useBean id="beantest" class="test.BeanTest2" scope="page"/>
<jsp:setProperty name="beantest" property="*"/>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JavaBean Test</title>
</head>
<body>
<h1>์ž๋ฐ”๋นˆ ์†์„ฑ ๊ฐ’ ์ถœ๋ ฅ</h1>
<b>์ด๋ฆ„ : </b><%=beantest.getName() %><br>
<h3>${beantest.name}</h3>
<b>์ฃผ์†Œ : </b><%=beantest.getAddr() %><br>
<h3>${beantest.addr}</h3>
<b>์ด๋ฉ”์ผ ์ฃผ์†Œ : </b><%=beantest.getEmail() %><br>
<h3>${beantest.email}</h3>
<b>์ƒ๋…„์›”์ผ : </b><%=beantest.getBirthday() %><br>
<h3>${beantest.birthday}</h3>
</body>
</html>

<์‹คํ–‰ ๊ฒฐ๊ณผ>

 

 

 

*<jsp:getProperty/> ํƒœ๊ทธ = ์ž๋ฐ”์—์„œ get() ๋ฉ”์„œ๋“œ

<jsp:getProperty/> ํƒœ๊ทธ๋Š” ์ž๋ฐ”๋นˆ ํด๋ž˜์Šค์˜ ์†์„ฑ ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•œ ํƒœ๊ทธ์ด๋‹ค.

<jsp:getProperty/> ํƒœ๊ทธ๋„ <jsp:setProperty/> ํƒœ๊ทธ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜์—์„œ ๊ฐ’์„ ์ง์ ‘ ๊ฐ€์ ธ์˜ค์ง€ ์•Š๋Š”๋‹ค.

โ€‹

beanTest5.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
    <jsp:useBean id="beantest" class="test.BeanTest" scope="page"/>
    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JavaBean Test</title>
</head>
<body>
<b>์ž๋ฐ”๋นˆ ์‚ฌ์šฉ ์˜ˆ์ œ</b>
<h3><%=beantest.getName() %></h3>
<h3><jsp:getProperty name="beantest" property="name"/></h3>
</body>
</html>

<์‹คํ–‰ ๊ฒฐ๊ณผ>

 

 

 

*์ž๋ฐ”๋นˆ์˜ ์˜์—ญ = <jsp:useBean/>์˜ scope ์†์„ฑ

์ž๋ฐ”๋นˆ์˜ ์˜์—ญ(scope)์€ page, request, session, application ์ด๋ ‡๊ฒŒ 4๊ฐ€์ง€๋กœ ๋‚˜๋ˆ„์–ด์ง€๋ฉฐ scope๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ๊ธฐ๋ณธ ๊ฐ’์€ page๊ฐ€ ๋œ๋‹ค.

์˜์—ญ

์„ค๋ช…

page

๋นˆ ๊ฐ์ฒด ๊ณต์œ  ๋ฒ”์œ„๊ฐ€ ํ˜„์žฌ ํŽ˜์ด์ง€์˜ ๋ฒ”์œ„์—๋งŒ ํ•œ์ •๋œ๋‹ค.

ํŽ˜์ด์ง€๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด ๊ณต์œ ๊ฐ€ ์œ ์ง€๋˜์ง€ ์•Š๋Š” scope์ด๋‹ค.

request

request ์š”์ฒญ์„ ๋ฐ›๊ณ  ์ฒ˜๋ฆฌ๋ฅผ ์™„๋ฃŒํ•  ๋•Œ๊นŒ์ง€ ์ƒ์กด๋˜๋Š” scope์ด๋‹ค.

session

ํด๋ผ์ด์–ธํŠธ๋‹น ํ•˜๋‚˜์”ฉ ํ• ๋‹น๋˜๋Š” ์˜์—ญ์ด๋‹ค. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ข…๋ฃŒํ•˜๊ธฐ ์ „๊นŒ์ง€ ์œ ์ง€๋˜๋Š” scope์ด๋‹ค.

application

์‚ฌ์ดํŠธ ์ „์ฒด์˜ ๋ฒ”์œ„๋ฅผ ๊ฐ€์ง€๋ฉฐ, ์„œ๋ฒ„๊ฐ€ ์ข…๋ฃŒ๋˜๊ธฐ ์ „์—๋Š” ๊ณ„์† ์œ ์ง€๋˜๋Š” scope์ด๋‹ค.

โ€‹

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€