표현 언어와 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> </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로 요청합니다. 회원 가입창에서 파일 정보를 입력한 후 가입하기를 클릭합니다.

'프로그래밍 언어 > 자바 웹' 카테고리의 다른 글
| 파일 업로드 관련 API (0) | 2026.04.13 |
|---|---|
| JSP에서 파일 업로드 (1) | 2026.04.11 |
| 문자열 처리 함수 사용하기 (1) | 2026.04.05 |
| 포매팅 태그 라이브러리 사용 실습 (0) | 2026.04.02 |
| 포매팅 태그 라이브러리 (1) | 2026.03.30 |