TIL(Today I Learned)
TIL 36th day (2021.11.27)
keepgoing
2021. 11. 27. 01:04
MVC
- Model : 뷰에 출력할 데이터를 담아둔다. 뷰는 이를 참조한다. 덕분에 뷰는 할 일이 줄어든다.
- View : 모델에 있는 데이터를 참조해서 화면에 뿌려준다.
- Controller : HTTP 요청을 받아서 파라미터를 검증하고, 비즈니스 로직을 실행한다. 그리고 모델에 데이터를 담는다.
- 비즈니스 로직과 요청 로직을 분리한다.(일반적으로)
- 순서는 대략적으로
- Controller -> 비즈니스 로직 -> model -> view -> 화면
서블릿과 JSP를 이용한 MVC
- 서블릿은 컨트롤러 역할을, JSP는 VIEW 역할을 한다.
- request.setAttribute()와 request.getAttribute()를 사용하여 모델에 데이터를 저장한다.
궁금한점
redirect vs forward
- redirect : url 변경 o, 객체의 재사용 x
- 로그인, 글쓰기 등에 사용
- forward : url 변경 x, 객체 재사용 o
- 단순 리스트 조회 등에 사용
- redirect : url 변경 o, 객체의 재사용 x
WEB-INF : 이 경로안에 JSP가 있으면 외부에서 직접 JSP를 호출할 수 없다., 컨트롤러를 통해야만 JSP를 호출할 수 있다.