DevGang

[Servlet&Jsp] MVC model1 vs model2 본문

Study/Spring

[Servlet&Jsp] MVC model1 vs model2

별천랑 2021. 5. 10. 22:46

JSP MVC model1

  • 컨트롤러와 뷰가 물리적으로 분리되지 않은 방식
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8" %>

<%-- 입력과 제어를 담당 : Controller--%>
<%
    int num = 0;
    String num_ = request.getParameter("n");
    if (num_ != null && !num_.equals(""))
        num = Integer.parseInt(num_);

    String result;

    if (num % 2 != 0)
        result = "홀수";
    else
        result = "짝수";
%>

<%-- 출력 부분 : View --%>
<!DOCTYPE html >
<html>
<head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
</head>
<body>
<%-- 출력 데이터 : Model --%>
<%=result %>입니다.
</body>
</html>

JSP MVC model2

  • 컨트롤러와 뷰가 물리적으로 분리된 방식
// Controller.java

@WebServlet("/mvcpage")
public class Controller extends HttpServlet {
    @Override
    protected void doGet(HttpsServletRequest request, HttpServletResponse response) {
        int num = 0;
        String num_ = request.getParameter("n");
        if (num_ != null && !num_.equals(""))
            num = Integer.parseInt(num_);

        String result;

        if (num % 2 != 0)
            result = "홀수";
        else
            result = "짝수";

        request.setAttribute("result", result);

        RequestDispatcher dispatcher = request.getRequestDispatcher("mvc.jsp");
        dispatcher.forward(request, response);
    }
}
<%-- mvc.jsp --%>

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%-- 출력 부분 : View --%>
<!DOCTYPE html >
<html>
<head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
</head>
<body>
<%-- 출력 데이터 : Model --%>

<%--<%=request.getAttribute("result") %>입니다.--%>
${result}입니다.

</body>
</html>

'Study > Spring' 카테고리의 다른 글

[Servlet] 서블릿  (0) 2021.07.14
[Spring] DispatcherServlet  (0) 2021.06.02
[Spring] AOP(Aspect-oriented programming)  (1) 2021.05.12
[Servlet&Jsp] Application/Session/Cookie  (0) 2021.05.10
[Spring] Spring boot  (0) 2021.02.16
Comments