Java

· Java/spring
View 분리 -v2 MyView package hello.servlet.web.frontcontroller; import jakarta.servlet.RequestDispatcher; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; public class MyView { private String viewPath; public MyView(String viewPath){ this.viewPath = viewPath; } public void render(Ht..
· Java/spring
프론트 컨트롤러 패턴 프론트 컨트롤러 도입 전 프론트 컨트롤러 도입 후 V1 구조 FrontController 패턴 특징 컨트롤러 서블릿 하나로 클라이언트 요청 처리(프론트 컨트롤러가 요청에 맞는 컨트롤러를 찾아서 호출) 입구가 하나 (공통 처리가 가능) 나머지 컨트롤러는 서블릿을 사용하지 않아도 된다. (중복 제거) ControllerV1 package hello.servlet.web.frontcontroller.v1; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.io.IOExcep..
· Java/spring
MVC 패턴의 한계 컨트롤러의 역할과 뷰를 랜더링하는 역할을 명확하게 구분 그러나 중복이 많고, 필요하지 않는 코드들도 많다. MVC 컨트롤러의 단점 포워드 중복 RequestDispatcher dispatcher = request.getRequestDispatcher(viewPath); dispatcher.forward(request, response); view로 이동하는 코드의 중복 ViewPath에 중복 String viewPath = "/WEB-INF/views/save-result.jsp"; 확장자가 jsp로 고정됨 사용하지 않는 코드 HttpServletRequest request, HttpServletResponse response response를 사용하지 않을 때도 있지만 선언은 해야한..
· Java/spring
MVC 패턴 변경의 라이프 사이클 문제는 둘 사이에 변경의 라이프 사이클이 다르다는 점이다. 예를 들어서 UI를 일부 수정 하는 일과 비즈니스 로직을 수정하는 일은 각각 다르게 발생할 가능성이 매우 높고 대부분 서로에게 영향을 주지 않는 다. 이렇게 변경의 라이프 사이클이 다른 부분을 하나의 코드로 관리하는 것은 유지보수하기 좋지 않다. (물론 UI가 많 이 변하면 함께 변경될 가능성도 있다.) Model 뷰에 출력할 데이터를 담아둔다. 뷰가 필요한 데이터를 모두 모델에 담아서 전달해주는 덕분에 뷰는 비즈니스 로 직이나 데이터 접근을 몰라도 되고, 화면을 렌더링 하는 일에 집중할 수 있다. View 모델에 담겨있는 데이터를 사용해서 화면을 그리는 일에 집중 HTML을 생성하는 부분을 말한다. Contro..
zero_jae
'Java' 카테고리의 글 목록 (2 Page)