❓ book.sql
create table book (
seq number primary key,
writer varchar2(50),
title varchar2(200),
content varchar2(4000),
regdate date
)
select * from book
delete from book
❓ bookDao.java
package test;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import model.DBConnection;
public class BookDao {
public boolean insert(Book book) {
//데이터베이스에 등록
Connection conn = DBConnection.getConnection();
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
pstmt = conn.prepareStatement("select nvl(max(seq),0) from book");
rs = pstmt.executeQuery();
rs.next();
int maxseq = rs.getInt(1);
maxseq++;
pstmt.close();
pstmt = conn.prepareStatement
("insert into book (seq, writer, title, content, regdate)"
+"values (?,?,?,?,?)");
pstmt.setInt(1, maxseq);
pstmt.setString(2, book.getWriter());
pstmt.setString(3, book.getTitle());
pstmt.setString(4, book.getContent());
// pstmt.setString(5, book.getContent());
return pstmt.executeUpdate() > 0;
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBConnection.close(conn, pstmt, rs);
}
return false;
}
}
❓ book.jsp
package test;
import java.util.Date;
public class Book {
private int seq;
private String writer;
private String title;
private String content;
private Date regdate;
}
//getter,setter
public int getSeq() {
return seq;
}
public void setSeq(int seq) {
this.seq = seq;
}
public String getWriter() {
return writer;
}
public void setWriter(String writer) {
this.writer = writer;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public Date getRegdate() {
return regdate;
}
public void setRegdate(Date regdate) {
this.regdate = regdate;
}
❓ bookForm.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%-- /src/main/webapp/test20220929/bookForm.jsp
1. db에 방명록 테이블생성하기. => book
2. test.Book Bean 클래스 생성하기
3. test.BookDao 클래스에서 내용을 등록하기
4. book.jsp 페이지 작성하기
- 입력된 내용을 db에 등록하기
- 등록된 내용을 화면에 출력하기=>(결과화면 참조)
--%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>방명록 작성</title>
<link rel="stylesheet" href="../css/main.css" >
</head>
<body>
<form action="book.jsp" method="post">
<table>
<tr><td>작성자</td>
<td><input type="text" name="writer"></td></tr>
<tr><td>제목</td>
<td><input type="text" name="title"></td></tr>
<tr><td>내용</td>
<td><textarea rows="5" cols="60" name="content"></textarea>
</td></tr>
<tr><td colspan="2">
<input type="submit" value="방명록 등록"></td></tr>
</table>
</form>
</body>
</html>
❓ book.jsp
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="test.BookDao"%>
<%@page import="test.Book"%>
<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%-- /jsp2/src/main/webapp/est20220929/book.jsp
bookForm.jsp에서 전달해준 파라미터 값 들을 db의 book 테이블에 저장기능
1. 파라미터 값을 읽어서 Book객체에 저장.
2. Book 객체를 db에 book 테이블에 저장
3. 방명록 등록 성공 : 화면 내용 출력
4. 방명록 등록 실패 : bookForm.jsp 페이지로 이동
--%>
<%
//1. 파라미터 값을 읽어서 Book 객체에 저장
request.setCharacterEncoding("UTF-8");
Book book = new Book();
book.setWriter(request.getParameter("writer"));
book.setTitle(request.getParameter("title"));
book.setContent(request.getParameter("content"));
BookDao dao = new BookDao();
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
if(dao.insert(book)) {
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>방명록 결과 보기</title>
</head>
<body>
<table><caption> 방명록 조회</caption>
<tr><td>작성자</td></tr><%=book.getWriter() %></td>
<tr><td>제목</td></tr><%=book.getTitle() %></td>
<tr><td>내용</td></tr><%=book.getContent() %></td>
<tr><td>등록일</td></tr><%=new Date() %></td>
</table>
</body>
</html>
<% } else { %>
<script>
alert("방명록 등록 실패")
location.href = 'bookForm.jsp'
</script>
<% }%>
'수업 문제(국비 지원) > JSP' 카테고리의 다른 글
| [JSP] 2022.10.06 (EL언어 문제 (if,choose 조건문), bookForm.jsp 동작하도록 book.jsp 구현하기 ) (0) | 2023.04.29 |
|---|---|
| [JSP] 2022.10.05 (회원정보 수정-이미지 변경) (0) | 2023.04.29 |
| [JSP] 2022.09.30(비밀번호 수정) (0) | 2023.04.29 |
| [JSP] 2022.09.28(출력 프로그램 만들기) (0) | 2023.04.29 |
| [JSP] 2022.09.26 (글자체 지정하기, select 태그 연습) (0) | 2023.04.29 |