구글링도 해보고 인터넷 강의도 봤지만 Model2의 개념을 깊게 생각하면 오히려 더 헷갈릴 수도 있을 것 같았습니다.
그래서 이번 포스팅은 짧게 씁니다.
MVC Model1과 Model2의 차이점
Model1은 M (VO - 자바빈에 담긴 정보), V (JSP 페이지에서 자바 코드와 뷰를 동시에 작성), C (JSP에서 처리)
Model2는 M (VO - 자바빈에 담긴 정보), V (JSP 페이지에서 JSTL, EL 활용하여 오직 뷰만), C (서블릿을 거쳐 모든 작업 처리)
차이점이 한 눈에 보이시나요?
Model2로 구현하려면 Model1을 먼저 이해하고 코딩해보는 것이 좋습니다.
Model1은 JSP 페이지에서 스크립틀릿(<% %>)을 이용하여 자바 코드와 뷰(출력)을 동시에 처리하는 반면,
Model2는 JSP 페이지에서 JSTL과 EL 표기법을 활용하여 뷰(출력)만 처리합니다.
그럼 Model2는 어디서 모든 작업을 처리할까요?
서블릿을 통해 직접적으로 자바 클래스로 연결하여 모든 작업을 처리하고 JSP 페이지에선 결과만 뿌려줍니다.
Model1로 작업하는게 훨씬 간편하고 개발 속도가 빠르지 않냐, 생각하실 수도 있습니다.
저도 그렇게 생각했지만 이제 시작하는 왕초보인 저도 생각이 바뀌었습니다.
Model2로 작업하면 코드가 간략해져 가독성이 좋아질뿐만 아니라, 실무에서 분담 현업 시 실수를 예방하고 추후 유지보수의 편리성도 가져올 수 있고 소규모보다는 조금 더 큰 규모의 프로젝트에 사용할 수 있기 때문입니다.
Model1로 개발하는 것이 훨씬 속도가 빠를 수도 있을 것 같지만 리팩토링/유지보수할 예정이거나,
혼자 개발하는 것이 아니라면 조금 느리더라도 확실한 Model2로 개발하는 것이 좋을 것 같습니다.
서블릿의 생명주기도 중요하니 꼭 공부해보세요!
'BackEnd > JSP' 카테고리의 다른 글
MVC Model2 - 서블릿 구현하는 방법 (0) | 2020.05.09 |
---|---|
JSP 내장 객체의 영역 (0) | 2020.05.06 |
JSTL (JSP Standard Tag Library) (0) | 2020.05.05 |
EL (Expression Language) 예제 (0) | 2020.05.05 |
JSP의 태그 종류 (0) | 2020.05.05 |