Spring Framework/Web on Servlet Stack(64)
-
Annotated Controllers[1]
Spring MVC는 @Controller와 @RestController 컴포넌트가 Http request 매핑, request 입력, 예외 처리 등을 애노테이션을 통해 표현할 수 있는 애노테이션 기반 프로그래밍 모델을 제공합니다. 애노테이션 컨트롤러는 유연한 메서드 시그니처를 가지며, 기본 클래스를 확장하거나 특정 인터페이스를 구현할 필요가 없습니다. 다음은 애노테이션으로 정의된 컨트롤러의 예입니다:@Controllerpublic class HelloController { @GetMapping("/hello") public String handle(Model model) { model.addAttribute("message", "Hello World!"); retur..
2024.10.06 -
Filter
Spring Web 모듈 필터 개요Spring Web 모듈은 서블릿 기반 애플리케이션에서 웹 요청을 처리하는 데 유용한 여러 필터를 제공합니다. 이 필터들은 Form 데이터 처리, 전달된 헤더 관리, 얕은 ETag 캐싱, CORS(교차 출처 리소스 공유) 처리를 위한 기능을 제공합니다. 각 필터의 역할에 대해 자세히 살펴보겠습니다.Form Data 필터디폴트로 브라우저에서는 HTTP GET 또는 POST 메서드를 통해서만 폼 데이터를 전송할 수 있습니다. 하지만 Non-브라우저 클라이언트(예: REST 클라이언트)는 다른 HTTP 메서드인 PUT, PATCH, 또는 DELETE를 사용하여 폼 데이터를 전송할 수 있습니다. Servlet API는 POST 요청에 대해서만 ServletRequest.getP..
2023.05.19 -
WebDataBinder
📌 WebDataBinder란?WebDataBinder는 웹 요청 파라미터를 JavaBean 객체로 바인딩하는 특별한 DataBinder입니다.📌 서블릿 API에 종속되지 않으며, ServletRequestDataBinder와 같은 구체적인 변형 클래스의 기본 역할을 합니다.📌 주요 사용 사례:컨트롤러에서 폼 데이터를 객체로 자동 변환JSON 데이터를 Java 객체로 변환데이터 유효성 검사 수행커스텀 변환기 적용 가능⚠️ 보안 경고:데이터 바인딩을 사용할 때 외부 클라이언트가 특정 객체 그래프를 조작할 위험이 있으므로,허용되지 않은 필드 바인딩을 막고 적절한 보안 조치를 취해야 합니다.✅ WebDataBinder의 주요 기능1️⃣ 데이터 바인딩 (HTTP 요청 → Java 객체)WebDataBind..
2023.05.01 -
Servlet
Servlet서블릿(Servlet) 자체는 웹 애플리케이션의 구성 요소 중 하나입니다. 웹 애플리케이션은 클라이언트의 요청에 대한 동적인 처리를 위해 서버상에서 실행되는 애플리케이션을 말하며, 서블릿은 그 중에서 Java를 사용하여 웹 서버에서 실행되는 프로그램입니다.서블릿은 HTTP 요청을 받아 처리하고, 그 결과를 웹 브라우저로 다시 전송(응답)하는 역할을 합니다. 이는 HTML, XML 등의 형태로 응답을 생성하여 클라이언트(보통 웹 브라우저)에 전달합니다. 서블릿은 Java EE(Enterprise Edition) 스펙의 일부이며, JSP(JavaServer Pages), JSF(JavaServer Faces)와 같은 다른 Java 웹 기술과 함께 웹 애플리케이션의 백엔드 로직을 구현하는 데 사용..
2023.04.17