서블릿과 JSP로 웹 애플리케이션을 만들 때 차이
처음에 서블릿은 자바 코드 안에 html이 있다
JSP는 html 안에 자바코드가 있다라는 말이 이해가 안됐다.
하지만 강의를 두번째 들을 때는 완벽하게 이해했다.
서블릿과 jsp의 비교를 위하여 같은 비즈니스 로직을 수행하는 코드를 비교해보겠다.
서블릿
이런 식으로 자바 코드 안에 html이 있다는 것이다.
@WebServlet(name = "memberSaveServlet", urlPatterns = "/servlet/members/save")
을 보다시피, urlPatterns을 이용하여 맵핑한다.
JSP
위의 서블릿과 비교했을 때 바로 보이는 것이 html이다.
JSP는 html 안에 자바코드가 있다는 말이 두 개의 코드를 보면 바로 알 수 있다.
서블릿과 JSP의 한계
서블릿에서는 뷰 화면을 위한 HTML과 자바 코드가 섞여있고,
JSP에서는 HTML 형식을 이용하여 깔끔하지만 둘은 결국 뷰 화면과 비즈니스 로직이 섞여있다.
그래서 MVC 패턴이라는 것이 등장했다.
비즈니스 로직과 뷰 화면을 구성하는 코드들을 구분짓는 것이다.
MVC의 큰 틀
MVC의 컨트롤러
해당 URL에 들어가면 파라미터 데이터를 받고 파싱하여 비즈니스 로직을 수행한다.
그리고 뷰에 전달할 데이터를 모델에 저장한 뒤에 뷰로 이동한다.
여기서 WEB-INF라는 것이 있다.
WEB-INF는 URL을 입력하여 들어갈 수 없다고 한다. 즉, 컨트롤러를 통해서만 들어갈 수 있다.
WAR에서의 특별한 기능이라고 한다.
dispatcher.forward를 통해 jsp로 이동한다.
MVC의 뷰
위에서 보던 jsp만 사용했을 때와 확연한 차이를 볼 수 있다.
만약에 화면을 바꾸고 싶다면 뷰의 코드만 수정하면 된다.
출처 : 인프런 스프링 MVC 1편(김영한 강사님)
'Spring 강의 > 스프링 MVC 1' 카테고리의 다른 글
MVC 1 - 구조 이해 (0) | 2021.09.27 |
---|---|
MVC 1 - MVC 프레임워크 만들기 (0) | 2021.09.18 |
MVC 1 - 서블릿 (0) | 2021.09.13 |
MVC 1 - 웹 애플리케이션 이해 (0) | 2021.09.10 |