인프런 강의 학습/MVC 프레임워크_나프1탄
인프런 MVC 프레임워크는 내손에 18일차 : MVC01_5 Controller에서 Model 분리하기
현호s
2021. 6. 5. 17:30
반응형
# MVC01_5 Controller에서 Model 분리하기
- Controller에서 비즈니스 로직을 Model로 분리하기
- 일반적으로 model 패키지에는 VO, DAO, Util 등이 올수 있다.
## MyCalc.java
- kr.bit.model > New 클릭하여 MyCalc 클래스 생성
package kr.bit.model;
public class MyCalc {
public int hap(int su1, int su2) {
int sum = 0;
for ( int i = su1; i <= su2; i++ ) {
sum += i;
}
return sum;
}
}
## CalcController.java
package kr.bit.controller;
import java.io.IOException;
import java.io.PrintWriter;
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.bit.model.MyCalc;
@WebServlet("/calc.do")
public class CalcController extends HttpServlet {
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 1. 클라이언트에서 넘어오는 폼 파라미터 받기(파라미터 수집) -> 파라미터 : su1, su2
int su1 = Integer.parseInt(request.getParameter("su1"));
int su2 = Integer.parseInt(request.getParameter("su2"));
// 2. 비즈니스 로직 -> su1 ~ su2 = ?
// 비즈니스 로직 Model로 분리.
/*int sum = 0;
for ( int i = su1; i <= su2; i++ ) {
sum += i;
}*/
MyCalc myCalc = new MyCalc();
int sum = myCalc.hap(su1, su2);
// 3. 응답(프리젠테이션 로직 = view -> 추후 JSP가 담당할 예정)
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<body>");
out.println("<table border='1'>");
out.println("<tr>");
out.println("<td>TOTAL</td>");
out.println("<td>" + sum + "</td>");
out.println("</tr>");
out.println("</table>");
out.println("</body>");
out.println("</html>");
}
}
반응형