Web/Jsp&Struts

Java Bean의 3가지 유형 ( 3 types of Java Bean )

푸른빛이리 2009. 7. 10. 18:03

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> 

sample.alz

Mem_Data.java


[출처]
okjsp.pe.kr - 재키님의 글