내용

글번호 559
작성자 heojk
작성일 2017-02-10 09:58:39
제목 [실습] MVC 패턴을 적용한 계산기 웹 애플리케이션
내용 Spring Web MVC를 이해시키기 위해서 하는 예제 입니다. 1. Dynamic Web Project를 생성하세요. 프로젝트 이름은 CalcWebApp 2. CalcService 클래스를 작성합니다. package kr.co.javaspecialist.calc.service; public class CalcService { public int add(int a, int b) { return a + b; } public int sub(int a, int b) { return a - b; } public int mul(int a, int b) { return a * b; } public int div(int a, int b) { return a / b; } } 3. CalcController 클래스를 작성합니다. package kr.co.javaspecialist.calc.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.javaspecialist.calc.service.CalcService; @WebServlet("/Calc.do") public class CalcController extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String cmd = request.getParameter("cmd"); if(cmd != null) { int a = Integer.parseInt(request.getParameter("a")); int b = Integer.parseInt(request.getParameter("b")); CalcService service = new CalcService(); int result = 0; switch(cmd) { case "add" : result = service.add(a, b); break; case "sub" : result = service.sub(a, b); break; //mul, div 도 해 주세요. default : break; } request.setAttribute("result", result); RequestDispatcher disp = request.getRequestDispatcher("result.jsp"); disp.forward(request, response); }//end if }//end doGet protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } } 4. 결과를 보여줄 result.jsp 페이지를 작성합니다. <%@ page contentType="text/html; charset=utf-8" %> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Insert title here</title> </head> <body> 결과는 : <%= request.getAttribute("result") %><br> 결과는 : ${result}<br> 결과는 : ${requestScope.result}<br> 결과는 : ${requestScope["result"]} </body> </html>