-
게시물상세(model2.ver)JAVA 2021. 7. 25. 12:48
수단 & 목표 분석
이 분석을 잘해야 구조를 잘세워 코드를 제대로 짤 수 있다.
- 프로젝트 일정표 - 분석 ( 목적을 설정하기 위한 작업 )
- 사용자 요구 분석 : 그들의 요구가 무엇인가.
- 목표설정 : 분석한 요구를 보고 목표를 설정- 문제정의서 - use case D - 스토리보드-화면설계 https://ovenapp.io/ 사이트 통해서 io 화면 설계해보자 - class D ( 아래에서 배울 내용 - UML ) - ERD ( 아래에서 배울 내용 )
게시물상세
게시물 상세 요청 1) 요청 업무처리 - 게시물상세.jsp (게시물 찾아 넘기기) 2) 요청 결과통보 ( html view 보냄) - .jsp
>> 게시물목록창.jsp (상세로 넘어가도록 제목에 a태그)
<% ArrayList<게시물> 게시물들 = (ArrayList<게시물>)request.getAttribute("게시물들"); %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <center> <!-- 3. 목록출력 --> <h1>게시물목록</h1> <ul style="list-style: none"> <% for(int i = 0; i<게시물들.size(); i++) { 게시물 수집된게시물 = 게시물들.get(i); %> <%-- 3-1. 게시물 1개출력 --%> <li> <%= 수집된게시물.get번호() %>. <a href="게시물상세.jsp?no=<%=수집된게시물.get번호()%>"><%= 수집된게시물.get제목() %></a> <%= 수집된게시물.get작성일().toString() %> <%= 수집된게시물.get조회수() %> </li> <% } %> <br><a href="게시물등록준비.jsp">글쓰기</a><br> </ul> </center> </body> </html>
>> 게시물DAO.java
public 게시물 찾다by번호(int 번호,boolean 조회수증가) { 게시물 찾은게시물 = null; try { Class.forName("com.mysql.cj.jdbc.Driver"); Connection DB연결관리자 = DriverManager.getConnection(String.format("jdbc:mysql://%s:%s/%s?useUnicode=true", ConnectionInfo.DBIP, ConnectionInfo.DBPORT, ConnectionInfo.DBName), ConnectionInfo.UID, ConnectionInfo.PASSWORD); Statement 명령전달자 = DB연결관리자.createStatement(); // 조회수증가 if(조회수증가) { 명령전달자.executeUpdate(String.format("update 게시물 set 조회수 = 조회수 + 1 where 번호 = %d", 번호)); } // 선택한 게시물 가져오기 String 수집SQL = String.format("select * from 게시물 where 번호 = %d",번호); ResultSet 수집된표관리자 = 명령전달자.executeQuery(수집SQL); if(수집된표관리자.next()) { int 게시물번호 = 수집된표관리자.getInt("번호"); String 제목 = 수집된표관리자.getString("제목"); String 내용 = 수집된표관리자.getString("내용"); java.sql.Date 작성일 = 수집된표관리자.getDate("작성일"); int 조회수 = 수집된표관리자.getInt("조회수"); 찾은게시물 = new 게시물(); 찾은게시물.set번호(게시물번호); 찾은게시물.set제목(제목); 찾은게시물.set내용(내용); 찾은게시물.set작성일(작성일); 찾은게시물.set조회수(조회수); } 수집된표관리자.close(); DB연결관리자.close(); } catch (Exception e) { e.printStackTrace(); } return 찾은게시물; }
>> 게시물상세.jsp
<% String str번호 = request.getParameter("no"); int 번호 = Integer.valueOf(str번호); 게시물DAO dao = new 게시물DAO(); 게시물 찾은게시물 = dao.찾다by번호(번호); request.setAttribute("찾은게시물", 찾은게시물); RequestDispatcher rd = request.getRequestDispatcher("게시물상세창.jsp"); rd.forward(request, response); %>
>> 게시물상세창.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@page import="com.stone.board3_maven.boardmanage.게시물"%> <% 게시물 찾은게시물 = (게시물)request.getAttribute("찾은게시물"); %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <h1>게시물 상세보기</h1><br> 제목 <%=찾은게시물.get제목() %> <br> 내용 <textarea rows="10" cols="20" readonly="readonly"><%=찾은게시물.get내용() %></textarea> <br> 작성일 <%=찾은게시물.get작성일().toString() %> 조회수 <%=찾은게시물.get조회수() %> </body> </html>
'JAVA' 카테고리의 다른 글
ConnectionPool,ViewResolver (0) 2021.07.25 UML만들기-DesignModel&class관계,maven프로젝트 (0) 2021.07.25 RequestDispatcher,forward(),게시물등록(model2.ver) (0) 2021.07.25 JSP내장객체정리, 로그인하기(jsp버전) (0) 2021.07.25 회원등록.ver2,PreparedStatement(jsp버전) (0) 2021.07.25