프로그래밍 언어/자바 웹

표현 언어와 JSTL을 이용한 회원 관리 실습

· 코딩마이데이

1. sec02.ex01 패키지를 만들고 13장에서 사용한 MemberBean 클래스와 MemberDAO 클래스를 복사해 붙여 넣습니다. 그리고 test06 폴더를 member_action.jsp, memberForm.jsp, memberList.jsp를 생성합니다.

실습 파일 위치

 

 

2. memberForm.jsp를 다음과 같이 작성합니다. 회원 가입창에서 회원 정보를 입력한 후 action의 member_action.jsp로 전송합니다.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
   <meta charset="UTF-8">
   <title>회원 등록창</title>
<body>
	<form method="post"   action="member_action.jsp">
		<h1  style="text-align:center">회원 등록창</h1>
		<table  align="center">
		    <tr>
		       <td width="200"><p align="right">아이디</td>
		       <td width="400"><input type="text" name="id"></td>
		    </tr>
		    <tr>
		        <td width="200"><p align="right">비밀번호</td>
		        <td width="400"><input type="password"  name="pwd"></td>
		    </tr>
		    <tr>
		        <td width="200"><p align="right">이름</td>
		        <td width="400"><p><input type="text"  name="name"></td>
		    </tr>
		    <tr>
		        <td width="200"><p align="right">이메일</td>
		        <td width="400"><p><input type="text"  name="email"></td>
		    </tr>
		    <tr>
		        <td width="200"><p>&nbsp;</p></td>
		        <td width="400">
			<input type="submit" value="가입하기">
			<input type="reset" value="다시입력">
		  </td>
		    </tr>
		</table>
	</form>
</body>
</html>

 

3. member_action.jsp를 다음과 같이 작성합니다. member_action.jsp는 화면 기능을 수행하지 않고 데이터베이스 연동 기능만 수행합니다. 회원 정보를 추가한 후 다시 회원 정보를 조회하고, 조회한 회원 정보를 requests에 바인딩한 후 memberList.jsp로 포워딩합니다.

<%@ page language="java" contentType="text/html; charset=UTF-8"
     import=" java.util.*,sec02.ex01.*"
    pageEncoding="UTF-8"
    isELIgnored="false" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>    
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
  request.setCharacterEncoding("UTF-8");
%>    
<html>
<head>
<meta charset="TF-8">
<jsp:useBean  id="m" class="sec02.ex01.MemberBean" />
<jsp:setProperty name="m" property="*"  />
<%
   MemberDAO memDAO=new MemberDAO();
   memDAO.addMember(m);
   List membersList =memDAO.listMembers();
   request.setAttribute("membersList", membersList);
%> 
</head>
<body>
<jsp:forward  page="membersList.jsp" />
</body>
</html>

 

4. memberList.jsp를 다음과 같이 작성합니다. 자바 코드를 이용하지 않고 표현 언어와 JSTL만 사용하여 회원 정보를 표시합니다.

<%@ page language="java" contentType="text/html; charset=UTF-8"
     import="java.util.*, sec02.ex01.*"
    pageEncoding="UTF-8"
    isELIgnored="false" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>    
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
  request.setCharacterEncoding("UTF-8");
%>    
<html>
<head>
<meta charset=”UTF-8">
<title>회원 정보 출력창</title>
</head>
<body>
<table align="center" border=”1” align="center" >
   <tr align="center" bgcolor="lightgreen" >
      <td width="7%" ><b>아이디</b></td>
      <td width="7%" ><b>비밀번호</b></td>
      <td width="7%" ><b>이름</b></td>
      <td width="7%"><b>이메일</b></td>
      <td width="7%" ><b>가입일</b></td>
   </tr>  
<c:choose>
<%--
 ArrayList list =request.getAttribute("membersList");
--%>
<c:when test="${ membersList==null}" >
   <tr>
    <td colspan=5>
      <b>등록된 회원이 없습니다.</b>
    </td>  
  </tr>
</c:when>  
<c:when test="${membersList!= null}" >
  <c:forEach  var="mem" items="${membersList }" >
   <tr align="center">
     <td>${mem.id }</td>
     <td>${mem.pwd}</td>
     <td>${mem.name}</td>     
     <td>${mem.email}</td>     
     <td>${mem.joinDate}</td>     
   </tr>
   </c:forEach>
</c:when>
</c:choose>
</table>  
</body>
</html>

 

5. http://localhost:8080/pro14/test06/memberForm.jsp로 요청합니다. 회원 가입창에서 파일 정보를 입력한 후 가입하기를 클릭합니다.

회원가입창에서 회원 정보 입력 후 가입하기 클릭