티스토리 뷰

이번에 언급할 내용은 JavaBean에 대한 내용입니다.

JavaBean이 무엇이냐면

 

웹 페에지는 '개발자'와 '디자이너'가 같이 만드는 것 입니다.

하지만 웹디자이너는 개발자처럼 프로그램을 잘 하지는 못합니다.

그래서 서로 소통이 잘되게 하기 위해서 개발된 것이 바로 JavaBean내용입니다.

 

 

JavaBean을 그냥 막 사용하다보면 그냥 일반적인 클래스가 되는 경향이 있습니다.

그래서 이를 방지하기위해선 JavaBean만의 설계규약을 지키면서 작성을해야합니다.

 

JavaBean의 설계규약

  • 멤버 변수마다 별도의 get/set 메소드가 존재해야 한다.
  • get 메소드는 파라미터(변수)가 존재하지 않아야 한다.
  • set 메소드는 파라미터(변수)가 반드시 하나이상의 파라미터가 존재해야 한다.
  • 빈즈 컴포넌트의 속성은 반드시 읽기 또는 쓰기가 가능해야 한다. 단, 읽기 전용인 경우 get메소드만 정의할 수 있다.

빈즈 컴포넌트의 설계규약

-생성자(new)는 파라미터가 없어야한다.

-자바빈즈 컴포넌트의 속성(Property)들은 읽기, 쓰기 중에서 적어도 하나이상의 기능을 할수가 있다.

-get???() 메소드는 파라미터를 받지 않는 구조이다.

-set???() 메소드는 반드시 하나 이상이 파라미터를 받는 구조

  • 생성자는 파라미터가 존재하지 않아야 한다.
  • 멤버 변수의 접근 제어자는 private이고 각 set/get메소드의 접근 제어자는 public으로 정의되어야 하며 클래스이 접근 제어자는 public으로 정의한다.

 

JavaBean의 개념을 알아봤으니 이제 예제를 통해서 다시 한번 정리를 하겠습니다.

 

test패키지를 만들어서 BeanTest.java파일을 생성해 주시기 바랍니다.

 

그러면 초기화면은

 

 

 

이렇게 보여질 것입니다.

 

이제 여기다가 프로그램을 작성해보도록 하겠습니다.

 

작성하실때는 JavaBean설계규약에 맞게 작성하겠습니다.

 

자바빈 설계규약중 멤버 변수의 접근 제어자는 private 라고 언급을 하였습니다.

 

 

 

그리고 설계규약중에서 멤버 변수마다 별도의 get/set메소드가 존재해야한다. 라고 했습니다.

 

get/set 메소드를 편하게 정의하는 방법은

 

 

이렇게 해 주시면

 

 

 

자동으로 요렇게 됩니다.

 

설계 규약 중에서 set과 get메소드의 접근제어자는 public 로 하라고 하였습니다. 그래서 위와같이 만들어 진것입니다.

그리고 빈즈컴포넌트 설계규약중에서 get???()메소드는 파라미터를받지 않는 구조이고[return은 가능하다.] set???()메소드는 파라미터를 반드시 하나이상을 받아야 되는 구조 라고 언급해서 위와같이 getName()메소드는 name만 리턴해주고 setName()메소드는 파라미터를 받습니다.

 

여기서 꼭 집고 넘어가야한 개념은

  • name멤버 변수의 get과 set 메소드 이름이 멤버변수와 일치되어야 하며
  • 변수 이름의 첫 문자는 대문자 이어야 합니다.

 

자바빈을 작성해 보았으니 이제 JSP페이지를 만들어서 전보다 더 쉽게 자바빈을 이용해서 만들어 보도록 하겠습니다.

 

일단 JavaBean 폴더에 BesnTest.jsp 파일을 만들어줍니다.

 

 

 

 

BeanTest.jsp에다가 JavaBean을 이용하여 작성해 보도록 하겠습니다.

 

 

 

5번째 줄을 보시면

useBean 태그를 사용했 습니다.

간잔하게 useBean태그에 대해 정리해 보도록 하겠습니다.

 

UseBean태그

 

useBesn태그JavaBean 객체를 생성하기 위한 태그입니다.

태그 사용법은

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

입니다.  여기서 jsp:는 XML개념증 NameSpace라는게 있습니다. 바로 그 개념입니다.

scope는 사용범위를 뜻하는데 사용할수 있는 종류는

page, request, session, application 네 종류가 있습니다. 기본값은 page입니다.


scope에 대한 내용이 잘 기억이 안나시면

[JSP] 속성(Attribute)와 영역(Scope) 개념정리 및 실습

 여기로 가셔서 다시 공부하시기 바랍니다.~^^


 


 

BeanTest.jsp파일에서 Run을 돌려보면 이와같이 출력이 됩니다.

 

해석을 해보자면 tset패키지에 있는 BeanTest.java라는 자바빈 클래스를 beantest 라는 이름으로 객체를 생성합니다. 이때 객체생성하는 uesBean 태그를 사용해줍니다.

 

그래서 표현식(<%= %>)을 사용해서 beantest객체에 있는 getName()메소드를 가지고와서 거기에 있는 name 이라는 값을 리턴받아 출력한다. 라는 의미입니다.

 



다시 요약해 보자면


JavaBean

-> 디자이너와 개발자의 상호작용을 보다 효율적으로 하기 위해서

만들어진 개념,


JavaBean은 설개규약에 맞게 사용해야한다.

 

 

 

자바빈의 영역 -개념정리

손가락 버튼 꾹~클릭!



 

Comments