230313
코드 정리
Controller에서 Parameter를 받아오고 Model에서 다루다 보니 여러가지 면에서 헷갈렸다. 그래서 Controller에서는 요청만 확인하고 그외는 모두 Model에서 수행 될 수 있도록 코드를 정리 해 주었다.
https://github.com/leemyunga/leema0927.git Board Ver 2.1
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;
}
}
}