본문 바로가기
개발/JSP

[JSP] 자바 빈 (java bean)

by 두리두리안 2021. 4. 5.

모듈화된 MVC에서 View가 JSP라면, M(Model)에 해당하는 것이 Bean 입니다.
모델이 프로그램 로직을 가지고 있고 DB와 연동을 해서 작업을 하듯이 자바빈도 동일한 역할을 합니다.

(자바로 작성되어진 컴포넌트들을 칭합니다.)

JSP와의 연동을 위해 만들어진 자바 컴포넌트인 Bean을 통해 JSP 클래스들간 데이터를 쉽게 연동하고,
또한 
데이터베이스 연동이나 뷰 데이터 교환에 사용 됩니다.

JAVA Bean java코드를 기반으로 만들어진 것 입니다.


자바빈 액션태그

 <jsp:useBean id="자바빈 이름" class="자바빈 클래스 이름" scope="범위" />

 자바빈 객체를 생성하는 액션태그

 id : 자바빈 객체의 이름

 class : 패키지명을 포함한 자바빈 클래스의 이름

 scope : 자비빈 객체가 공유되는 영역을 지정, 생략시 default는 "page

 

 <jsp:setProperty name="자바빈 이름" property="이름" value="값" />

 생성된 자바빈 객체에 property 값을 저장하는 액션태그

 name : 자바빈 객체의 이름

 property : property 이름

 value : property에 저장할 값 (생략 가능)

 <jsp:getProperty name="자바빈 이름" property="이름" /> 

 자바빈 객체에 저장된 property 값을 사용하는 액션태그

 name : 자바빈 객체의 이름

 property : property 이름

 

구조

TestBean.java

package ch10.bean;

public class TestBean {
	private String name;

	public String getName() {
		return name;
	}

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

beanTestForm.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>자바빈 사용예제 - 이름을 입력하는 폼</title>
</head>
<body>
	<h2>이름을 입력</h2>
	<form method="post" action="beanTestPro.jsp">
		이름 : <input type="text" name="name"><br>
		<input type="submit" value="입력완료">
	</form>
</body>
</html>

beanTestPro.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<% request.setCharacterEncoding("utf-8"); %>

<jsp:useBean id="testBean" class="ch10.bean.TestBean">
	<jsp:setProperty name="testBean" property="name"/>
</jsp:useBean>

<h2>자바빈을 사용하는 JSP 페이지</h2>

입력한 이름은 <jsp:getProperty property="name" name="testBean"/>