프로그래밍 언어/자바 웹

유즈빈 액션 태그를 이용한 회원 정보 조회 실습

· 코딩마이데이

자바 빈 코드로 이루어진 자바 빈을 자주 사용할 경우 화면이 복잡해진다는 단점이 있습니다. 이처럼 단점을 보완하기 위해 나온 것이 유즈빈 액션 태그입니다.

유즈빈 액션 태그는 JSP 페이지에서 자바 빈을 대체하기 위한 태그로, 사용 형식은 다음과 같습니다.

<jsp:useBean id="빈 이름" class="패키지 이름을 포함한 자바 빈 클래스 [scope="접근범위"] />

여기서 id는 JSP 페이지에서 자바 빈 개체에 접근할 때 사용할 이름을 의미합니다, class 패키지 이름을 포함한 자바 빈 이름을, scope는 자바 빈에 대한 접근 범위를 지정하는 역할을 합니다 (page, request, session, application를 가지며 기본값은 page입니다).

 

1. 다음과 같이 실습 파일 member2.jsp를 추가합니다.

실습 파일 위치

 

2. member2.jsp를 다음과 같이 작성합니다. 회원 가입 및 조회 시 MemberBean 클래스에 대해 유즈빈 액션 태그를 사용하려면 먼저 <jsp:useBean> 액션 태그를 이용하여 MemberBean 클래스에 대해 id가 m인 빈을 생성합니다. 이는 직접 자바 코드로 MemberBean 객체를 생성하는 것과 같은 역할을 합니다. 그런 다음 자바 코드에서 빈 id인 m을 이용해 회원 가입 창에서 전달된 회원 정보를 setter를 통해 빈 속성에 설정합니다.

<%@ page language="java"   contentType="text/html; charset=UTF-8"
     import="java.util.*, sec01.ex01.*" 
    pageEncoding="UTF-8"%>
<%
  request.setCharacterEncoding("UTF-8");
%>    

<jsp:useBean id="m" class="sec01.ex01.MemberBean" scope="page" />

<%
   String  id =request.getParameter("id");
   String  pwd = request.getParameter("pwd");
   String  name = request.getParameter("name");
   String  email = request.getParameter("email");
 
  
   // MemberBean  m =  new MemberBean(id, pwd, name, email);
   m.setId(id);
   m.setPwd(pwd);
   m.setName(name);
   m.setEmail(email);
   
   MemberDAO  memberDAO=new MemberDAO();
   memberDAO.addMember(m);
   List membersList = memberDAO.listMembers();	
%>
<!DOCTYPE html>
<html>
<head>
<head>
  <meta charset="UTF-8">
  <title>회원 목록창</title>
</head>
<body>
  <table align="center"  width="100%">
	 <tr align="center" bgcolor="#99ccff">
	      <td width="7%" >아이디</td>
	      <td width="7%">비밀번호</td>
	      <td width="5%" >이름</td>
	      <td width="11%" >이메일</td>
	      <td width="5%" >가입일</td>
	   </tr>
<%
	if (membersList.size() == 0) {
%>
<tr>
	      <td colspan="5">
	        <p align="center"><b><span style="font-size:9pt;">
	                      등록된 회원이  없습니다.</span></b></p>
	      </td>
	  </tr>
	<%
	}else{
	   for( int i = 0; i < membersList.size(); i++ ) {
	      MemberBean bean = (MemberBean) membersList.get(i);
	%>
	   <tr align="center">
	       <td><%=bean.getId() %></td>
	       <td><%=bean.getPwd() %></td>
	       <td><%=bean.getName() %></td>
	       <td><%=bean.getEmail() %></td>
	       <td><%=bean.getJoinDate() %></td>
	   </tr>
	<%
	      } // end for
	
	   } // end if
	%>
	   <tr height="1" bgcolor="#99ccff">
	      <td colspan="5"></td>
	   </tr>
	</table>
</body>
</html>

 

3. 마찬가지로 http://localhost:8090/pro13/memberForm.html로 요청하여 회원 가입창에 회원 정보를 입력하고 가입하기를 클릭합니다.

회원 정보 입력 후 가입하키 클릭

 

4. 자바 빈을 사용했을 때와 마찬가지로 추가된 새 회원과 함께 회원 목록을 출력합니다.

회원 등록 후 회원 목록 출력

 

눈으로 보는 출력 결과는 같지만 유즈빈 액션 태그를 사용하지 않고도 JSP 페이지에서 처리할 수 있다는 점에서 효율적입니다.