Java Bean의 3가지 유형 ( 3 types of Java Bean )
1.request.getParameter 이용
: 클라이언트 페이지에서 발생하는 데이터를 서버 페이지에서 받았다.(getParameter)
<%@ page contentType="text/html; charset=euc-kr" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%@ page import="com.ex1.beans.*" %>
<jsp:useBean id="data" scope="page" class="com.ex1.beans.Mem_Data"/>
<html>
<head>
<title>자바 빈즈 활용 예제 #1</title>
</head>
<body>
<%
//전달 받은 값을 저장할 객체 생성
//Mem_Data data = new Mem_Data();
//setter 메소드에 의해서 넘겨 받은값 저장
data.setName(request.getParameter("name"));
data.setId(request.getParameter("id"));
data.setPwd(request.getParameter("pwd"));
data.setEmail(request.getParameter("email"));
//전달 받은 값 출력
out.println("<h3>전달 받은 값</h3>");
out.println("성명 : " + data.getName() + " <br>");
out.println("아이디 : " + data.getId() + " <br>");
out.println("비밀번호 : " + data.getPwd() + " <br>");
out.println("이메일 : " + data.getEmail() + " <br>");
%>
<!--3초 후 sample1.jsp 페이지로 이동 -->
<meta http-equiv="REFRESH" content="3;url=./sample1.jsp">
</body>
</html>
2.<jsp:setProperty name="ID" property="속성이름"/> 이용
: Action Tag를 통해서 ID와 속성이름을 설정해서 처리.
<%@ page contentType="text/html; charset=euc-kr" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%@ page import="com.ex1.beans.*" %>
<jsp:useBean id="data" scope="page" class="com.ex1.beans.Mem_Data">
<jsp:setProperty name="data" property="name"/>
<jsp:setProperty name="data" property="id"/>
<jsp:setProperty name="data" property="pwd"/>
<jsp:setProperty name="data" property="email"/>
</jsp:useBean>
<html>
<head>
<title>자바 빈즈 활용 예제 #2</title>
</head>
<body>
<h3>전달 받은 값</h3>
성명 : <jsp:getProperty name="data" property="name"/> <br>
아이디 : <jsp:getProperty name="data" property="id"/> <br>
비밀번호 : <jsp:getProperty name="data" property="pwd"/> <br>
이메일 : <jsp:getProperty name="data" property="email"/> <br>
<!--3초 후 sample1.jsp 페이지로 이동 -->
<meta http-equiv="REFRESH" content="3;url=./sample2.jsp">
</body>
</html>
3.<jsp:setProperty name="ID" property="*"/> 이용
: 파라미터 변수 이름(HTML Input 태그의 name 속성)과 데이터 타입을 가지고 있는 Mem_Data 빈의 멤버필드 이름을 일치하게 작성 하였을때 처리.
- 위의 2가지 방법보다 훨씬 효율적인 코딩 방법이다.
- 클라이언트 페이지에서 넘어오는 데아터를 자동으로 생성된 빈의 각각 멤버필드에 자동으로 설정한다.
<%@ page contentType="text/html; charset=euc-kr" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%@ page import="com.ex1.beans.*" %>
<jsp:useBean id="data" scope="page" class="com.ex1.beans.Mem_Data"/>
<jsp:setProperty name="data" property="*"/>
<html>
<head>
<title>자바 빈즈 활용 예제 #3</title>
</head>
<body>
<%
//전달 받은 값 출력
out.println("<h3>전달 받은 값</h3>");
out.println("성명 : " + data.getName() + " <br>");
out.println("아이디 : " + data.getId() + " <br>");
out.println("비밀번호 : " + data.getPwd() + " <br>");
out.println("이메일 : " + data.getEmail() + " <br>");
%>
<!--3초 후 sample1.jsp 페이지로 이동 -->
<meta http-equiv="REFRESH" content="3;url=./sample3.jsp">
</body>
</html>
[참고] ‘request.getParameter 이용’ 소스에서
아래와 같이 수정해서 한번 실행해 보기 바란다.
<jsp:useBean id="data" scope="page" class="com.ex1.beans.Mem_Data"/> --> 삭제
Mem_Data data = new Mem_Data(); -- 추가
<%@ page contentType="text/html; charset=euc-kr" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%@ page import="com.ex1.beans.*" %>
<html>
<head>
<title>자바 빈즈 활용 예제 #1</title>
</head>
<body>
<%
//전달 받은 값을 저장할 객체 생성
Mem_Data data = new Mem_Data();
//setter 메소드에 의해서 넘겨 받은값 저장
data.setName(request.getParameter("name"));
data.setId(request.getParameter("id"));
data.setPwd(request.getParameter("pwd"));
data.setEmail(request.getParameter("email"));
//전달 받은 값 출력
out.println("<h3>전달 받은 값</h3>");
out.println("성명 : " + data.getName() + " <br>");
out.println("아이디 : " + data.getId() + " <br>");
out.println("비밀번호 : " + data.getPwd() + " <br>");
out.println("이메일 : " + data.getEmail() + " <br>");
%>
<!--3초 후 sample1.jsp 페이지로 이동 -->
<meta http-equiv="REFRESH" content="3;url=./sample1.jsp">
</body>
</html>