관리 메뉴

개발 노트

9/23 : MVC 모델2 제작(2/4) 본문

프로젝트 기반 JAVA 응용 SW개발 : 22.07.19~23.01.20/Servlet, JSP

9/23 : MVC 모델2 제작(2/4)

hayoung.dev 2022. 10. 4. 11:23

MVC 모델2 구조(팀 프로젝트 진행 시 구조)

java - control : 그대로 놔두기.

java - dao : 테이블이 7개면 getter, setter 만드는 class 7개, 생성자 선언하고 DB와 연결하고 sql문 작성하는 dao java 파일 7개 만들기. 만약 join하는 경우 dao 더 만들기.

java - service : 각자 이름으로 패키지 만들어 class 작성하기. 그래야 통합이 쉬움. service는 dao와 view 연결시켜줌.

webapp : 각자 이름으로 패키지 만들어 .jsp(view) 작성하기.

모든 프로그램은 web.xml에서 환경을 읽어들여 시작함. *.do 또는 /를 사용(/ 를 더 자주 사용)

 

 

[서비스에서 Dao로 연결하는 것]

실행 순서 : dao 패키지에서 데이터베이스 처리한 것을 ListAction.java 에서 가져와서 페이지 설정

*boardDao.java에서 boardList 안보고 코딩 복습하기

 

style.css 파일 webapp에 추가 : 보통 디자인부분은 디자인을 맡은 사람이 작업한다.

@CHARSET "UTF-8";
body { background-color: #FFF0B5; font-size: 9pt; }
table { background-color: yellow; }
tr:hover { background-color: ornage; }
td { background-color: #FFE271; text-align: center; padding: 10px;}
.left { text-align: left; }

 

contentAction.java

package service;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import dao.Board;
import dao.BoardDao;

public class ContentAction implements CommandProcess {

	@Override
	public String requestPro(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		
		System.out.println("ContentAction Service start...");
		//1. num, pageNum
		int num = Integer.parseInt(request.getParameter("num"));
		String pageNum = request.getParameter("pageNum");
		
		try {
			//2. BoardDao bd Instance
			BoardDao bd = BoardDao.getInstance();
			
			//3. num의 readCount 증가.
			bd.readCount(num);
			
			//4. Board board = bd.select(num);
			Board board = bd.select(num);
			
			//5. request 객체에 num, pageNum, board
			request.setAttribute("num", num);
			request.setAttribute("pageNum", pageNum);
			request.setAttribute("board", board);
			
		} catch (Exception e) {
			System.out.println(e.getMessage());
		}
		
		// View
		return "content.jsp";
	}

}

content.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" type="text/css" href="style.css">
<style type="text/css">
	table { width : 80%; }
</style>
</head>
<body>
	<h1>content.jsp</h1>
	<table border="1">
	<caption><h2>게시판 상세내역 ${board.num }</h2></caption>
	<tr><td width="50">번호</td><td>${board.num }</td></tr>
	<tr><td>제목</td><td>${board.subject }</td></tr>
	<tr><td>작성자</td><td>${board.writer}</td></tr>
	<tr><td>작성일</td><td>${board.reg_date }</td></tr>
	<tr><td>조회수</td><td>${board.readcount }</td></tr>
	<tr><td>IP</td><td>${board.ip }</td></tr>
	<tr><td>이메일</td><td>${board.email}</td></tr>
	<tr><td>내용</td><td><pre>${board.content }</pre></td></tr>
	<tr><td colspan="2">
	<input type="button" value="수정"
		onclick="location.href='updateForm.do?num=${board.num}&pageNum=${pageNum }'">
	<input type="button" value="답변작성"
		onclick="location.href='writeForm.do?num=${board.num}&pageNum=${pageNum }'">
	<input type="button" value="삭제"
		onclick="location.href='deleteForm.do?num=${board.num}&pageNum=${pageNum }'">
	<input type="button" value="목록"
		onclick="location.href='list.do?pageNum=${pageNum }'"></td></tr>
	</table>
</body>
</html>

 

출력 결과

반응형