Java Bean 간단 회원가입 페이지 만들기
두가지 방법으로 실습을 해보았다.
1.액션태그
2.자바
우선 액션태그 부터 보자.
<jsp:useBean id="beanslogin" class="beanslogin.Beanslogin" scope="page"/>
===============================================================================
- <jsp:useBean> 액션태그는 JSP 페이지에서 사용할 자바빈 객체를 지정해주는 기능을 한다.
<jsp:useBean id="[이름]" class="[자바빈클래스이름]" scope="[범위]"/>
<jsp:setProperty name="beanslogin" property="*"/>
*는 모든 변수를 가져온다!
<jsp:getProperty property="age" name="beanslogin"/>
<jsp:getProperty> <jsp:setProperty>
<jsp:useBean>으로 객체를 생성하면 겟셋 프로퍼티 액션태그를 사용할 수 있다.
<jsp:setProperty name="[자바빈]" property="이름" value="[값]" />
name - 프로퍼티의 값을 변경할 자바빈 객체의 이름. <jsp:useBean>액션 태그의 id속성에서 지정한 값을 사용한다.
property - 값을 지정할 프로퍼티의 이름
value - 프로퍼티의 값, 표현식을 사용할수 있다.
두번째 자바 방식으로는
객체를 생성하여
Beanslogin bean = new Beanslogin();
bean.setId(request.getParameter("id"));
이런식으로 진행하여
<%=bean.getId()%>
이렇게 출력해주었다
1.액션태그는 편하지만 체크박스를 구현하지 못한다 이유는 배열을 받지못한다.
2.는 불편하지만 배열이 가능하다!!
시연


