본문 바로가기

JSP&Servlet

자바빈즈(JavaBeans)

1. 자바빈즈란?

  • JSP 페이지에 HTML을 제외한 다른 많은 JSP 코드들이 있기 때문에 JSP 페이지를 이해하기 어려워짐
  • 자바빈즈는 JSP 안의 수많은 자바 코드들이 담당했던 일들을 독립적으로 처리하기 위한 부품과 같음
  • 자바빈즈와 같은 컴포넌트 기술을 통해 작성할 수 있게 하여 효울성, 재사용성 등의 장점을 가짐

 

2. 자바빈즈 만들기

 

 

말이 장황한데, 간단히 말해서 자바에서 우리가 만들어 보았던 getter/setter 를 생성하면 됩니다.

 

전에 학습한 내용 중에는 액션 태그가 있었다. JSP에서 특별한 행동을 하도록 해 주는 내부적으로 지원하는 태그이다. 바로 이러한 액션 태그 중에는 빈을 사용하기 위해 따로 제공하는 태그가 있다. 이를 보통 빈 태그라 부르는데, JSP에서는 이렇게 빈을 이용할 수 있도록 3가지의 관련 태그를 제공하고 있다.

 

[표 1] 빈 태그

 

JSP에서 빈을 이용하기 위해 우리가 알아야 할 것은 위 3가지의 태그뿐이다. 태그의 이름에서도 알 수 있듯이 빈을 사용함을 선언하고, 빈에 값을 넣고, 그리고 담겨진 값을 가져오는 것으로 구성되어 있다.

 

 

 

JSP에서 빈을 사용하기 위해서는 <jsp:useBean...> 태그를 사용하게 된다. 이 태그 속에는 생성하고자 하는 빈의 이름(id)과 생성을 위해 필요한 클래스(class)의 이름을 지정하게 된다. 또한 필요에 따라서 생성한 빈이 살아있는(또는 유요한) 영역(scope)을 지정하기도 한다. 

 

[표 2] scope의 종류

 

이제 <jsp:setProperty...>를 이용하여 빈에 값을 넣어 주어야 한다. 빈에 값을 지정하기 위해서는 생성된 빈을 지정해 준다. 이때 생성된 빈을 지정해 주기 윟 name 요소를 사용하게 된다. name 요소의 값은 <jsp:useBean id="..."> 에서 id 값과 정확히 일치해야 한다.

 

다음으로 값을 저장할 빈의 변수(속성, 프로퍼티)를 선택한다. 빈을 작성할 때 setXxx()라는 메소드를 작성했다. 이 메소드를 property 요소의 값과 일치시켜 값을 저장하게 된다. 예를 들어 property="age" 라고 한다면 JSP 컨테이너는 빈의 setAge(...) 메소드를 찾아서 값을 저장하게 된다. 이외에도 setProperty에는 value, param 등의 요소를 더 추가할 수 있다.

 

마지막으로 <jsp:getProperty...>를 이용하여 저장된 값을 가져온다. setProperty와 동일하게 name 요소를 통해 생성된 빈을 지정해 주며, property 요소를 통해 필요한 값이 저장된 변수(속성, 프로퍼티)를 지정하여 값을 가져오게 된다. 이때에도 역시 JSP 컨테이너는 getXxx() 메소드를 통해 정보를 가져오게 되는 것이다.

'JSP&Servlet' 카테고리의 다른 글

세션(Session)과 쿠키(Cookie)  (0) 2022.03.21
JDBC로 데이터베이스 연동  (0) 2022.03.18
서블릿 기초 문법  (0) 2022.03.11
JSP의 내장 객체  (0) 2022.03.10
JSP의 지시자와 태그  (0) 2022.03.08