에러 탈출 일지
[JSP] 자바빈(JavaBean)을 이용한 예제(사용자 정보 입력 페이지) 본문
< 자바빈(JavaBean) >
- JSP에서 사용하는 자바로 작성된 클래스
< 자바빈의 규칙 >
1. public으로 선언된 클래스이어야 한다.
2. 멤버변수는 private 선언하여야 한다.
3. public으로 선언된 getter/setter 메소드를 선언하여야 한다.
4. 생성자는 디폴트 생성자를 사용해야 한다. 생성자 오버로딩은 사용하지 않는다.
< 자바빈의 용어 >
- 자바 클래스 → 자바빈
- 멤버 변수 → 프로퍼티(property)
< 자바빈의 활용 >
- 프로퍼티는 폼의 입력태그의 name과 일치해야 한다.
파일 생성
ClubUser.java
From.jsp
Pro.jsp
package club;
// 자바빈 생성 → 자바 클래스
public class ClubUser {
private String id;
private String pwd;
private String name;
private int age;
private String tel;
private String email;
private String addr;
// 프로퍼티명에 따른 getter/setter 생성
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 int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getAddr() {
return addr;
}
public void setAddr(String addr) {
this.addr = addr;
}
}
// Form 파일
<body>
<h2>사용자 클럽 정보 입력 폼 페이지</h2>
<form action="beanTest04Pro.jsp" method="post">
아이디: <input type="text" name="id"><br>
비밀번호: <input type="password" name="pwd"><br>
이름: <input type="text" name="name"><br>
나이: <input type="text"name="age"><br>
전화번호: <input type="text" name="tel"><br>
이메일: <input type="text" name="email"><br>
주소: <input type="text" name="addr"><br>
<input type="submit" value="입력완료"><br>
</form>
</body>
※ 비밀번호는 input type="password"
< 1. 객체 생성 >
// Pro 파일
<body>
<h2>클럽 정보 처리 페이지</h2>
<% request.setCharacterEncoding("utf-8"); %> // 한글 깨짐 해결
<%--1. 객체 생성 --%>
<%-- class = "패키지명.파일명" --%>
<jsp:useBean id="clubUser" class="club.ClubUser"></jsp:useBean>
< 2. 프로퍼티에 파라미터 값을 삽입 > 방법 3 가지 中 택 1
<%--2-1. clubBean 객체에 property의 파라미터의 값을 삽입, setter 메소드 호출 --%>
<%-- setter에 프로퍼티 값 삽입 --%>
<jsp:setProperty property="id" name="clubUser"/>
<jsp:setProperty property="pwd" name="clubUser"/>
<jsp:setProperty property="name" name="clubUser"/>
<jsp:setProperty property="age" name="clubUser"/>
<jsp:setProperty property="tel" name="clubUser"/>
<jsp:setProperty property="email" name="clubUser"/>
<jsp:setProperty property="addr" name="clubUser"/>
--%>
<%--2-2. clubBean 객체에 property의 파라미터의 값을 삽입, setter 메소드 호출 --%>
<%--(1) * : 자바빈의 프로퍼티와 입력 태그에 name이 일치할 때 사용 --%>
<jsp:setProperty property="*" name="clubUser"/>
<%--(2) 프로퍼티와 파라미터의 값이 일치하지 않을 때: 따로 써서 일치 시켜주기--%>
<jsp:setProperty property="id" param="sid" name="testBean"/>
<jsp:setProperty property="name" param="sname" name="testBean"/>
(2) 프로퍼티(getter/setter명)와 파라미터의 값(입력 태그 name)이 일치 하지 않을 때, param을 사용하여 일치 시켜준다.
< 3. 프로퍼티의 값을 출력 >
테이블 생성해서 출력 페이지 만들어주기
<%-- 3. clubUser 객체에 property의 파라미터의 값을 받음, getter 메소드 호출 --%>
<%-- getter을 이용하여 프로퍼티 값을 꺼내오기 --%>
<table border="1">
<tr>
<th>아이디</th>
<td><jsp:getProperty property="id" name="clubUser"/></td>
</tr>
<tr>
<th>비밀번호</th>
<td> <jsp:getProperty property="pwd" name="clubUser"/></td>
</tr>
<tr>
<th>이름</th>
<td><jsp:getProperty property="name" name="clubUser"/></td>
</tr>
<tr>
<th>나이</th>
<td><jsp:getProperty property="age" name="clubUser"/></td>
</tr>
<tr>
<th>전화번호</th>
<td><jsp:getProperty property="tel" name="clubUser"/></td>
</tr>
<tr>
<th>이메일</th>
<td><jsp:getProperty property="email" name="clubUser"/></td>
</tr>
<tr>
<th>주소</th>
<td><jsp:getProperty property="addr" name="clubUser"/></td>
</tr>
</table>
</body>
'개발 > JSP' 카테고리의 다른 글
[JSP] session객체를 이용한 로그인 페이지 만들기 (0) | 2022.10.23 |
---|---|
[JSP] cookie (0) | 2022.10.23 |
[JSP] 액션 태그(Action Tag) 를 이용한 예제 (0) | 2022.10.21 |
[JSP] application, pageContext (0) | 2022.10.21 |
[JSP] out, config 내장 객체 (0) | 2022.10.20 |