Spring/MVC 4

[Spring] MVC1 & MVC2, DispatcherServlet

이번 포스팅도 역시 "기본"에 관한 것이다. '백견불여일타'라고, 아무리 읽고 또 읽어도 한번 코드 쳐보고 실행하는 것만도 못하다는 뜻이다. 난 이 말에 백번천번 동의한다. 원래 내 스타일도 이론을 쭉 훑고, 이해 갈 때까지 읽고 또 읽고 그 다음에 코딩을 하는 것이 아닌, 일단 한번 쳐보고 그 다음에 그 배경을 찬찬히 살펴본다. (그래도 어렵고 이해 잘 안 가는 건 함정) 그러면 내가 코드 쳐보면서 이해가 안 갔던 부분들이 '아 이래서 이런 거였구나?'하면서 뭔가 더 머릿속에 잘 들어오는 느낌;;; 뭐 물론 나만 그럴수도. 암튼 각설하고. 오늘은 MVC 패턴의 변화와 @SpringbootApplication에 대해서 다뤄볼 것이다. (글이 길어져서 @SpringbootApplication는 따로 뺌) ..

Spring/MVC 2023.01.27

스프링 MVC 1편 (3) - MVC 기본 기능

강의 : 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 내가 보려고 씀 섹션 6. 스프링 MVC - 기본 기능 ※ 매핑 정보 @Controller - 반환 값이 String 이면 뷰 이름으로 인식된다. 그래서 뷰를 찾고 뷰가 랜더링 된다. @RestController - 반환 값으로 뷰를 찾는 것이 아니라,HTTP 메시지 바디에 바로 입력한다. 따라서 실행 결과로 ok 메세지를 받을 수 있다. @ResponseBody 와 관련이 있다. 로깅 간단히 알아보기 앞으로 로그를 사용할 것이기 때문에, 로그에 대해서 간단히 알아보자. 운영 시스템에서는 System.out.println() 같은 시스템 콘솔을 사용해서 필요한 정보를 출력하지 않고, 별도의 로깅 라이브러리를 사용해서 로그를 출력한다. packag..

Spring/MVC 2023.01.01

스프링 MVC 1편 (2) - MVC 패턴

강의 : 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 내가 보려고 씀 섹션 3. 서블릿, JSP, MVC 패턴 MVC 패턴 - 개요 Model View Controller 웹 애플리케이션은 보통 이 MVC 패턴을 사용 컨트롤러 HTTP 요청을 받아서 파라미터를 검증하고, 비즈니스 로직을 실행한다. 그리고 뷰에 전달할 결과 데이터를 조회해서 모델에 담는다. 모델 뷰에 출력할 데이터를 담아둔다. 뷰가 필요한 데이터를 모두 모델에 담아서 전달해주는 덕분에 뷰는 비즈니스 로직이나 데이터 접근을 몰라도 되고, 화면을 렌더링 하는 일에 집중할 수 있다. 뷰 모델에 담겨있는 데이터를 사용해서 화면을 그리는 일에 집중한다. 여기서는 HTML을 생성하는 부분을 말한다. ※ 참고 컨트롤러에 비즈니스 로직을 둘 수도 ..

Spring/MVC 2022.12.30

스프링 MVC 1편 (1) - 서블릿, HTTP 요청 & 응답

강의 : 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 내가 보려고 씀 섹션 1. 웹 애플리케이션 이해 서블릿 컨테이너 서블릿 객체는 싱글톤으로 관리 싱글톤? 객체를 딱 하나만 생성해놓고, 그걸 공유해서 쓰는 것. (2 ~3개 new로 생성하지 않음) 왜 이렇게 사용할까? 요청이 다 다르기 때문. 자바 뷰 템플릿 역사 HTML을 편리하게 생성하는 뷰 기능 JSP 속도 느림, 기능 부족 요즘엔 애매함. 스프링부트에서 JSP를 권장하지 않음. 기능도 많이 부족함. 타임리프(Thymeleaf) 내추럴 템플릿 : HTML의 모양을 유지하면서 뷰 템플릿 적용 가능 (태그를 넣어서 문제를 해결) 스프링 MVC와 강력한 기능 통합 (spring에서 밀고 있음) 최선의 선택, 단 성능은 프리마커, 벨로시티가 더 빠..

Spring/MVC 2022.12.22