티스토리 뷰

반응형

안녕하세요. Nerd-Lee입니다.

공부 내용은, 인프런 박매일님의
[NarP Series]MVC 프레임워크는 내 손에[나프1탄] 을 참고하였습니다.

MVC 1단계인, Servlet 환경으로만 만들어보고, MVC 2단계로 넘어가고

나중에는 Spring Framework를 사용하는 방식의 강의입니다.

MVC 1단계는, Controller + Model 만을 사용하는 방식입니다.


1. Controller에서, 계산하는 부분을 Model로 빼보기

@WebServlet("/calc.do")
public class CalcController extends HttpServlet {
    private static final long serialVersionUID = 1L;

    protected void service(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        int su1 = Integer.parseInt(request.getParameter("su1"));
        int su2 = Integer.parseInt(request.getParameter("su2"));

        PrintWriter out = response.getWriter();

        /*
        int sum = 0;

        for (int i = su1; i <= su2; i++) {
            sum += i;
        }
        */
        out.println("total : " + sum);
    }
}
  • 주석이 되어있는 부분을 모델로 빼서 변경을 해보자.
  • model 패키지에, MyCalc 라는 java 클래스 파일을 만든다.
public class MyCalc {

    public int sum(int su1, int su2) {
        int sum = 0;
        for(int i=su1; i<=su2; i++) {
            sum+=i;
        }
        return sum;
    }
}
  • 이제 기존 서블릿 클래스에, MyCalc를 생성하고 sum 함수를 실행해서 변수에 넣어주고, 응답해주면 끝.
@WebServlet("/calc.do")
public class CalcController extends HttpServlet {
    private static final long serialVersionUID = 1L;

    protected void service(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // 1. 클라이언트에서 넘어오는 폼 파라미터 받기 ( 파라미터 수집, su1, su2 )

        /*
         * 서블릿에서 파라미터는 무조건 String만 받을 수 있기 때문에 Integer.parseInt 함수를 사용해서 문자열을 정수형으로
         * 변환한다.
         */
        int su1 = Integer.parseInt(request.getParameter("su1"));
        int su2 = Integer.parseInt(request.getParameter("su2"));

        PrintWriter out = response.getWriter();

        /*
         * int sum = 0;
         * 
         * for (int i = su1; i <= su2; i++) { sum += i; }
           out.println("total : " + sum);
         */

        // 윗 부분(주석되어 있는 코드)을 아랫부분으로 변경

        MyCalc myCalc = new MyCalc();
        int sum = myCalc.sum(su1, su2);

        out.println("total : " + sum);
    }
}


이 글이 도움이 되셨다면 댓글 부탁드립니다^^
다음 글로 찾아오겠습니다!
반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함