Web on Servlet Stack

https://sundaland.tistory.com/314  [ ▶ Annotated Controllers ]스프링 MVC는 @Controller와 @RestController 컴포넌트가 요청 매핑, 요청 압력, 예외 처리 등을 애노테이션을 통해 표현할 수 있는 애노테이션 기반 프로그래밍 모델을 제공한다. 애노테이션 컨트롤러는 유연한 메서드 시그니처를 가지며, 기본 클래스를 확장하거나 특정 인터페이스를 구현할 필요가 없다. ▼ 애노테이션으로 정의된 컨트롤러 @Controllerpublic class HelloController { @GetMapping("/hello") public String handle(Model model) { model.addAttribute("messag..
https://sundaland.tistory.com/375 [ ▶ Path Matching ]Path Matching은 Spring MVC에서 클라이언트 요청의 URL path를 기반으로 적절한 컨트롤러와 매핑하는 과정이다. Spring MVC는 URL 경로와 컨트롤러를 매핑하여 클라이언트 요청을 처리하는데, 이 과정에서 path matching에 다양한 옵션을 제공할 수 있다. 이러한 매칭 동작을 세부적으로 제어하기 위해 Spring MVC에서는 PathMatchConfigurer를 사용하여 매칭 방식을 커스터마이징할 수 있다. [ ▷ PathMatchConfigurer란? ]PathMatchConfigurer는 URL 경로와 컨트롤러 핸들러를 매핑할 때 경로를 처리하는 방법을 설정하는 데 사용되는 ..
https://sundaland.tistory.com/372 [ ▶ View Resolvers ]View Resolvers는 Spring MVC에서 클라이언트 요청에 대한 응답을 렌더링할 뷰(HTML, JSON, JSP 등)를 결정하는 역할을 한다. Spring MVC는 다양한 뷰 기술을 지원하며, 이를 위해 ViewResolver를 사용하여 요청이 어떤 뷰로 렌더링될지를 결정한다.ViewResolver는 컨트롤러가 반환하는 뷰 이름을 실제 뷰로 매핑한다. 예를 들어, 컨트롤러에서 "home"이라는 뷰 이름을 반환하면, 뷰 리졸버는 해당 이름을 실제 뷰 파일(home.jsp 또는 home.html)과 연결한다. [ ▷ View Resolvers 구성 ]Spring MVC는 뷰 리졸버 구성을 쉽게 구성할 ..
https://sundaland.tistory.com/371 [ ▶ View Controllers ]View Controllers는 Spring MVC에서 ParameterizableViewController를 설정하는 단축 기능이다. 이 컨트롤러는 클라이언트의 요청을 특정 뷰로 즉시 전달(forward)하는 역할을 한다. 주로 정적인 페이지를 제공할 때 사용되며, Java 컨트롤러의 로직 없이 뷰만 응답할 수 있는 상황에서 유용한다. [ ▷ View Controller란? ]View Controller는 HTTP 요청을 처리하는 Java 코드가 필요 없고, 단순히 특정 URL에 대한 요청을 특정 JSP, HTML, 또는 템플릿 뷰로 연결할 때 사용된다. 이 방법을 사용하면 Java 컨트롤러 클래스나 메..
https://sundaland.tistory.com/369  [ ▶ Content Types ]Spring MVC (Model-View-Controller)은 요청에 따라 다양한 콘텐츠 타입을 처리할 수 있는 유연한 메커니즘을 제공한다. 이를 Content Negotiation(콘텐츠 협상)이라고 하며, 클라이언트의 요청에 따른 응답 형식을 결정하는 데 사용된다.  [ ▷ Content Negotiation이란? ]Content negotiation은 클라이언트가 선호하는 응답 형식을 요청에 명시하면, 서버가 그에 따라 적절한 응답 형식을 선택하는 기능이다.Spring MVC에서 content negotiation은 기본적으로 클라이언트가 보내는 Accept 헤더에 의해 주도됩니다. 하지만, URL 경..
https://sundaland.tistory.com/367 [ ▶ Validation ]Spring MVC에서 validation(검증)은 컨트롤러에서 데이터를 처리하기 전에 데이터의 정확성을 보장하는 데 중요한 역할을 한다. 기본적으로 Spring MVC는 Bean Validation(JSR-303/JSR-380)을 통합하여 사용하며, Hibernate Validator가 기본 제공자로 사용된다. Bean Validation이 클래스패스에 존재하는 경우, Spring은 자동으로 LocalValidatorFactoryBean을 글로벌 Validator로 등록하여 컨트롤러 메서드에서 @Valid와 @Validated 애노테이션을 사용할 수 있게 해준다. [ ▷ 디폴트 Validation 설정 ] Spri..
https://sundaland.tistory.com/366 [ ▶ Type Conversion ]Spring MVC는 다양한 숫자 및 날짜 타입에 대한 기본적인 formatting 지원을 제공한다. 또한 @NumberFormat 및 @DateTimeFormat 애노테이션을 사용하여 필드의 포맷을 커스터마이즈할 수 있다. 이러한 타입 변환 시스템은 폼, JSON 응답, 기타 요청/응답 데이터에서 객체와 문자열 간의 변환을 쉽게 만들어준다. 여기서는 Spring MVC에서 이 기능이 어떻게 작동하는지, 커스텀 컨버터와 포매터를 등록하는 방법, 그리고 반응형 스택(Spring WebFlux)에서의 동등한 기능에 대해 설명한다. [ ▷ Spring MVC의 디퐅트 타입 변환 ]Spring MVC는 기본적으로 ..
https://sundaland.tistory.com/368 [ ▶ Interceptors ]Spring MVC에서 Interceptor는 incoming HTTP 요청과 outgoing 응답에 대해 로직을 적용할 수 있는 강력한 메커니즘이다. 이를 통해 컨트롤러에 요청이 도달하기 전에 요청을 가로채거나, 컨트롤러에서 응답을 처리한 후 추가 로직을 수행할 수 있다. Interceptor는 주로 로깅, 감사(auditing), 요청/응답 객체를 수정하는 작업에 사용된다. [ ▷ Interceptor의 작동 방식 ]Interceptor는 Servlet Filter와 비슷하게 작동하지만, Spring Web Application Context와 더 밀접하게 통합된다. Interceptor는 전역적으로 등록되어..
GLaDiDos
'Web on Servlet Stack' 카테고리의 글 목록