[Jsp] 자바빈을 사용한 회원가입

자바빈이란? 

자신이 사용하고싶은 데이터를 클래스화 시켜 그 클래스에 값을 넣어두고 활용하는 기법을 말합니다..

 

 JavaBean 문법  

<jsp:useBean/>

<jsp:useBean id="빈 이름" class="자바빈 클래스 명" scope="사용 범위/>

<jsp:setProperty/>

<jsp:setProperty name="빈 이름" property="속성명" value="설정할 속성 값"/>

전송받은 파라메타이름이 빈 객체의 속성명과 모두 같을 경우 문법

<jsp:setProperty name="빈 이름" property="*"/> 

(개인적으로 자바빈을 사용할 때 가장 편리한 기능이라 생각합니다.) 

자바빈을 실제로 어떻게 쓰는지 예제를 통해서 알아보도록 하겠습니다.

예제는 자바빈을 사용한 회원가입을 준비해왔습니다.

 

 JavaBean 예제 

BeanJava.java

public class BeanJava {
    String id;
    String pw;
    String email;
    String mynum;
    String birth;
    String favorit;
    String content;
    public String getId() {
	 return id;
    }
    public void setId(String id) {
	this.id = id;
    }
    public String getPw() {
	return pw;
    }
    public void setPw(String pw) {
	this.pw = pw;
    }
    public String getEmail() {
	return email;
    }
    public void setEmail(String email) {
	this.email = email;
    }
    public String getMynum() {
	return mynum;
    }
    public void setMynum(String mynum) {
	this.mynum = mynum;
    }
    public String getBirth() {
	return birth;
    }
    public void setBirth(String birth) {
	this.birth = birth;
    }
    public String getFavorit() {
	return favorit;
    }
    public void setFavorit(String favorit) {
	this.favorit = favorit;
    }
    public String getContent() {
	return content;
    }
    public void setContent(String content) {
	this.content = content;
    }
}

자바빈1

위와 같은 경로에 만들어주면 됩니다.

 

Join.jsp

<style type="text/css">
   table,th,td{
      border-style: solid;
      border-color: #CC3D3D;
      border-width: 1px;
      border-collapse: collapse;
   }
</style>

<form action="input.jsp" method="post">
<form action="MAILTO:wjdxo513@naver.com" method="post" enctype="text/plain"> //폼태그 액션에 MAILTO 경로를 써준다.
<table align="center" width="700pt" border="1" cellspacing="0" cellpadding="0"><tr>
    <td colspan="2" align="center" bgcolor="red" height="40" style="color:white"><b>회원 기본 정보</b></td>
</tr>
<tr>
    <td bgcolor="pink">아이디 :</td>
    <td><input type="text"> 4~12자의 영문 대소문자와 숫자로만 입력</td>
</tr>
    <tr>
    <td bgcolor="pink" style="height: 24px;">비밀번호 :</td> 
    <td style="height: 24px;"><input type="password"> 4~12자의 영문 대소문자와 숫자로만 입력</td>
</tr>
<tr>
    <td bgcolor="pink">비밀번호확인 :</td>
    <td><input type="password"> 4~12자의 영문 대소문자와 숫자로만 입력</td>
</tr>
<tr>
    <td bgcolor="pink">메일주소 :</td>
    <td><input type="text"> 예)id@domain.com</td>
</tr>
<tr>
    <td colspan="2" align="center" bgcolor="red" height="40" style="color:white"><b>개인 신상 정보</b></td>
</tr>
<tr>
    <td bgcolor="pink">주민등록번호 :</td>
    <td><input type="text">예)1234561234567</td>
</tr>
<tr>
    <td bgcolor="pink">생일 :</td>
    <td><input type="text">년
	<select name="월">
	   <option value="1">1</option>
	   <option value="2">2</option>
	   <option value="3">3</option>
	   <option value="4">4</option>
	   <option value="5">5</option>
	   <option value="6">6</option>
	   <option value="7">7</option>
	   <option value="8">8</option>
           <option value="9">9</option>
	   <option value="10">10</option>
	   <option value="11">11</option>
	   <option value="12">12</option>	
        </select>월
	<select name="일">
	   <option value="1">1</option>
	   <option value="2">2</option>
	   <option value="3">3</option>
	   <option value="4">4</option>
	   <option value="5">5</option>
	   <option value="6">6</option>
	   <option value="7">7</option>
	   <option value="8">8</option>
	   <option value="9">9</option>
	   <option value="10">10</option>
	   <option value="11">11</option>
	   <option value="12">12</option>	
	   <option value="13">13</option>
	   <option value="14">14</option>
	   <option value="15">15</option>
	   <option value="16">16</option>
	   <option value="17">17</option>
	   <option value="18">18</option>
	   <option value="19">19</option>
	   <option value="20">20</option>
	   <option value="21">21</option>
	   <option value="22">22</option>
	   <option value="23">23</option>
	   <option value="24">24</option>
	   <option value="25">25</option>
	   <option value="26">26</option>
	   <option value="27">27</option>
	   <option value="28">28</option>
	   <option value="29">29</option>
	   <option value="30">30</option>
	   <option value="31">31</option>
        </select>일
   </td>
</tr>
<tr>
   <td bgcolor="pink">관심분야 :</td>
   <td>
       <input type="checkbox" name="like" value="computer">컴퓨터
       <input type="checkbox" name="like" value="internet">인터넷
       <input type="checkbox" name="like" value="trv">여행
       <input type="checkbox" name="like" value="movie">영화감상
       <input type="checkbox" name="like" value="music">음악감상
    </td>
</tr>
<tr>
    <td bgcolor="pink">자기소개 :</td>
    <td><textarea cols="85" rows="10"></textarea></td>
</tr>
</table>
<br/>
<center>
<input type="submit" value="회원 가입">
<input type="reset" value="다시 입력">
</center>
</form>

회원가입 정보를 입력하는 join.jsp

 

input.jsp

<jsp:usebean id="beanjava" class="day5.BeanJava" scope="session">
<jsp:setproperty name="beanjava" property="*">
 //위에 보이시는 코드 한줄만 써주면 앞선페이지에서 request로 받은 값이 자동으로 javabean에 들어가게됩니다.
<script language="javascript">
function start(){
    alert("결과창 뽑기");
}
<input type="button" value="결과" onclick="location.href="output.jsp"">

실질적으로 자바빈에 값을 집어넣는 input.jsp

 

output.jsp

이름<jsp:getproperty name="beanjava" property="id"><br/>
비번<jsp:getproperty name="beanjava" property="pw"><br/>
이메일<jsp:getproperty name="beanjava" property="email"><br/>
주민<jsp:getproperty name="beanjava" property="mynum"><br/>
생일<jsp:getproperty name="beanjava" property="birth"><br/>
선호<jsp:getproperty name="beanjava" property="favorit"><br/>
내용<jsp:getproperty name="beanjava" property="content"><br/>

자바빈에 들어간 값을 확인하는 output.jsp

 

이렇게 소스를 붙여 넣고 실행을 해보면 join.jsp에서 회원가입을 한 정보를 자바빈에 담아서 output.jsp에 출력이 잘 될 것입니다.

 

댓글

Designed by JB FACTORY