Scroll indicator done
728x90

- JSP 빈즈 구조를 이해

- useBean 액션 활용 방법 

- JSP 빈즈와 데이터베이스와의 연동 관계 이해

 

# 빈즈

- 빈즈(Beans)는 특정한 일을 독립적으로 수행하는 컴포넌트

- GUI(Graphic User Interface) (ex. 창, 버튼, 스크롤 바 등) 화면을 구성하는 다양한 위젯을 제작하기 위함

    -> EJB(Enterprise Java beans)와 JSP Beans로 나뉘어 개념이 확장됨

 

컴포넌트? 다른 무언가를 만들기 위한 부품

i) 각각의 모듈을 서로 조합하려면? 규격화된 인터페이스 필요

 

# JSP 빈즈

: JSP와 연동하기 위해 만들어진 컴포넌트 클래스. 

      컨테이너(=톰캣)에 위치, JSP에 데이터베이스 연동 등 프로그램적 요소모듈화할 수 있도록 함

- 프로그램의 중복을 줄이고 원활하게 유지-보수할 수 있음

- JSP 코드 내에 스크립트릿을 사용하기보단 빈즈를 만들어 사용하는 것이 좋음

 

1. 데이터베이스 연동을 포함에 데이터와 여러 기능을 함께 구현하는 방법 (DO, DAO 클래스의 통합 형태)

  -> 일반적 

2. 데이터 매핑과 데이터베이스 처리를 분리해서 구현하는 방법 (DO, DAO 클래스의 분리 형태)

3. 별도의 O-R 매핑 프레임워크를 사용하는 방법

      DO - Data Object, DAO - Data Access Object

 

# 엔터프라이즈 자바 빈즈(EJB; Enterprise Java Beans)

- Java EE는 보안 중시, 규모가 크며 확장 및 다른 시스템과의 상호-운용을 필요로 하는 애플리케이션 개발에 필요한 핵심 기술

-  여러 장점에도 불구하고 개발의 복잡성, 컨테이너 간 호환성 등 여러 문제로 대안이 지속적으로 논의됨

 

# JSP와 빈즈 연동

 

[실습1] 로그인

- src/jspbook/TestBean.java

package jspbook;

public class TestBean {
	private String userid;
	private String passwd;
	
	final String _userid="myuser";
	final String _passwd="1234";
	
	public boolean checkUser() {
		if(userid.equals(_userid)&&passwd.equals(_passwd)) {
			return true;
		}
		else
			return false;
	}
	
	public String getUserid() {
		return userid;
	}
	public void setUserid(String userid) {
		this.userid = userid;
	}
	public String getPasswd() {
		return passwd;
	}
	public void setPasswd(String passwd) {
		this.passwd = passwd;
	}
}

코드 우클릭 후 source -> Generate Getters and Setters

- login_form.html

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ch07 : 로그인</title>
</head>

<body bgcolor="#FFFFFF">
<div align=center>
<H2>ch07 : 로그인</H2>
<HR>

<form method="post" action="login.jsp" name="form1">
  <table width="250" border="1" align="center" cellspacing="0" cellpadding="5">
 
    <tr> 
    <td colspan="2" align="center">로그인</td>
  </tr>
  <tr> 
      <td>아이디</td>
      <td><input type="text" name="userid" size=10></td>
  </tr>
  <tr> 
      <td>비밀번호</td>
      <td><input type="password" name="passwd" size=10></td>
  </tr>
  <tr> 
    <td colspan="2" align="center"> 
        <input type="submit" name="Submit" value="로그인"></td>
  </tr>
</table>
</form>
</div>
</body>
</html>

- login.jsp

<%@ page contentType="text/html;charset=UTF-8" %>
<jsp:useBean id="login" class="jspbook.TestBean" scope="page" />
<jsp:setProperty name="login" property="*" />

<HTML>
<HEAD><TITLE>ch07 : login.jsp </TITLE></HEAD>
<BODY>
<div align=center>
<H2>로그인 예제</H2>
<HR>
<% 
	if(!login.checkUser()) {
		out.println("로그인 실패 !!");	
	}
	else {
		out.println("로그인 성공 !!");
	}
%>

<HR>
사용자 아이디 : <jsp:getProperty name="login"  property="userid" /><BR>
사용자 패스워드 : <jsp:getProperty name="login" property="passwd" />

</div>
</BODY>
</HTML>

 

[실습2] 주소록 구현


[데이터베이스와 JDBC]

mysql 설치 후 Workbench

728x90