본문 바로가기
컴퓨터과학[3-2]/J.S.P

JSP - [제10강] 자바 빈 사용하기

by boolean 2016. 7. 22.
728x90

JSP - [제10강] 자바 빈 사용하기

자바 빈 설계 규약, 자바 빈 사용하기, 자바 빈 예제

JSP 용어정리

  • 자바빈
    자바빈 설계 규약을 따르는 어떠한 자바 클래스도 자바빈 컴포넌트로 활용될 수 있다. 자바빈은 별도의 클래스 파일로 존재하여 JSP 페이지에서 재사용될 수 있다. 전형적인 JSP 페이지는 간단한 자바 코드만을 포함하며 대부분의 자바 코드는 비즈니스 로직을 처리하는 자바빈에 있다.
  • 프리젠테이션 로직
    결과를 사용자에게 보여주는 부분의 처리를 말한다. 프리젠테이션 로직과 비즈니스 로직을 분리하면 코드의 가독성과 유지보수성이 개선되며 개발자 간의 분업을 통해 전문성을 높일 수 있다. JSP와 자바빈을 사용하는 구조에서 일반적으로 JSP는 프리젠테이션 로직을 담당하고 자바빈은 비즈니스 로직을 담당한다.
  • 비즈니스 로직
    사용자 요청에 대한 내부적 처리를 말하는 것으로 응용 분야의 핵심 기능에 해당한다. 대개 데이터베이스와 연동하여 최종 결과를 생성한다. 프리젠테이션 로직과 비즈니스 로직을 분리하면 자바 전문가는 자바빈 클래스의 관리에 집중할 수 있고 HTML 전문가는 JSP 페이지에 집중할 수 있다.

요점정리

  1. 자바빈이란 자바빈 설계규약에 따라 정의된 자바 클래스이다. 자바빈을 사용하면 비즈니스 로직과 프리젠테이션 로직을 분리할 수 있다.
  2. 자바빈을 사용하면 한번 만들어 놓은 자바빈을 다른 프로그램에서 재사용할 수 있다.
  3. 자바빈 클래스에 생성자를 넣으려면 파라미터가 없는 기본 생성자를 반드시 포함시켜야 한다.
  4. 자바빈 설계규약에 맞는 자바빈 클래스를 정의하려면 자바빈 클래스의 모든 속성에 대한 getter 메서드와 setter 메서드를 정의해야 한다.
  5. <jsp:useBean> 태그의 형식은 다음과 같으며 반드시 id 속성을 포함해야 한다.
    <jsp:useBean id=“빈이름” class=“패키지.클래스이름” scope=“범위” />
  6. <jsp:useBean> 태그는 scope로 설정되는 사용범위 안에 같은 이름의 자바빈 객체가 존재하지 않으면 새로운 자바빈 객체를 생성하며, 존재한다면 해당 자바빈 객체를 사용할 수 있도록 한다.
  7. <jsp:setProperty>, <jsp:getProperty> 액션 태그를 사용하여 자바빈 객체의 속성 값을 변경하거나 읽어올 수 있다.

연습문제

  • 연습문제1
    자바빈에 관한 설명으로 잘못된 것은?
    답을 체크하세요
    정답 :
    해설 :
    자바빈은 비즈니스 로직을 구현하기 위한 것이다. 자바빈을 사용하면 JSP 페이지에서 자바 코드의 사용을 줄일 수 있고 프리젠테이션 로직과 비즈니스 로직의 분리가 분명해진다.
  • 연습문제2
    자바빈 클래스에 String 유형의 name 속성이 존재한다고 할 때, 이것의 getter 메소드로 적당한 것은?
    답을 체크하세요
    정답 :
    해설 :
    getter 메소드는 속성 값을 리턴하는 메소드로 파라미터가 없고 해당 속성의 데이터 타입과 일치하는 리턴 타입을 가져야 한다.
  • 연습문제3
    다음 액션에 관한 설명으로 적당하지 않은 것은?
    <jsp:useBean id=“memberinfo” class=“member.MemberInfo” scope=“page” />
    답을 체크하세요
    정답 :
    해설 :
    memberinfo라는 이름의 자바빈 객체를 생성(또는 사용을 위해 선언)하고 그것의 사용범위를 해당 페이지로 국한하는 액션이다.
  • 연습문제4
    다음 코드와 동일한 의미를 가지는 것은 무엇인가?
    <% out.print(memberinfo.getName( )); %>
    답을 체크하세요
    정답 :
    해설 :
    문제는 자바빈 객체의 속성 값을 읽어 출력하는 스크립트릿으로 <jsp:getProperty name=“자바빈 이름” property=“속성 이름” /> 액션 태그를 사용하여 처리할 수도 있다. <jsp:getProperty> 액션은 속성 값을 읽어 String으로 변환한 후 out 객체에 전달하여 출력시키는 기능을 한다.
  • 연습문제5
    다음 코드와 동일한 의미를 가지는 것은 무엇인가?
    <% boardData.setTitle(request.getParameter(“title”)); %>
    답을 체크하세요
    정답 :
    해설 :
    이름이 “title”인 요청 파라미터의 값을 읽어서 그것을 자바빈 객체가 가지는 title 속성의 값으로 설정하는 코드이다.
    보기 4는 <jsp:setProperty name=“boardData” property=“title” param=“title” />과 같은 의미이다.


댓글