Servlet Project 03 게시판 만들기 (코드 정리)

Myung A Lee·2023년 3월 13일
0
post-thumbnail

Servlet Project : 게시판

230313

코드 정리

Controller에서 Parameter를 받아오고 Model에서 다루다 보니 여러가지 면에서 헷갈렸다. 그래서 Controller에서는 요청만 확인하고 그외는 모두 Model에서 수행 될 수 있도록 코드를 정리 해 주었다.

상세 코드

전체 코드

https://github.com/leemyunga/leema0927.git Board Ver 2.1

주요 코드

BoardController.java

package kr.co.web.controller;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import kr.co.web.model.BoardModel;

@WebServlet(urlPatterns = {"/", "/write","/update","/detail","/remove"})
public class BoardController extends HttpServlet {

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		dual(req,resp);
	}
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		dual(req,resp); 
	}
	
	private void dual(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
	
		req.setCharacterEncoding("UTF-8");	
		
		String uri = req.getRequestURI();
		String cxt = req.getContextPath();
		String addr = uri.substring(cxt.length());
		
		BoardModel model = new BoardModel(req,resp);
		
		switch (addr) {
		
		case "/":
			model.getList();
			break;
			
		case "/write":
			model.write();
			break;
			
		case "/detail":
			model.detail();
			break;
			
		case "/remove":
			model.remove();
			break;
			
		case "/update":
			model.update();
			break;
			
		case "/done":
			model.done();
			break;
	}




	}
}

0개의 댓글