JSP공부

JavaBeans 자바빈

NaZZU 2024. 10. 4. 03:24

자바빈의 개요

  • 자바빈은 속성(데이터), 변경 이벤트, 객체 직렬화를 위한 표준
    • JVM 메모리의 객체 데이터를 바이트 형태로 변환하는 기술
  • JSP에서는 속성을 표현하기 위한 용도로 사용
  • 현재까지 작성해온 JSP 페이지의 문제점
    • JSP 페이지에 화면 표출 부분과 데이터 핸들링 부분이 혼재
    • 동일한 데이터를 사용할 경우 페이지마다 코드가 반복됨
    • JSP 페이지와 데이터 로직을 분리해거 모듈화하는 작업이 필요
    • JSP 페이지의 데이터 속성 부분을 분리
    • 자바빈을 이용한 코드 재사용으로 프로그램의 효율을 높임
    • 프로그램 유지 보수 관리도 용이자바빈을 사용하는 목적

작성 순서

  1.  package 명 기술
  2. 사용할 package import
  3.  JavaBean 클래스 선언
    • 클래스명 규칙
    • 첫 글자는 영문 대문자로 시작하고, 나머지는 소문자를 사용
    • 단어를 여러 개 합칠 때는 시작되는 단어의 첫 글자를 대문자로
  4. 자바빈의 속성(property, 멤버 변수) 선언
    • 각 속성들의 접근 제한자는 private로 선언해야 한다
  5. 자바빈의 메소드 선언
    • 속성들에 접근하기 위한 getter(), setter() 메소드는 접근 제어자를 public으로 선언해서 작성
package Week5;

public class MemberInfo {
	// 자바빈 클래스
	// 속성(property)은 반드시 private
	
	private String id;
	private String password;
	private String name;
	private String registerDate;
	private String email;
	// property를 읽기 위한 getter,
	// 쓰기 위한 setter가 필요
	// getter와 settet는 소문자로 이루어져있다가 가져와야 할 데이터가 대문자로 되어있어야만 인식한다.
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getRegisterDate() {
		return registerDate;
	}
	public void setRegisterDate(String registerDate) {
		this.registerDate = registerDate;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
}

 

<jsp:useBean> 태그를 이용한 자바 객체 사용

  • JSP 페이지의 주된 기능은 데이터를 보여주는 것이다.
  • 게시판의 글 목록보기,  글 읽기, 회원 정보 보기 등 자바빈과 같은 클래스에 담아서 값을 보여주는 것이 일반적.

자바빈을 사용하기 위한 3가지 액션 태그

자바빈 액션 태그 설 명
<jsp:useBean> 자바빈 객체를 생성하는 액션 태그
<jsp:setProperty> 생성된 자바빈 객체에 프로퍼티 값을 저장하는 액션 태그
<jsp:getProperty> 생성된 자바빈 객체에서 저장된 프로퍼티 값을 가져오는 액션 태그

 

<jsp:useBean> 액션 태그를 사용하여 객체 생성하기

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

액션 태그 속성 설 명
id JSP 페이지에서 자바빈 객체에 접근할 때 사용할 이름을 지정
class 패키지 이름을 포함한 자바빈 클래스의 완전한 이름을 입력
scope 자바빈 객체를 저장할 영역을 지정
page, request, session, appliction 중 하나를 값으로 가진다.
기본값은 page

 

ex) <jsp:useBean name="member" class="week5.MemberInfo" scope="request" />

<jsp:setProperty> & <jsp:getProperty>

<jsp:setProperty> 액션 태그를 사용하면 생성한 자바빈 객체의 프로퍼티 값을 변경 할 수 있다.

액션 태그 속성 설 명
name 프로퍼티의 값을 변경할 자바빈 객체의 이름을 지정한다.
<jsp:useBean> 액션 태그의 id 속성에서 지정한 값을 사용한다
property 값을 지정할 프로퍼티의 이름을 지정한다
value 프로퍼티의 값을 지정한다
표현식 (<%= 값 %>)이나 EL(${값}) 을 사용할 수 있다

 

ex) <jsp:setProperty name="member" property="name" value="홍길동">

 

<jsp:getProperty> 액션 태그를 사용하면 생성한 자바빈 객체의 프로퍼티 값을 읽어올 수 있다.

액션 태그 속성 설명
name <jsp:useBean> 액션 태그의 id 속성에서 지정한 값을 사용한다
property 출력할(값을 읽어올) 프로퍼티의 이름을 지정한다

 

ex) <jsp:getProperty name="member" property="name">