728x90
MVC
<%@page import="board.BoardDAO"%>
<%@page import="board.BoardDTO"%>
<%@page import="java.sql.Timestamp"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>board/01writePro.jsp</title>
</head>
<body>
<h1>board/writePro.jsp</h1>
<%
//사용자가 입력한 글 내용을 서버에 전달하면 request 저장
//requset 한글처리
request.setCharacterEncoding("utf-8");
//request에서 파라미터(태그)값(name, subject, content)을 가져와서 변수에 저장
String name = request.getParameter("name");
String subject = request.getParameter("subject");
String content = request.getParameter("content");
//num, readcount, date 구하기
int num = 1;
//조회수(readcount) 초기값은 0
int readcount = 0;
//날짜(date) 현 시스템 날짜 설정
Timestamp date = new Timestamp(System.currentTimeMillis());
//게시판내용을 저장하는 자바파일 준비
//폴더(패키지) board 파일이름 BoardDTO
//멤버변수 정의(private) 데이터 은닉 → 접근할 수 있는 setter, getter생성
//BoardDTO 객체생성(기억장소 할당)
//set메소드 호출(멤버 변수 기억장소에 파라미터(태그)값을 저장)
BoardDTO boardDTO = new BoardDTO();
System.out.println("BoardDTO 주소 : " + boardDTO);
boardDTO.setName(name);
boardDTO.setSubject(subject);
boardDTO.setContent(content);
boardDTO.setNum(num);
boardDTO.setReadcount(readcount);
boardDTO.setDate(date);
//게시판 데이터베이스 작업을 하는 자바파일준비
//폴더(패키지) board 파일이름 BoardDAO
//리턴값 없음 insertBoard(MemberDTO 변수) 메소드 정의()
//Board DAO 객체생성
//insertBoard(BoardDTO 주소) 메소드 호출
BoardDAO boardDAO = new BoardDAO();
System.out.println("BoardDAO 주소 : " + boardDAO);
boardDAO.insertBoard(boardDTO);
//글목록 이동
response.sendRedirect("list.jsp");
%>
</body>
</html>
BoardDAO
public int getMaxNum() {
int num = 0;
try {
Connection con = getConnection();
String sql = "select max(num) from board";
PreparedStatement ps = con.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
if(rs.next()) {
num = rs.getInt("max(num)");
}
} catch (Exception e) {
e.printStackTrace();
}
return num;
}
<%@page import="board.BoardDAO"%>
<%@page import="board.BoardDTO"%>
<%@page import="java.sql.Timestamp"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>board/writePro.jsp</title>
</head>
<body>
<h1>board/writePro.jsp</h1>
<%
(...중략...)
//BoardDAO 객체생성(기억장소 할당)
BoardDAO boardDAO = new BoardDAO();
// int 리턴할형 getMaxNum() 메서드 정의
// num, readcount, date 구하기
// max(num) + 1
int num = boardDAO.getMaxNum() + 1;
(...생략...)
BoardDAO
public ArrayList<BoardDTO> getBoardList(){
System.out.println("BoardDAO getBoardList()");
ArrayList<BoardDTO> boardList = new ArrayList<BoardDTO>();
try {
Connection con = getConnection();
String sql = "select * from board";
PreparedStatement ps = con.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while(rs.next()) {
//num, name, subject, readCount, date를 boardList에 대입
BoardDTO boardDTO = new BoardDTO();
boardDTO.setNum(rs.getInt("num"));
boardDTO.setName(rs.getString("name"));
boardDTO.setSubject(rs.getString("subject"));
boardDTO.setReadcount(rs.getInt("readCount"));
boardDTO.setContent(rs.getString("content"));
boardDTO.setDate(rs.getTimestamp("date"));
boardList.add(boardDTO);
}
} catch (Exception e) {
e.printStackTrace();
}
return boardList;
}
<%@page import="board.BoardDTO"%>
<%@page import="java.util.ArrayList"%>
<%@page import="com.mysql.cj.exceptions.RSAException"%>
<%@page import="board.BoardDAO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>board/02list.jsp</title>
</head>
<body>
<%
//BoardDAO 객체생성
BoardDAO boardDAO = new BoardDAO();
//ArrayList<BoardDTO> 리턴할 형, getBoardList() 메소드 정의
//ArrayList<BoardDTO> boardList = getBoardList() 메소드 호출
ArrayList<BoardDTO> boardList = boardDAO.getBoardList();
%>
<h1>board/list.jsp</h1>
<h1>게시판 글 목록</h1>
<table border="1">
<tr><td>글 번호</td><td>글쓴이</td><td>제목</td><td>조회수</td><td>작성일</td></tr>
<%
for(int i = 0 ; i < boardList.size(); i++){
BoardDTO boardDTO = boardList.get(i);
%>
<tr><td><%=boardDTO.getNum() %></td>
<td><%=boardDTO.getName() %></td>
<td><a href="content.jsp"><%=boardDTO.getSubject() %></a></td>
<td><%=boardDTO.getReadcount() %></td>
<td><%=boardDTO.getDate() %></td></tr>
<%}%>
</table>
</body>
</html>
BoardDAO
public BoardDTO getBoard(int num) {
System.out.println("BoardDAO getBoard()");
BoardDTO boardDTO = new BoardDTO();
try {
Connection con = getConnection();
String sql = "select * from board where num=?";
PreparedStatement ps = con.prepareStatement(sql);
ps.setInt(1, num);
ResultSet rs = ps.executeQuery();
if(rs.next()) {
boardDTO.setNum(rs.getInt("num"));
boardDTO.setName(rs.getString("name"));
boardDTO.setReadcount(rs.getInt("readCount"));
boardDTO.setDate(rs.getTimestamp("date"));
boardDTO.setSubject(rs.getString("subject"));
boardDTO.setContent(rs.getString("content"));
}
} catch (Exception e) {
e.printStackTrace();
}
return boardDTO;
}
<%@page import="board.BoardDTO"%>
<%@page import="board.BoardDAO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>board/03content.jsp</title>
</head>
<body>
<%
//요청 주소 : content.jsp?num=1
//서버에 request에 "num"요청 파라미터값을 저장 → 가져와서 변수 int num에 저장
int num = Integer.parseInt(request.getParameter("num"));
//BoardDAO 객체생성
BoardDAO boardDAO = new BoardDAO();
//BoardDTO 리턴할 형, getBoard()(int num) 메소드 정의
//BoardDTO boardDTO = BoardDTO getBoard(num값) 메소드 호출
BoardDTO getBoard = boardDAO.getBoard(num);
%>
<h1>board/content.jsp</h1>
<h1>글 내용 보기</h1>
<table border="1">
<tr><td>글번호</td><td><%=getBoard.getNum() %></td></tr>
<tr><td>작성자</td><td><%=getBoard.getName() %></td></tr>
<tr><td>조회수</td><td><%=getBoard.getReadcount() %></td></tr>
<tr><td>작성날짜</td><td><%=getBoard.getDate() %></td></tr>
<tr><td>제목</td><td><%=getBoard.getContent() %></td></tr>
<tr><td>내용</td><td><%=getBoard.getContent() %></td></tr>
<tr><td colspan="2"><a href="list.jsp">목록</a></td></tr>
</table>
</body>
</html>
728x90
'KDT > WEB' 카테고리의 다른 글
240102 WEB - JSP18(MVC, 커넥션풀) (0) | 2024.01.02 |
---|---|
231228 WEB - JSP17(MVC) (0) | 2023.12.28 |
231221 WEB - JSP15(MVC) (0) | 2023.12.21 |
231219 WEB - JSP14(MVC) (0) | 2023.12.19 |
231218 WEB - JSP13(jar,war파일 Export,Import, MVC) (0) | 2023.12.18 |