위 글은 해당 카테고리의 수업 강의 자료를 정리한 것입니다.
1. 자바빈즈(JavaBeans)란?
- JSP 페이지에 HTML을 제외한 다른 많은 JSP 코드들이 있으므로 JSP 페이지를 이해하기 어려워짐
- 자바빈즈 JSP에 안의 수 많은 자바 코드들이 담당했던 일들을 독립적으로 처리하기 위한 부품과 같음
- 자바빈즈와 같은 컴포넌트 기술을 이용하여 작성할 수 있게 하여 효율성, 재사용성 등의 장점을 가짐
1.1 자바빈즈 만들기
- 정보를 저장하는 변수는 모두 private로 선언
- private로 선언된 변수의 값을 저장하는 메소드를 만듦, 메소드의 이름은 setXxx() 형식으로 만듦 (Xxx는 변수의 이름과 같으며 첫 글자는 대문자)
- setXxx() 메소드와 getXxx() 메소드를 public으로 선언
setXxx() 메소드 ➡️ setter
getXxx() 메소드 ➡️ getter
1.2 빈을 이용하는 JSP 파일 작성
- 빈 태그
- <jsp:useBean id="..." class="..." scope="..."/> : 빈을 생성하여 둠
- <jsp:setProperty name="..." property="..." value="..."/>: 빈에 값을 저장함
- <jsp:getProperty name="..." property="..."/>: 빈의 값을 가져옴
- scope의 종류
- page: 해당 JSP 페이지 내에서만 존재함
- request: 사용자의 요청 (request)을 처리하는 동안 존재함
- session: 사용자가 최초에 접속하여 세션이 종료되기까지 존재함
- application: 해당 어플리케이션이 살아 있는 동안 함께 존재함
2. 회원 인증 및 가입의 전체적인 구조
예제: 회원가입 입력 폼
<%@ page contentType="text/html; charset=UTF-8" %>
<html>
<head>
<title>회원가입</title>
<link href="style.css" rel="stylesheet" type="text/css">
<script language="JavaScript" src="script.js"></script>
</head>
<body bgcolor="#996600">
<table width="500" align="center" cellspacing="0" cellpadding="5" >
<tr>
<td align="center" valign="middle" bgcolor="#FFFFCC">
<table border="1" cellspacing="0" cellpadding="2" align="center">
<form name="regForm" method="post" action="memberProc.jsp">
<tr align="center" bgcolor="#996600">
<td colspan="3"><font color="#FFFFFF"><b>회원 가입</b></font></td>
</tr>
<tr>
<td width="100">아이디</td>
<td width="200"><input name="id" size="15"></td>
<td width="200">아이디를 적어 주세요.</td>
</tr>
<tr>
<td>패스워드</td>
<td><input type="password" name="pwd" size="15"></td>
<td>패스워드를 적어주세요.</td>
</tr>
<tr>
<td>패스워드 확인</td>
<td><input type="password" name="repwd" size="15"></td>
<td>패스워드를 확인합니다.</td>
</tr>
<tr>
<td>이름</td>
<td><input name="name" size="15"></td>
<td>고객실명을 적어주세요.</td>
</tr>
<tr>
<td>생년월일</td>
<td><input name="birthday" size="27"></td>
<td>생년월일을 적어주세요.</td>
</tr>
<tr>
<td>이메일</td>
<td><input name="email" size="20"></td>
<td>이메일을 적어주세요.</td>
</tr>
<tr>
<td colspan="3" align="center">
<input type="button" value="회원가입" onclick="inputCheck()">
<input type="reset" value="다시쓰기">
</td>
</tr>
</form>
</table>
</td>
</tr>
</table>
</body>
</html>
package ch09;
public class MemberBean {
private String id;
private String pwd;
private String name;
private String birthday;
private String email;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
예제: 회원 입력 정보 확인 페이지
<%@ page contentType="text/html; charset=UTF-8" %>
<%
request.setCharacterEncoding("UTF-8");
%>
<jsp:useBean id="regBean" class="ch09.MemberBean"/>
<jsp:setProperty name="regBean" property="*" />
<html>
<head>
<title>회원가입 확인</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body bgcolor="#996600">
<table width="80%"align="center" cellspacing="0" cellpadding="5" >
<tr>
<td align="center" valign="middle" bgcolor="#FFFFCC">
<table width="90%" border="1" cellspacing="0" cellpadding="2" align="center">
<form name="regForm" method="post" action="memberInsert.jsp">
<tr align="center" bgcolor="#996600">
<td colspan="3"><font color="#FFFFFF"><b>
<jsp:getProperty name="regBean" property="name" />
회원님이 작성하신 내용입니다. 확인해 주세요</b></font></td>
</tr>
<tr>
<td width="24%">아이디</td>
<td width="41%"><jsp:getProperty name="regBean" property="id" /></td>
</tr>
<tr>
<td>패스워드</td>
<td> <jsp:getProperty name="regBean" property="pwd" /></td>
</tr>
<tr>
<td>이름</td>
<td> <jsp:getProperty name="regBean" property="name" /></td>
</tr>
<tr>
<td>생년월일</td>
<td> <jsp:getProperty name="regBean" property="birthday" /></td>
</tr>
<tr>
<td>이메일</td>
<td><jsp:getProperty name="regBean" property="email" /></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="button" value="확인완료">
<input type="button" value="다시쓰기" onClick="history.back()">
</td>
</tr>
</form>
</table>
</td>
</tr>
</table>
</body>
</html>
'강의 > KOSTA' 카테고리의 다른 글
[JSP/Servlet] Session and Cookies (Day23) (0) | 2022.04.05 |
---|---|
[JSP/Servlet] Database integration with JDBC (Day22) (0) | 2022.04.04 |
[JSP/Servlet] Servlet Basic Syntax (Day22) (0) | 2022.04.04 |
[JSP/Servlet] JSP Internal Object (Day22) (0) | 2022.04.04 |
[JSP/Servlet] JSP Directives and Action tags (Day22) (0) | 2022.04.04 |