Spring Framework/Web on Servlet Stack(72)
-
Handler Method : Multipart
Spring에서 Multipart 요청 처리 완벽 정리 🚀Multipart 요청은 파일과 함께 다양한 형식의 데이터를 서버로 전송할 수 있는 요청입니다.Spring에서는 MultipartResolver를 활성화하고, MultipartFile 또는 Part 객체를 사용하여 파일 업로드 및 JSON 데이터를 동시에 처리할 수 있습니다.📌 1️⃣ Multipart 요청 개념✅ MultipartFile → 파일 업로드를 처리하는 Spring 인터페이스✅ @RequestParam → 폼 데이터(multipart/form-data)에서 파일을 처리✅ @RequestPart → JSON + 파일을 함께 전송할 때 사용✅ MultipartResolver → Spring이 Multipart 요청을 처리할 수 있도록 ..
2024.10.09 -
Handler Method : Flash Attributes
플래시 속성(Flash Attributes)는 하나의 요청에서 저장된 데이터를 다른 요청에서 사용할 수 있도록 하는 방법을 제공합니다. 이는 주로 리다이렉트할 때 사용되며, Post-Redirect-Get 패턴에서 자주 활용됩니다. 플래시 속성은 리다이렉트 전에 임시로 저장되며, 리다이렉트 후 다음 요청에서 사용할 수 있도록 전달됩니다. 이후 즉시 삭제되므로 일시적인 데이터 전송에 유용합니다.플래시 속성의 주요 개념FlashMap: 플래시 속성을 저장하는 객체입니다. 플래시 속성은 세션에 임시로 저장되며, 리다이렉트 후에 해당 속성을 사용할 수 있게 됩니다.FlashMapManager: FlashMap 인스턴스를 관리하고, 플래시 속성을 저장하고 가져오며, 세션에서 이를 관리하는 역할을 합니다.플래시 속..
2024.10.09 -
Handler Method : Redirect Attributes
RedirectAttributes는 리다이렉트를 수행할 때, 리다이렉트 URL로 전달할 데이터를 명시적으로 지정할 수 있도록 도와주는 스프링의 기능입니다. 디폴트로 스프링은 리다이렉트를 수행할 때, 모델(Model)에 포함된 모든 속성을 URL 템플릿 변수로 사용하거나, 기본 타입 속성(primitive type)을 쿼리 파라미터로 자동으로 추가합니다. 하지만, 이런 방식은 때로 불필요한 데이터가 URL에 노출될 수 있기 때문에, RedirectAttributes를 사용하여 리다이렉트 시에 전달할 속성을 제어할 수 있습니다.기본 개념리다이렉트 시 모델 속성 처리: 스프링에서 리다이렉트를 사용할 때, 모델에 포함된 속성 중 기본 타입이나 컬렉션(또는 배열)은 자동으로 쿼리 파라미터로 URL에 추가됩니다. ..
2024.10.09 -
HttpServletRequest
HTTP Request의 속성(attribute)은 서블릿 필터(Servlet Filter)나 핸들러 인터셉터(HandlerInterceptor) 등의 컴포넌트가 처리하는 동안 추가하는 추가적인 데이터입니다. 이 속성은 request scope 내에서 사용되며, 요청이 시작되어 끝날 때까지 유지됩니다. 요청 속성은 일반적인 요청 헤더나 본문과는 달리, 서버 쪽에서 생성 및 관리되며, 주로 서버 내에서 특정 요청에 대한 데이터를 다른 컴포넌트에 전달하기 위한 목적을 가집니다.HTTP 요청 속성의 역할추가 데이터 전달: 필터나 인터셉터에서 요청을 처리할 때, 특정한 정보를 다른 컨트롤러로 전달해야 할 경우 요청 속성을 사용합니다. 예를 들어, 인증 정보를 필터에서 처리한 후, 이 정보를 컨트롤러로 전달할 때..
2024.10.09 -
Handler Method : @RequestAttribute
@RequestAttribute 어노테이션은 HTTP Request에서 미리 설정된 속성(attribute)에 접근하는 데 사용됩니다. 이 속성은 필터(Filter)나 인터셉터(HandlerInterceptor) 같은 다른 컴포넌트에서 설정된 값일 수 있으며, 컨트롤러에서 해당 값을 아규먼트로 받아 처리할 수 있습니다.HttpServletRequest기본 개념@RequestAttribute는 HTTP request의 속성에 접근하기 위한 어노테이션입니다.request 속성은 일반적으로 서블릿 필터(Servlet Filter)나 핸들러 인터셉터(HandlerInterceptor)에서 설정되며, 이러한 속성을 컨트롤러에서 직접 사용할 수 있습니다.이 어노테이션을 사용하면, Request 범위 내에서 유지되는..
2024.10.09 -
Handler Method : @SessionAttribute
@SessionAttribute 어노테이션은 HTTP 세션에서 미리 존재하는 세션 속성을 컨트롤러 메서드의 아규먼트로 가져오는 데 사용됩니다. 이는 세션에 저장된 특정 데이터를 컨트롤러에서 바로 사용할 수 있도록 해줍니다. @SessionAttribute는 세션에 이미 존재하는 속성에 접근할 때 유용하며, 새로운 값을 세션에 저장하거나 관리하는 것이 아닌, 세션에 저장된 값을 읽어오는 역할을 합니다.기본 개념@SessionAttribute는 주로 글로벌하게 관리되는 세션 속성에 접근하는 데 사용됩니다. 예를 들어, 세션에 이미 저장된 사용자 정보나 인증 정보를 가져올 때 유용합니다.이 어노테이션을 사용하면, 컨트롤러 메서드에서 미리 존재하는 세션 속성을 직접 아규먼트로 받을 수 있습니다.만약 세션에 해당..
2024.10.09