Devlog
article thumbnail

위 글은 해당 카테고리의 수업 강의 자료를 정리한 것입니다. 

 

 

 

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()"> &nbsp; 
             <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="확인완료"> &nbsp; 
			  <input type="button" value="다시쓰기" onClick="history.back()"> 
            </td>
          </tr>
        </form>
      </table>
	  </td>
  </tr>
</table>
</body>
</html>

profile

Devlog

@덩이

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그