ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JSP] 자바빈(JavaBean)
    IT 발자취.../웹 개발 2018. 12. 12. 20:05

    자바빈(JavaBean)에 대해
    알아보도록 하겠습니다.
    스프링 빈이랑 정리없이 알다가
    정리를 한번 해보고자 합니다.

    먼저 빈(Bean)에 대해 알아보겠습니다.

    1. 빈이란?
    - 반복적으로 코드를 따로 작성하여 재사용하기 위해 만들어진 클래스입니다.
    - 빈은 속성과 메서드로 이루어져 있으며, 데이터의 처리를 담당합니다.
    (Java - VO(DTO), JSP - JavaBean)

    자바빈(JavaBean)이란 JavaBean규격서에 따라 작성된 자바 클래스를 말합니다.

    2. 자바빈 이용의 목적
    현재 프로그래밍에서 모듈화(component 화)의 중요성이 강조되는 만큼, JSP 페이지가 화면 표출 부분과 로직들이 혼재함으로 인한 복잡한 구성을 가급적 피하고, JSP 페이지의 로직 부분을 분리해서 코드를 재사용함으로써 프로그램의 효율을 높이는 것이 자바빈의 이용 목적입니다.

    3. 자바빈의 설계 규약
    자바빈을 작성하기 위해서는 설계규약을 따라야 한다. 만약 설계규약과 맞지 않는 경우 자바빈의 특성을 갖지 않는 클래스가 되어버릴수 있다.
    1. 멤버변수마다 별도의 get/set 메소드가 존재해야 한다.
    2. get 메소드는 매개변수가 존재하지 않아야한다.
    3. set 메소드는 반드시 하나 이상의 매개변수가 존재해야 한다.
    4. 생성자는 매개변수가 존재하지 않아야 한다.
    5. 멤버변수의 접근제어자는 private이고 각 set/get메소드의 접근제어자는 public , 클래스의 접근제어자는 public 으로 정의한다.

    package com.personInfo; public class PersonInfo { private String name; private int age; private String address; private String email; public String getName() { return name; } public String setName(String name) { this.name = name; } //...이상 setter getter 생략 }

    4. 자바빈의 사용
    자바빈을 사용하기 위해서는 <jsp:useBean> 액션태그를 이용합니다.
    <jsp:useBean id="빈이름" class="자바빈 클래스명" scope="범위 />
    id : 생성할 객체(인스턴스)의 이름을 정의(생략불가)
    class : 객체를 생성할 클래스명을 정의 (패키지명.클래스명으로 설정)
    scope : 자바빈 객체가 공유되는 범위를 지정 (scope 생략시 기본값은 page)

    <jsp:useBean id = "user" class="com.personInfo.personInfo" scope="page"/> <%=user%> <%-- 해시코드 형태로 객체가 생성될 것이다 --%>

    자바빈 프로퍼티의 값을 저장하기 위해서는 <jsp:setProperty>를 사용한다.

    <jsp:setProperty name="객체명" property ="프로퍼티 명(필드명)" value="설정값"/>

    name : useBean을 이용해 생성한 객체 이름을 명시
    property : 값을 저장할 프로퍼티의 이름을 명시
    value : 저장할 값을 정의

    <jsp:getProperty name="객체명" property ="프로퍼티 명(필드명)"/>


    댓글

Designed by Gintire