Web MVC 방식

Ga0·2023년 6월 23일
0

기타

목록 보기
5/14

MVC 구조와 서블릿/JSP

  • 서블릿 코드의 경우, 자바 코드를 그대로 이용할 수 있다.(상속이나 인터페이스의 처리도 가능)
  • 하지만 서블릿 코드의 경우 HTTP로 전달된 메시지를 구성하는 HTML을 처리할 때는 상당히 많은 양의 코드를 작성해야 한다.
  • JSP의 경우, 서블릿과 반대로 HTML 코드를 바로 사용할 수 있으믈 HTTP 메시지 작성에는 적합하다.
  • 하지만 JSP는 그 안에서 자바 코드를 재사용하는 문제나 자바 코드와 HTML이 뒤섞여있는 것과 같은 문제점이 존재한다.

  • EL(Expression Language): 자바 빈의 프로퍼티, 값을 JSP의 표현식 <%= %>이나 액션 태그 <jsp:useBean>를 사용하는것 보다 쉽고 간결하게 꺼낼수 있게 하는 기술

  • JSP를 이용해서 생성된 결과 화면을 톰캣을 통해서 브라우저에 전송된다.

  • 웹 MVC라는 구조는 'Model - View - Controller'의 역할을 분리해서 처리하는 구조로, 데이터는 컨트롤러(Controller)에서 결과는 뷰(View)에서 처리한다.

  • 서블릿이 바로 컨트롤 역할이라고 볼 수 있으며, JSP는 뷰 역할이라고 볼 수 있다.

  • 컨트롤러 역할을 하는 서블릿은 JSP에게 필요한 데이터를 가공해서 줘야하는데, 이 때 필요한 데이터를 제공하는 객체를 모델(Model)이라고 한다.

PRG 패턴(Post-Redirect-GET)

  • 웹 MVC구조에서 가장 흔하게 사용하는 패턴은 POST방식과 Redirect를 결합해서 사용하는 PRG 패턴이다.
  • 아래와 같이 흐름을 정리할 수 있다.
    • 사용자는 컨트롤러에 원하는 작업을 POST방식으로 처리하기를 요청한다.
    • POST방식을 컨트롤러에서 처리하고 브라우저는 다른 경로로 이동(GET)하려는 응답(Redirect)를 한다.
    • 브라우저는 GET방식으로 이동한다.

출처 : 자바 웹 개발 워크북

0개의 댓글