일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- HTTP프로토콜
- fcmv1
- 왜불변객체인가
- 검증 실패 예외처리
- 중첩클래스
- equals
- httpservlet기술
- HttpServlet
- multiparfile데이터
- rest api
- 프로세스 생성
- 옵티마저
- 클라이언트요청반응
- 동기비동기블로킹논블로킹
- DispatcherServlet
- multipart바인딩
- rest api 검증
- 옵티마이저
- 동등성동일성
- 디스패처서블릿
- biblecash
- fcm성능비교
- 스프링요청반응
- 데이터베이스파서
- 공유기작동방식
- Wrapper class
- java enum
- 불변객체
- 래퍼클래스
- fcm데이터구조
- Today
- Total
목록분류 전체보기 (49)
개발은 아름다워
고대의 서블릿에서 현재 Spring MVC 프레임워크까지 여정을 살펴보고 있다.서블릿 -> 템플릿 엔진 -> MVC 패턴 -> FrontController -> view -> ModelView 여정까지 오게 되었다.ModelView 까지 적용한 과정을 간략하게 적어보면1. ModelView 객체에 viewName과 controller로 부터 발생한 데이터를 model에 담는다.2. controller는 ModelView 객체를 반환한다.3. FrontController는 controller가 반환한 ModelView 객체에 있는1) viewName을 viewResolver를 통해 viewPath로 바꿈2) model에 담긴 데이터를 HttpServletRequest request객체로 데이터 전달4. v..
'작성된 코드를 보면서 이게 과연 반드시 필요한 것일까?' 라는 의문이 든적이 있지 않는가? ModelView도 같은 질문에서 시작한다.ModelView의 필요성이전 controller들의 코드를 봐보자public class MemberFormControllerV2 implements ControllerV2{ @Override public MyView process(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { return new MyView("/WEB-INF/views/new-form.jsp"); }}public class Mem..
지금까지의 고대의 서블릿 찾는 여정...서블릿 -> 템플릿 엔진 -> mvc패턴 -> FrontController 도입전에 있던 단점을 보안하며 FrontController까지 오게되었다.왜 view가 필요할까?전에 있던 단점들은 대부분 중복되는 코드들을 어떻게 하면 공통으로 쓸 수 있을까? 에 대한 고민이였다. 이번 view를 추가하는 것도 동일하다.FrontController의 controller들의 코드를 봐보자public class MemberFormControllerV1 implements ControllerV1{ @Override public void process(HttpServletRequest request, HttpServletResponse response) thro..
이전까지의 흐름을 살펴본다면서블릿 -> 템플릿 엔진 -> mvc패턴 이런 흐름으로 점차 발전하였다.이전의 불편함을 개선하여 조금씩 발전한 형태로 만들어졌다.이번에는 mvc패턴에서 단점으로 지적되었던 점을 개선한 FrontController를 만들어 볼 것이다.왜 프론트 컨트롤러가 필요한가?MVC 패턴에서는 각각 요청 URI에 맞는 서블릿이 존재했다. 이 때 각각의 서블릿은 요청을 처리하는데 있어서 중복되는 코드들이 있었다. 따라서 이러한 중복되는 부분들을 공통으로 묶고 처리할 수 있는 방법이 있지 않을까?에서 출발한게 프론트 컨트롤러이다. 프론트컨트롤러 패턴은 다음과 같은 특징이 있다.frontController 패턴 특징프론트 컨트롤러 서블릿 하나로 클라이언트의 요청을 받는다.프론트 컨트롤러가 요청에 ..
지난 시간 템플릿 엔진으로 요청을 처리하는 방법을 배웠다. 템플릿 엔진으로 Http 요청을 처리하니 HTML 문서 코드 부분과 동적으로 자바 코드는 넣는 부분을 나눔으로써 코드 작성이 한결 쉬워졌다. 그러나 문제는 이어진다.MVC 패턴 - 개요과도한 역할을 방지하라,,,하나의 서블릿이나 JSP만으로 비즈니스 로직과 뷰 렌더링까지 모두 처리하게 되면, 너무 많은 역할을 하게 되고, 결과적으로 유지보수가 어려워진다. 비즈니스 로직을 호출하는 부분에 변경이 발생해도 해당 코드를 수정해야하고, UI를 변경 할 일이 있어도 비즈니스 로직이 함께 있는 해당 파일을 수정해야 한다. 비즈니스 로직 하나를 수정해야하는데 수천줄의 HTML 코드가 함께 있다면..?변경의 라이프 사이클진짜 문제는 비즈니스 로직과 뷰 렌더링 ..