빈즈(beans)란?
**1. 빈즈란?**
컴포넌트이다. 즉 부품이란 의미를 가지고 있다.
부품이란 만들어 놓으면 필요한 곳에 가져다가 제품을 완성시킬 수 있듯이
프로그램도 부품 형태로 만들어 놓고 필요할 때 재 사용할 수 있게 한다.
빈즈 또한 자바 클래스이다.
따라서 빈즈를 만든다는 의미는 자바 프로그램을 만든다고 생각하면 된다.
**2. 빈즈 만들기**
1) 정보를 저장하는 멤버 변수는 **모두 private** 로 선언한다.
2) **setter** 를 구성한다.
setter 란 멤버 변수에 값을 저장하기 위한 메소드들을 의미하는데 메소드 이름은
setXxxx() 형태로 구성된다.
이때 Xxxx 는 멤버 변수를 뜻하며 맴버변수의 첫글자는 대문자로 표시된다.
예를 들어 멤버 변수가
private String name=null;
과 같이 정의 되어 있을 때 name 변수에 값을 저장하기 위한 setter 는
public void setName(String name){ this.name = name; }
과 같이 정의 되어야 한다.
3) **getter** 를 구성한다.
getter 는 setter 와 반대로 멤버 변수의 내용을 외부로 젂달할 때 사용되는 메소드들을 뜻한다. 위의 멤버 변수
name 값을 외부로 젂달하기 위해서는 아래와 같이 getter 를 작성한다.
public String getName(){ return name; }
4) setter 와 getter 의 접근자는 **모두 public** 으로 선언한다.
**빈을 사용하는 JSP 파일** 생성 시, 사용되는 빈 태그는 3 종류가 있다.
**<jsp:useBean id="별칭" class="클래스명" scope="적용범위"/>**
**<jsp:setProperty name="별칭" property="멤버변수명" value="값"/>**
**<jsp:getProperty name="별칭" property="멤버변수명"/>**
id : 해당 프로그램에서 사용하는 객체명이라 할수 있다.(예 id="myB")
class : package 명과 class 명을 함께 기술한다.(예 class="park.myBean")
scope : 해당 bean 의 유효범위를 지정한다.(예 scope="page")
name : id 에서 정의된 객체명(예 name="myB"
**scope(적용영역)의 종류**
page : 해당 JSP 페이지에만 적용된다.
request : 사용자의 요청을 처리하는 동안만 적용된다.
session : 사용자가 접속을 종료할 때 까지만 적용된다.
application : 해당 어플리케이션이 살아 있는 동안만 적용된다.