일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- securityconfig
- WebConfigurerAdapter
- 스프링시큐리티
- Spring Security
- Session1이 그 모든 클라이언트의 저올
- WebSecurity
- 스프링 #스프링 시큐리티 #spring security
- ㅂ
- ㅇㅇㅇㄴㅇ
- HttpSecurity
Archives
- Today
- Total
다오의 개발일지
자바 웹 기술 역사 | 김영한MVC1편 본문
JSP는 HTML 코드에 자바의 코드를 넣어 동적 HTML을 만들기가 편했다. 하지만, 자바의 코드를 사용해 데이터를 처리하고, HTML에 보여주는 역할과, HTML을 그리는 렌더링 역할까지 전부 하나의 파일안에서 수행해야 했기 떄문에, 굉장히 코드 가독성이 떨어지고, 유지보수면에서 불리했다.
이를 보완하고자, MVC 패턴이 사용된다. (SSR에서 사용하는 방식)
클라이언트의 요청에 맞는 API를 호출 및 처리 하기 위한 컨트롤러(Controller)
처리가 완료된 데이터를 담아 HTML로 보내기 위한 모델(Model)
데이터를 받아 HTML위에 그리는 작업을 하기 위한 뷰(View)
현재의 사용 기술
- 애노테이션 기반의 스프링 MVC 등장
- @Controller
- MVC 프레임워크의 전국 시대를 마무리하게 되었다.
- 스프링 부트의 등장
- 스프링 부트는 "서버(WAS)"를 내장
- 과거에는 서버에 WAS를 직접 설치하고, 소스는 WAR 파일로 빌드 후, 설치한 WAS에 배포해야만 했다. (여러 설정도 포함..)
- 스프링 부트는 빌드 결과(Jar)에 WAS 서버 포함하여 빌드 배포를 단순화하였다.
최신 기술 - 스프링 웹 기술의 분화
Web Servlet - Spring MVC
Web Reactive - Spring WebFlux
- 특징
- 비동기 넌 블러킹 처리 (필요한 자원에 같은 시점에 중복으로 접근한다. Stateless 유지해야함)
- 최소 쓰레드로 최대 성능 - 쓰레드 컨텍스트 스위칭 비용 효율화 (CPU 코어개수와 쓰레드 개수를 비슷하게 세팅)
- 함수형 스타일로 개발 - 동시처리 코드 효율화
- 서블릿 기술 사용X
- but
- 기술적 난이도 매우 높음
- 아직은 RDB 지원 부족
- 일반 MVC의 쓰레드 모델도 충분히 빠르다.
- 실무에서 아직 많이 사용하지는 않음
- 성능 굉장히 중요한 경우, api 호출 복잡한 경우,,
'Spring > 스프링 MVC 1편 | 김영한' 카테고리의 다른 글
Hello 서블릿 | 김영한MVC1편 (0) | 2024.09.24 |
---|---|
프로젝트 생성 | 김영한MVC1편 (0) | 2024.09.24 |
HTML, HTTP API, CSR, SSR | 김영한MVC1편 (1) | 2024.09.24 |
동시요청 - 멀티 쓰레드 | 김영한MVC1편 (0) | 2024.09.24 |
서블릿 | 김영한MVC1편 (0) | 2024.09.19 |