반응형
# 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>");
}
}
반응형
'인프런 강의 학습 > MVC 프레임워크_나프1탄' 카테고리의 다른 글
인프런 MVC 프레임워크는 내손에 20일차 : MVC01_7 한글처리와 JDBC(DAO) (0) | 2021.06.06 |
---|---|
인프런 MVC 프레임워크는 내손에 19일차 : MVC01_6 회원관리UI 및 파라메터 수집(VO)하기 (0) | 2021.06.06 |
인프런 MVC 프레임워크는 내손에 17일차 : MVC01_4 GET과 POST 요청 이해하기 (0) | 2021.06.05 |
인프런 MVC 프레임워크는 내손에 16일차 : MVC01_3 요청과 응답 이해하기 (0) | 2021.06.05 |
인프런 MVC 프레임워크는 내손에 15일차 : MVC01_2 Controller(Servlet)의 역할 (0) | 2021.06.04 |