본문 바로가기
JSP

JSP javabeans

by 요리하다그만둠 2022. 7. 14.

 

자바빈은 속성(데이터), 변경 이벤트, 객체 직렬화를 위한 표준어 입니다. 이 중에서 JSP에서는 속성을 표현하기 위한 용도로 사용됩니다. 다음은 자자빈 규약으 따르는 클래스의 구조를 보여줍니다.

public class BeanClassName implements java.io.Serializable {
	/* 값을 저장하는 필드 */
    
    /* BeanClassName의 기본 생성자*/
    public BeanClassName() {
    }
   
   /* 필드의 값을 읽어오는 값*/
    public String getValue() {
    	return value;
    }
    
    /* 필드의 값을 변경하는 값 */
    public void setValue(String value) {
    	this.value = value;
    }

자바빈 규약을 따르는 클래스를 자바빈이라고 부릅니다. JSP 프로그래밍에서 사용하는 자바빈 클래스는 위 코드처럼 데이터를 저장하는필드, 데이터를 읽어올 때 사용되는 메서드 그리고 값을 저장할 때 사용되는 메서드로 구성됩니다.

 

자바빈 프로퍼티

규칙 : 프로퍼티 이름이 propertyName일 경우
- setter : public void setPropertyName(Type value)
- getter : public Type getPropertyName()
- boolean 타입일 경우 getter에 get 대신 is 사용 가능
- 배열 지정 가능 : 예) public void setNames(Stirng[])

프로퍼티는 자바빈에 저장되는 값을 나타냅니다. 메서드 이름을 사용해서 프로퍼티의 이름을 결정하게 됩니다.

프로퍼티 값을 변경하는 메서드는 포러퍼티의 이름 중 첫 글자를 대문자로 변환한 문자열 앞에 set을 붙입니다.

메서드는 프로퍼티의 이름중 첫 글자를 대문자로 변환할 문자열 앞에 get을 붙입니다.

public void setMaxAge(int value);
public int getMaxAge();

프로퍼티 이름과 필드 이름은 같지 않아도 괜찮습니다.

예를 들어 maxAge 프로퍼티 값을 실제로 저장하는 필드와 maxAge 프로퍼티 값을 읽고 저장하는데 사용되는 메서드는 다음과 같이 코딩됩니다.

private int maximumAge = 0;
public void setMaxAge(int maxAge) {
	maximumAge = maxAge;
}

public int getMaxAge() {
	return maximumAge;
}

프로퍼티 타입이 boolean일 경우 get 대신에 is 를 붙일 수 있습니다. 

예를 들어 졸료 여부를 나타내는 프로퍼티 이름이 finished이고 값 타입이 boolean이면

public boolean isFinished() {
	...
}

public void setFinished(boolean finished) {
	...
}

프로퍼티 값에는 읽기 전용 프로퍼티와 읽기/쓰기 프로퍼티가 존재합니다.

  • 읽기 전용 프로퍼티 : get 또는 is 메서드만 존재하는 프로퍼티
  • 읽기/쓰기 프로퍼티 : get/set 또는 is/set 메서드가 존재하는 프로퍼티

이렇게 정의 됩니다.

 

자바빈 프로퍼티는 배열로도 정의가 가능합니다.

public int[] getMark()
public void setMark(ine[] values)

이 코드는 mark 프로퍼티의 값 타입을 int 배열로 저장하고 있습니다.

getMark() 메서드는 배열을 리턴하는데, 배열 대신 한 원소에 접근하는 메서드를 추가할 수 있습니다.

특정 원소에 접근하는 메서드는 인덱스를 값으로 갖습니다.

public int getMark(int index)
public void setMark(int value, int index)

이 코드는 지정한 mark 프로퍼티 값인 int 배열 중에서 지정한 인덱스의 값을 읽거나 변경할때 사용됩니다.

 

예제로 사용할 자자빈 클래스는 회원 정보를 저장할 때 사용할 클래스로서 밑의  프로퍼티를 갖습니다.

프로퍼티 이름 값 타입 읽기/쓰기 여부
id String  읽기/쓰기
password String  읽기/쓰기
name String  읽기/쓰기
address String  읽기/쓰기
registerDate java.util.Date 읽기/쓰기
email String  읽기/쓰기

=MemberInfo 자바빈 프로퍼티 목록입니다.

 

위의 프로퍼티 목록의 따라 MemberInfo 자바빈 클래스의 코드 소스를 작성해보겠습니다.

 

import java.util.Date;

public class MemberInfo {
	
	// 필드 생성
	private String id;
	private String password;
	private String name;
	private Date registerDate;
	private String email;
	
	// getter/setter
	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 Date getRegisterDate() {
		return registerDate;
	}
	public void setRegisterDate(Date registerDate) {
		this.registerDate = registerDate;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
}

 

 

 

'JSP' 카테고리의 다른 글

JSP EL  (0) 2022.07.15
JSP <jsp:useBean>  (0) 2022.07.14
JSP 쿠키  (0) 2022.07.13
JSP 예외처리  (0) 2022.07.13
JSP HTML FORM  (0) 2022.07.11