JSP와 자바 빈즈 JSP 빈즈 구조를 이해하고 활용한다. useBean 액션 활용법을 익힌다. 한빛미디어(주)
빈즈 개요 Section 01 자바 빈즈, JSP 빈즈 자바 빈즈 대부분 자바통합개발환경(IDE) 에서 사용 컴포넌트 형태로 제작된 자바 모듈 드래그 앤 드롭 을 지원하는 UI 개발 프로그램에서 활용 그림 7-1 넣어야 하는데 그림이 없습니다.
빈즈 개요 Section 01 자바 빈즈, JSP 빈즈 JSP 빈즈 JSP와의 연동을 위해 만들어진 자바 컴포넌트 Bean 액션을 통해 JSP에서 손쉽게 연동 데이터베이스 연동이나 뷰 데이터 교환에 사용됨. 모델-1 구현에서의 빈즈 모델-2 구현에서의 빈즈
자바 빈즈 개요 Section 01 엔터프라이즈 자바 빈즈(EJB) 엔터프라이즈 자바빈즈(EJB) J2EE(Java2 Enterprise Edition)에서의 컴포넌트 모델 분산 환경을 고려함. J2EE 자체는 스펙으로 여러 회사에서 제품을 구현함. 기업형 애플리케이션 개발에서 비즈니스 로직 및 데이터 처리를 담당함.
JSP와 빈즈 구성 Section 02 빈즈 구성 빈즈 개요 자바 클래스. 멤버 변수와 getter, setter 메서드로 구성됨. 특정 기능을 수행하는 별도의 메서드를 가질수 있음. JSP 모델 2에서는 뷰 컴포넌트로만 활용이 권장됨(비즈니스 로직 X)
JSP와 빈즈 구성 Section 02 빈즈 구성 빈즈 클래스 구성 빈즈 클래스도 자바 클래스 이므로 기본적으로는 자바 클래스 규격을 따름 멤버 변수 getter 메서드(getXxx()) Setter 메서드(setXxx()) 빈즈 클래스 구성 예 class xxxBean { // 멤버 변수, DB 테이블의 컬럼 이름과 매칭된다. private String xxx; private int xxx; // 생성자, 보통 멤버 변수들을 모두 설정하는 생성자를 이용한다. public xxxBean(String xxx, int xxx) { } // get, set 메서드, 멤버 변수와 매칭된다. public getXxx() { return xxx; public setXxx(String xxx) { this.xxx = xxx;
JSP와 빈즈 구성 Section 02 빈즈 구성 클래스 구성 멤버 변수 getter 메서드 setter 메서드 클래스외부에서의 접근을 막기위해 private 로 선언함. 멤버변수이름, HTML form 이름, DB테이블 컬럼명을 일치하는 것이 좋음. getter 메서드 멤버변수의 값을 리턴하는 메서드 getXxx() 와 같이 이름을 붙여야 한다. 멤버변수명의 첫글자를 대문자로 해야함(Bean 액션과 연동). <jsp:getProperty name=”gb” property=”username” /> 내부적으로 getUsername() 메서드를 호출하게됨. setter 메서드 멤버변수에 값을 설정하는 메서드 setXxx()와 같이 이름을 붙여야 한다. 멤버변수명의 첫글자를 대분자로 해야함. <jsp:setProperty name=”gb” property=”username” /> 내부적으로 setUsername(request.getParameter(“username”))과 함께 호출
JSP와 빈즈 구성 Section 02 JSP에서 빈즈 선언 useBean 액션 형식 useBean 액션 속성 목록 <jsp:useBean id=“mybean” scope=“request” class=“MyBean”/> 빈즈 클래스 범위로 page, request, session, application이 올 수 있음 scope 빈즈 클래스 클래스명으로 패키지 경로를 포함 class 빈즈 클래스 인스턴스명으로 사용할 변수 id 설명 속성
JSP와 빈즈 구성 Section 02 JSP에서 빈즈 선언 액션과 자바 코드의 관계 Scope useBean 액션을 자바 코드 변환 했을 때 코드 예 Scope page : 현재 JSP 페이지 내 request : request가 최종 포워딩되는 페이지까지 session : 세션을 유지할 때까지 application : 웹 애플리케이션이 종료될 때까지 MyBean mybean = (MyBean)request.getAttribute(“mybean”); if(mybean == null) { mybean = new MyBean(); request.setAttribute(“mybean”,mybean); }
JSP와 빈즈 구성 Section 02 JSP에서 빈즈값 설정 setProperty 액션 형식 <jsp:setProperty name=”mybean” property=”userid” /> <jsp:setProperty name=”mybean property=”userpasswd” /> <jsp:setProperty name=“mybean” property=“*” /> 속성 값으로 빈즈 클래스의 setXxx (Xxx 는 속성 이름) 메서드와 대응할 속성 값. “*”를 지정하면 모든 setXxx에 자동으로 대응된다. property 빈즈 클래스 인스턴스명으로 id 값에 설정한 변수명 name 설명 속성
JSP와 빈즈 구성 Section 02 JSP에서 빈즈값 설정 setProperty 액션 대체 방법(스크립트릿) <% mybean.setUserid(request.getParameter(“username”)); mybean.setPasswd(request.getParameter(“userpasswd”)); %>
JSP와 빈즈 구성 Section 02 빈즈에서 JSP로 값 가져오기 getProperty 액션 형식 <% <jsp:getProperty name=”mybean” property=”username” /> <jsp:getProperty name=”mybean” property=”userpasswd” /> %> <TR><TD>이름</TD> <TD><jsp:getProperty name=”mybean” property=”username” /></TD></TR> <TR><TD>이름</TD> <TD><%= mybean.getUsername( ) %></TD></TR>
JSP 빈즈 프로그래밍 교재 : 234 ~ 243페이지 예제 개요 간단한 로그인 예제를 통해 빈즈 클래스를 실무에 적용하는 방법 학습 추후 데이터베이스를 연동할 수 있는 구조로 작성 [예제 7-1] ~ [예제 7-2]