You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
모델에 담겨있는 데이터를 사용해서 화면을 그리는 일을 한다.
✅그림을통해서 알아보기
5️⃣ MVC 패턴 - 적용
request.setAttribute(),request.getAttribute()를 사용하면 데이터를 보관하고, 조회할 수 있다.✅회원 등록
dispatcher.forward(request, response)/WEB-INFredirect vs forward
아래의 코드를 보면 form의 action을 보면 절대 경로(/로 시작)가 아니라 상대경로(/ 로 시작이 아님)인 것을 확인할 수 있다. 이렇게 상대경로를 사용하면 폼 전송시 현재 URL이 속한 계층 경로 + save가 호출된다.
현재 계층 경로 :
/servlet-mvc/members/결과 :
/servlet-mvc/members/save실행 :
/servlet-mvc/members/new-form✅회원 저장
✅회원 목록 조회
List<Member> members를 모델에 보관했다6️⃣ MVC 패턴 - 한계
✅MVC 컨트롤러의 단점
포워드 중복
ViewPath에 중복
/WEB-INF/views/.jsp사용하지 않는 코드
HttpServletRequest,HttpServletResponse를 사용하는 코드는 테스트 케이스를 작성하기도 어렵다.공통 처리가 어렵다
정리하면 공통 처리가 어렵다는 문제가 있다.
프론트 컨트롤러**를 도입하여 문제를 해결할 수 있습니다. 이 패턴은 컨트롤러 호출의 입구를 단일화하여 중복을 제거하고 유지보수를 용이하게 합니다. 이는 스프링 MVC의 핵심 아이디어 중 하나입니다.🔗 출처
All reactions