JSP게시판 - 게시글 보기
게시글 보기
BoardList.jsp ▷ getOneBorad()호출 ▷ BoardInfo.jsp ▷ 답글쓰기/수정하기/삭제하기
BoardInfo.jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | <%@page import="model.BoardBean"%> <%@page import="model.BoardDAO"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <body> <% //get방식으로 글 Num받아옴 //trim()으로 공백 제거 후 정수형으로 int num = Integer.parseInt(request.getParameter("num").trim()); //데이터베이스 접근 BoardDAO bdao = new BoardDAO(); //bean에 하나의 게시글 리턴 패키징 BoardBean bean = bdao.getOneBoard(num); %> <div style="text-align: center"> <h2>게시글 보기</h2> <table width="600" border="1" bgcolor="skyblue"> <tr height="40"> <td align="center" width="120">글번호</td> <td align="left" width="180"><%=bean.getNum()%> <td align="center" width="120">조회수</td> <td align="left" width="180"><%=bean.getReadcount()%></td> </tr> <tr height="40"> <td align="center" width="120">작성자</td> <td align="left" width="180"><%=bean.getWriter()%> <td align="center" width="120">작성일</td> <td align="left" width="180"><%=bean.getReg_date()%></td> </tr> <tr height="40"> <td align="center" width="120">이메일</td> <td align="left" colspan ="3"><%=bean.getEmail()%></td> </tr> <tr height="40"> <td align="center" width="120">제목</td> <td align="left" colspan ="3"><%=bean.getSubject()%></td> </tr> <tr height="80"> <td align="center" width="120">글내용</td> <td align="left" colspan ="3"><%=bean.getContent()%></td> </tr> <tr height="40"> <td align="center" colspan="4"> <input type="button" value ="답글쓰기" onclick="location.href='BoardReWriteForm.jsp?num=<%=bean.getNum()%> &ref=<%=bean.getRef()%> &re_step=<%=bean.getRe_step()%> &re_level=<%=bean.getRe_level()%>'"> //num만 get방식으로 넘겨서 처리해도 된다. <input type="button" value ="수정하기" onclick="location.href='BoardUpdateForm.jsp?num=<%=bean.getNum()%>'"> <input type="button" value ="삭제하기" onclick="location.href='BoardDeleteForm.jsp?num=<%=bean.getNum()%>'"> <input type="button" value ="목록보기" onclick="location.href='BoardList.jsp'"> </tr> </table> </div> </body> </html> |
BoardDAO.jsp 일부 [ getOneBoard() 메서드] 정의하기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | // 하나의 게시글을 리턴하는 메서드 public BoardBean getOneBoard(int num) { BoardBean bean = new BoardBean(); try { //조회수 증가 쿼리 //Info페이지가 보여지면서 getOneBoard() 메서드가 호출되었다는건 한번 조회했다는 뜻이므로 String readsql ="update board set readcount = readcount+1 where num=?"; getCon(); pstmt = con.prepareStatement(readsql); pstmt.setInt(1, num); //쿼리가 select이면 executeQuery()를 쓰면 되지만 update이면 executeUpdate() pstmt.executeUpdate(); //bean에는 글정보를 한꺼번에 담아줄 것이기때문에 조회수 업데이트만 해주면 된다. //하나의 글 정보 전체 읽어오기 String sql = "select * from board where num=?"; pstmt = con.prepareStatement(sql); pstmt.setInt(1, num); rs = pstmt.executeQuery(); //글(bean) 하나의 정보만 읽는것이니 if문 사용 if (rs.next()) { bean.setNum(rs.getInt(1)); bean.setWriter(rs.getString(2)); bean.setEmail(rs.getString(3)); bean.setSubject(rs.getString(4)); bean.setPassword(rs.getString(5)); // ResultSet은 getDate()메서드도 제공한다 // byte[]타입으로 리턴되므로 toSting()처리해준다. bean.setReg_date(rs.getDate(6).toString()); bean.setRef(rs.getInt(7)); bean.setRe_step(rs.getInt(8)); bean.setRe_level(rs.getInt(9)); bean.setReadcount(rs.getInt(10)); bean.setContent(rs.getString(11)); } con.close(); } catch (Exception e) { e.printStackTrace(); } return bean; } | cs |
'JSP > JSP & Servlet ' 카테고리의 다른 글
JSP게시판 - 글 수정 (0) | 2019.05.13 |
---|---|
JSP 게시판 - 답글 쓰기 (0) | 2019.05.10 |
JSP 게시판 -DAO 클래스 설정, 글쓰기 폼 (0) | 2019.05.08 |
JSP 게시판 -시스템 구조 / 테이블 설정, 빈클래스 (0) | 2019.05.08 |
Session을 이용한 로그인 처리 페이지 (0) | 2019.05.08 |