SSENI's
search
sseni
말하는 감자에서 자라기
Today
Yesterday
[웹서버프로그래밍] 2022.04.12 Beans 클래스, mysql 연동
- 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;
}
}

- 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] 주소록 구현
mysql 설치 후 Workbench




| [웹서버프로그래밍] 2022.05.03 database connections, 표현 언어 (0) | 2022.05.03 |
|---|---|
| [웹서버프로그래밍] 2022.04.19 데이터베이스와 JDBC (0) | 2022.04.19 |
| [웹서버프로그래밍] 2022.04.05 Assign 04 (0) | 2022.04.11 |
| [웹서버프로그래밍] 2022.03.30 Assign 03 (0) | 2022.04.11 |
| [웹서버프로그래밍] 2022.03.23 Assign 02 (0) | 2022.04.05 |