코드를 보겠다.
주석부분은 액션태그이다
beanslogin.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head></head>
<title>내가 만든 html문서</title>
<body>
<form method="post" action="beanslogin2.jsp">
<table border="1">
<table border="1" border=skyblue" width="700" height="500" align="center">
<tr bgcolor="skyblue" align="center">
<p><td colspan="3"span style="color:rgb(0, 0, 0)">회원 기본 정보</td></p>
</tr>
<tr>
<td bgcolor="lightgray" align="center">아이디:</td>
<td><input type="text" name="id"> 4~12자의 영문 대소문자와 숫자로만 입력
</td>
</tr>
<tr>
<td bgcolor="lightgray" align="center">나이:</td>
<td><input type="text" name="age">
</td>
</tr>
<tr>
<td bgcolor="lightgray" align="center">비밀번호:</td>
<td><input type="password" name="pw"> 4~12자의 영문 대소문자와 숫자로만 입력
</td>
</tr>
<tr>
<td bgcolor="lightgray" align="center">메일주소:</td>
<td><input type="text" size="40" name="email"> <!-- 예) id@domain.com -->
</td>
</tr>
<tr>
<td bgcolor="lightgray" align="center">이름:</td>
<td><input type="text" size="40" name="name">
</td>
</tr>
<tr align ="center" bgcolor="skyblue">
<td colspan = "3"><b>개인 신상 정보</b></td>
</tr>
<tr>
<td align ="center" bgcolor="Silver">생일:</td>
<td>
<input type="text" name="year" minlength="4" maxlength="4">년
<select name="month">
<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="day">
<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 align ="center" bgcolor="Silver">관심분야:</td>
<td>
<input type="checkbox" name="fav" value="컴퓨터">컴퓨터
<input type="checkbox" name="fav" value="인터넷">인터넷
<input type="checkbox" name="fav" value="여행">여행
<input type="checkbox" name="fav" value="영화감상">영화감상
<input type="checkbox" name="fav" value="음악감상">음악감상
</td>
</tr>
<tr>
<td align ="center" bgcolor="Silver">자기소개:</td>
<td><textarea name="my" id="area" cols="60" rows="7"></textarea></td>
</tr>
<tr>
<td colspan="3" align="center"> <button type="submit" >가입정보 확인</button></td>
</tr>
</table><br><br>
</form>
</body>
</head>
</html>
beanslogin2.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%-- <jsp:useBean id="beanslogin" class="beanslogin.Beanslogin" scope="page"/>
<jsp:setProperty name="beanslogin" property="*"/> --%>
<%request.setCharacterEncoding("UTF-8");%>
<%@ page import="beanslogin.Beanslogin" %>
<%
Beanslogin bean = new Beanslogin();
bean.setId(request.getParameter("id"));
bean.setName(request.getParameter("name"));
bean.setPw(request.getParameter("pw"));
bean.setAge(Integer.parseInt(request.getParameter("age")));
bean.setSex(request.getParameter("sex"));
bean.setEmail(request.getParameter("email"));
bean.setYear(request.getParameter("year"));
bean.setMonth(request.getParameter("month"));
bean.setDay(request.getParameter("day"));
bean.setMy(request.getParameter("my"));
bean.setFav(request.getParameterValues("fav"));
/* private String year;
private String month;
private String day;
private String[] fav; */
%>
<!DOCTYPE html>
<html>
<head></head>
<title>내가 만든 html문서</title>
<body>
<div class="background">
<table border="1">
<table border="1" border=skyblue" width="700" height="500" align="center">
<tr bgcolor="skyblue" align="center">
<p><td colspan="3"span style="color:rgb(0, 0, 0)">회원 기본 정보</td></p>
</tr>
<tr>
<td bgcolor="lightgray" align="center">아이디:</td>
<td><%-- <jsp:getProperty property="id" name="beanslogin"/> --%>
<%=bean.getId()%> 4~12자의 영문 대소문자와 숫자로만 입력
</td>
</tr>
<tr>
<td bgcolor="lightgray" align="center">나이:</td>
<td><%-- <jsp:getProperty property="age" name="beanslogin"/> --%>
<%=bean.getAge()%>
</td>
</tr>
<tr>
<td bgcolor="lightgray" align="center">비밀번호:</td>
<td><%-- <jsp:getProperty property="pw" name="beanslogin"/> --%>
<%=bean.getPw()%>4~12자의 영문 대소문자와 숫자로만 입력
</td>
</tr>
<tr>
<td bgcolor="lightgray" align="center">메일주소:</td>
<td><%-- <jsp:getProperty property="email" name="beanslogin"/> --%>
<%=bean.getEmail()%><!-- 예) id@domain.com -->
</td>
</tr>
<tr>
<td bgcolor="lightgray" align="center">이름:</td>
<td><%-- <jsp:getProperty property="name" name="beanslogin"/> --%>
<%=bean.getName()%>
</td>
</tr>
<tr>
<td>생일</td>
<td>
<%-- <jsp:getProperty name="beanslogin" property="year"/>년
<jsp:getProperty name="beanslogin" property="month"/>월
<jsp:getProperty name="beanslogin" property="day"/>일 --%>
<%=bean.getYear()%>
<%=bean.getMonth()%>
<%=bean.getDay()%>
</td>
</tr>
<tr>
<td>관심분야</td>
<td>
<%
String[] arr = bean.getFav();
for(String s : arr){
out.write(s + " ");
}
%>
</td>
</tr>
<tr>
<td>자기소개</td>
<td><%-- <jsp:getProperty name="beanslogin" property="my"/> --%>
<%=bean.getMy()%>
</td>
</tr>
</table>
</div>
</body>
</head>
</html>
Beanslogin.java
package beanslogin;
public class Beanslogin {
private String id;
private String pw;
private String name;
private String sex;
private int age;
private String email;
private String year;
private String month;
private String day;
private String[] fav;
private String my;
public String getMy() {
return my;
}
public void setMy(String my) {
this.my = my;
}
public String getYear() {
return year;
}
public void setYear(String year) {
this.year = year;
}
public String getMonth() {
return month;
}
public void setMonth(String month) {
this.month = month;
}
public String getDay() {
return day;
}
public void setDay(String day) {
this.day = day;
}
public String[] getFav() {
return fav;
}
public void setFav(String[] fav) {
this.fav = fav;
}
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 getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
출처: https://pjh3749.tistory.com/75 [JayTech의 기술 블로그:티스토리]