today_is
[ jsp ] 단순한 도서 관리 본문
오늘의 목표
여러 페이지를 이용하여 사용자에게 데이터를 입력받고, 데이터 삭제, 추가 등의 기능을 처리해보자
index.jsp | add.jsp | add-action.jsp | delete.jsp | list.jsp | view.jsp | view-show.jsp |
대문페이지 | 도서 추가 (사용자에게 보여줄 입력 폼) |
도서 추가 (데이터처리) |
도서 삭제 | 목록 | 개별 보기 (자바 코드 부분 : 사용자에게는 보여지지 않음) |
개별 보기 (출력 부분 : 사용자가 보는 화면) |
index.jsp
: 대문페이지
index 페이지에서는 a 태그를 이용하여 도서 목록이 있는 list 페이지로 이동시키기
[ add.jsp ]
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>index</title>
<style>
</style>
</head>
<body>
<h1>Book</h1>
<hr>
<a href="list.jsp"><button>도서 관리 프로그램</button></a>
</body>
</html>
list.jsp
: 현재 있는 도서 목록들을 보여준다
사용자는 이 페이지를 보면서 도서 추가 및 삭제를 할때 참고 가능
list.jsp 에서 dao 객체를 application에 attribute로 등록
<%@page import="book.BookDTO"%>
<%@page import="book.BookDAO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>list.jsp</title>
</head>
<body>
<h1>도서 목록</h1>
<hr>
<p>
<a href="add.jsp"><button>도서 추가</button></a>
</p>
<table border="1" cellpadding="10" cellspacing="0">
<thead>
<tr bgcolor="#dadada">
<th>번호</th>
<th>제목</th>
<th>저자</th>
<th>출판사</th>
<th>출판일자</th>
</tr>
</thead>
<tbody>
<%
BookDAO dao = (BookDAO) application.getAttribute("dao");
if(dao == null) {
dao = new BookDAO();
application.setAttribute("dao", dao);
}
for(BookDTO dto : dao.selectList()) {
%>
<tr>
<td><%=dto.getIdx() %></td>
<td>
<a href="view.jsp?idx=<%=dto.getIdx()%>">
<%=dto.getTitle() %>
</a>
</td>
<td><%=dto.getAuthor() %></td>
<td><%=dto.getPublisher() %></td>
<td><%=dto.getPublishDate() %></td>
</tr>
<%
}
%>
</tbody>
</table>
</body>
</html>
사용자에게 보여줄 화면
: add.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>add.jsp</title>
</head>
<body>
<h1>도서 추가</h1>
<hr>
<form action="add-action.jsp">
<p><input type="text" name="title" placeholder="제목" required autofocus></p>
<p><input type="text" name="author" placeholder="저자" required></p>
<p><input type="text" name="publisher" placeholder="출판사" required></p>
<p><input type="date" name="publishDate" required> (출판일자)</p>
<p><input type="submit"></p>
</form>
</body>
</html>
실제 사용자에게 보여질 폼(add.jsp)