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

작성 순서
- package 명 기술
- 사용할 package import
- JavaBean 클래스 선언
- 클래스명 규칙
- 첫 글자는 영문 대문자로 시작하고, 나머지는 소문자를 사용
- 단어를 여러 개 합칠 때는 시작되는 단어의 첫 글자를 대문자로
- 자바빈의 속성(property, 멤버 변수) 선언
- 각 속성들의 접근 제한자는 private로 선언해야 한다
- 자바빈의 메소드 선언
- 속성들에 접근하기 위한 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">