본문 바로가기
JS & TS/Frontend

[JSP] 자바빈즈(자바 객체)

by heekng 2021. 2. 27.
반응형

[JSP] 자바빈즈(자바 객체)

자바빈즈란 JSP의 표준 액션 태그를 통해 접근할 수 있는 자바 클래스로서, 기본생성자, 멤버 변수(필드)setter, getter메소드로 이루어져 있다.

이전에 배웠던 액션태그로 이용하며, 위에서 말한 것처럼 자바빈즈로 이용할 클래스는 기본생성자와 멤버변수에 대한 setter, getter메소드가 필수적으로 작성되어있어야 한다.


자바빈즈의 기본 작성방법

자바빈즈를 이용하려면 클래스 객체 생성, 객체의 필드 set, 객체의 필드를 get하는 코드가 필요하다.

useBean 객체생성

<jsp:useBean />의 형태로 작성하며, 클래스의 기본 생성자를 불러오는 코드이다.

class속성으로 해당 클래스의 위치를 설정하고, id속성으로 객체의 이름을 지정한다.

setProperty setter

<jsp:setProperty />의 형태로 작성하며, useBean으로 생성한 객체의 필드를 set한다.

반드시 setter메소드가 정의되어있어야 한다.

name속성으로 객체에 접근하고, property속성으로 필드에 접근, value속성으로 값을 지정한다.

getProperty getter

<jsp:getProperty />의 형태로 작성하며, useBean과 setProperty로 설정한 객체의 필드값을 get한다.

반드시 getter메소드가 정의되어있어야 한다.

name속성으로 객체에 접근하고, property속성으로 필드를 지정하여 값을 가져온다.

 

예제 EX)

package blog;

public class blog2 {
	private String name;
	private int age;
	
	public blog2() {;}

	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;
	}
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!-- 블로그2 객체 생성 -->
<jsp:useBean class="blog.blog2" id="blog"/>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>자바빈즈</title>
</head>
<body>
	<!-- blog객체의 이름 set -->
	<jsp:setProperty property="name" name="blog" value="heekng"/>
	<!-- blog객체의 나이 set -->
	<jsp:setProperty property="age" name="blog" value="27"/>
	
	<p>
		이름: 
		<!-- 객체의 이름 get -->
		<jsp:getProperty property="name" name="blog"/>
	</p>
	<p>
		나이: 
		<!-- 객체의 나이 get -->
		<jsp:getProperty property="age" name="blog"/>
	</p>
</body>
</html>

위와 같이 작성한 코드의 결과는 다음과 같다.

만약 페이지 이동을 통해 데이터를 request객체로 받아오고, 해당 request에 있는 프로퍼티의 name과 객체 필드의 이름이 같다면 <jsp:setProperty property="*" name="객체명" />으로 하나씩 set하지 않고, 한번에 모든 프로퍼티를 받아올 수 있다.


자바빈즈 규칙

위에서 말했듯이 자바빈즈를 이용하는 데에는 규칙이 있다.

 

1. 패키지화를 할 것. 패키지의 이름을 꼭 작성해야 한다. (default)로 지정된 패키지는 자바빈즈로 불러올 수 없다.

2. 멤버변수 접근자를 private로 설정한다.

3. getter, setter메소드를 작성하고 접근자는 public으로 한다.

4. 기본생성자를 선언한다.

반응형

'JS & TS > Frontend' 카테고리의 다른 글

[JSP] JSON  (0) 2021.03.14
[JSP] Ajax  (0) 2021.03.11
[JSP] 내장 객체, 데이터 전송방식  (0) 2021.02.27
[JSP] JSP문서 작성 및 코드 작성  (0) 2021.02.27
[Servlet] 서블릿 Servlet (개념, 계산기 예제)  (0) 2021.02.27
[JSP] JSP시작 개념  (0) 2021.02.26