cbw1030
기록하는 공간
cbw1030
전체 방문자
오늘
어제
  • 전체보기 (101)
    • Programming (99)
      • Java (19)
      • Servlet (10)
      • Spring Framework (13)
      • Javascript (22)
      • AWS (2)
      • 네트워크 (8)
      • 데이터베이스 (13)
      • 리눅스 (3)
      • 블록체인 (7)
      • 용어 정리 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 브라이틱스 스튜디오
  • Brightics Studio
  • 데이터분석
  • 브라이틱스 스튜디오 사용법
  • beautifulsoup
  • 삼성SDS
  • 브라이틱스 튜토리얼
  • 인공지능
  • 삼성SDS 브라이틱스
  • react
  • Brightics AI
  • Brightics
  • 브라이틱스
  • 크롤링
  • 차원축소
  • 생활코딩
  • javascript
  • 데이터 사이언스
  • web
  • 머신러닝

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
cbw1030

기록하는 공간

[JSP & 서블릿] 모델(Model)1, 2 방식에 대해 알아보자
Programming/Servlet

[JSP & 서블릿] 모델(Model)1, 2 방식에 대해 알아보자

2020. 8. 4. 14:36
반응형

본 포스팅은 https://www.youtube.com/watch?v=tPEf5VLKJI0을 참고하여 작성했습니다.

 

모델1은 컨트롤러와 뷰가 물리적으로 분리되지 않은 방식을 의미한다.

모델2은 컨트롤러와 뷰가 물리적으로 분리된 방식을 의미한다. 그리고 DisPatcher를 집중화한 후의 모델이다.

오른쪽 부분이 모델1
모델1 방식

 

집중화 하기 전 모델
집중화 한 후의 모델

즉, 모델2 방식은 자바 코드와 JSP 코드가 분리되어 있다.

그렇다면 자바 코드로 전달받는 데이터를 어떻게 JSP에서 받을 수 있을까? (서블릿과 JSP 사이에 저장되는 저장소가 필요할텐데..)

포워드(forward를 사용하면 된다. foward은 redirect와 상이하다.

forward는 현재 작업한 내용을 이어갈 수 있도록 무언가를 공유하는 것이고 redirect는 현재 작업하던 내용과 상관없이 새로운 요청을 하게 만드는 것이다.

 

forward 예제

// 아래 코드는 test.java이고 같은 경로에 test.jsp가 존재한다고 가정
// url상으로 같은 디렉토리에 있다고 가정하여 경로는 삽입하지 않고 파일명(test.jsp)만 삽입했다.
request.setAttribute("sum", 100);
getRequestDispatcher dispatcher = request.getRequestDispatcher("test.jsp");
dispatcher.forward(request, response);

 

// 아래 코드는 test.jsp 파일이다.
<body>
    <%= request.getAttribute("sum"); %> // {sum}도 동일함
</body>

test.java에서 test.jsp로 forward를 통해 전달한 sum값을 test.jsp에서 <%= %>를 사용해 손쉽게 표현할 수 있다.(EL태그로도 가능)

test.java에서 test.jsp로 데이터를 전달하는 과정이 바로 모델2와 모델1의 차이이다.

코드도 굉장히 깔끔한 것을 볼 수 있다.

반응형
저작자표시 (새창열림)

'Programming > Servlet' 카테고리의 다른 글

[JSP] JSTL로 현재 날짜와 특정 날짜 비교하기  (1) 2020.12.16
[JSP] JSTL <fmt: formatDate> 태그로 날짜 형식 변경하기  (0) 2020.08.06
서블릿(Servlet) 필터(Filter)를 사용하여 한글 처리 문제를 해결하기(어노테이션 방식)  (0) 2020.08.03
서블릿(Servlet) url 매핑기법 2가지(web.xml 방식, 어노테이션 방식)  (0) 2020.07.30
[JSP] JSTL(Jsp Standard Tag Library) 정리 - <c:set>,<c:out>,<c:remove>,<c:if>,<c:choose>,<c:when>,<c:otherwise>,<c:forEach>,<c:forTokens> 등  (1) 2019.10.27
    'Programming/Servlet' 카테고리의 다른 글
    • [JSP] JSTL로 현재 날짜와 특정 날짜 비교하기
    • [JSP] JSTL <fmt: formatDate> 태그로 날짜 형식 변경하기
    • 서블릿(Servlet) 필터(Filter)를 사용하여 한글 처리 문제를 해결하기(어노테이션 방식)
    • 서블릿(Servlet) url 매핑기법 2가지(web.xml 방식, 어노테이션 방식)
    cbw1030
    cbw1030

    티스토리툴바