자바 빈즈 (Java Beans)

so2·2021년 1월 3일
0
post-custom-banner

📃 정의

자바 코드로 작성된 컴포넌트들로 jsp페이지에서 비지니스 로직을 제거하기 위한 방법으로 사용하는 기술이다. 즉, jsp페이지에서 화면을 표현하기 위한 계산식이나 자료들의 처리를 담당하는 자바 코드를 따로 분리하여 작성한 것이 자바빈즈이다.


📃 구성 요소

속성과 그 속성에 대한 getter & setter 메서드로 구성된 데이터 객체(VO)를 말하며 데이터 전송에 사용하는 객체이다.

◽ 일반적인 형태

public class Bean {
    	// 프로퍼티 
	private int x; 
    	private int y; 
        
        public Bena() {} // 파라미터 없는 생성자 반드시 있어야 함
        
        public int getX( return x; )
        public int getY( return y; )
        public int setX(int x)( this.x = x; )
        public int setY(int y)( this.y = y; )
}

◽ 액션 태그를 사용한 형태
<jsp:useBean id="Bean class="Bean"/> 
	<jsp:setProperty name="Bean" property="x" value="10"/>
        <jsp:setProperty name="Bean" property="y" value="20"/>
</jsp:useBean>

<jsp:useBean name="Bean" property="x"/>
<jsp:useBean name="Bean" property="y"/>

◽ 스크립트 요소안에 자바코드를 작성하여 사용한 형태
<%@ page import = "패키지 포함 클래스명" %>

<%
	Bean bean = new Bean();
    	bean.setX(10);
        bean.setY(20);
%>

<body>
	빈의 x값은 : <%= bean.getX() %>
        빈의 y값은 : <%= bean.getY() %>
</body>

📃 자바 빈 액션 태그

jsp 페이지 내에서 어떤 동작을 하도록 지시하는 태그
페이지 이동, 페이지 include, 자바 빈 생성 등

◽ <jsp:useBean>

객체를 생성할 뿐만 아니라 지정한 영역에 저장한다.
이미 영역에 객체가 존재하면 그 객체를 사용한다.
scope 속성값에 따라 객체는 서로 다른 기본 객체에 저장된다.
따라서, 영역별로 공유할 데이터를 쉽게 저장할 수 있다.

	<jsp:useBean id="빈 이름 " class="자바빈 클래스 이름" scope=" 범위"/>
  • id : jsp 페이지에서 자바빈 객체에 접근할 때 사용할 이름
  • class : 패키지 이름을 토함한 자바빈 클래스의 완전한 이름
  • scpoe : 자바빈 객체가 저장될 영역을 지정
    page, request, session, application 중 하나를 값으로 가진다.
    - page : 현재 페이지 범위에만 한정
    - request : request 요청을 받고 처리를 완료할 때까지 생존되는 scope
    - session : 사이트 전체에 범위를 갖지만, 지속 시간 동안만 유지되는 scope
    - application : 사이트 전체의 범위를 갖고, 계속 유지될 수 있는 scope

◽ <jsp:setProperty>

프로퍼티는 자바빈에 저장되는 값을 나타낸다.

<jsp:setProperty name="자바 빈 " property="이름" value=""/>
  • name : 프로퍼티 값을 변경 할 자바빈 객체의 이름
    <jsp:useBean>액션 태그와 id 속성에서 지정한 값을 사용
  • property : 값을 지정할 프로퍼티의 이름
  • value : 프로퍼티 값

◽ <jsp:setProperty>

자바빈 객체에서 저장된 프로퍼티 값을 사용하기 위해 사용된다.

<jsp:getProperty name="자바 빈 " property="이름" value=" "/>
  • name : 자바빈 객체의 이름 (필수)
  • property : 프로퍼티 명 (필수)
post-custom-banner

0개의 댓글