spring29 [Spring] ResponseEntity ResponseEntity Spring Framework에서 제공하는 클래스 중 HttpEntity라는 클래스가 존재합니다. 이것은 HTTP 요청(Request) 또는 응답(Response)에 해당하는 HttpHeader와 HttpBody를 포함하는 클래스입니다. public class HttpEntity { public static final HttpEntity EMPTY = new HttpEntity(); private final HttpHeaders headers; @Nullable private final T body; // ... } Response header 에는 웹서버가 웹브라우저에 응답하는 메시지가 들어있고, Reponse body에 데이터 값이 들어가 있습니다. HttpEntity 클래.. 2023. 11. 7. [Spring] 전역 예외 처리 스프링의 기본적인 예외 처리 Spring은 만들어질 때부터 에러 처리를 위한 BasicErrorController를 구현해 두었고, 스프링 부트는 예외가 발생하면 기본적으로 /error로 에러 요청을 다시 전달하도록 WAS 설정을 해두었다. 그래서 별도의 설정이 없다면 예외 발생 시에 BasicErrorController로 에러 처리 요청이 전달됩니다. 참고로 이는 스프링 부트의 WebMvcAutoConfiguration를 통해 자동 설정이 되는 WAS의 설정입니다. 전역 예외 처리 - ControllerAdvice Spring은 전역적으로 ExceptionHandler를 적용할 수 있는 @ControllerAdvice와 @RestControllerAdvice 어노테이션을 제공하고 있습니다. @Contr.. 2023. 11. 4. [Spring] @Controller와 @RestController @Controller 전통적인 Spring MVC의 컨트롤러인 @Controller는 주로 View를 반환하기 위해 사용합니다. 아래와 같은 과정을 통해 Spring MVC Container는 Client의 요청으로부터 View를 반환합니다. Client는 URI 형식으로 웹 서비스에 요청을 보냅니다. DispatcherServlet이 요청을 처리할 대상을 찾습 니다. HandlerAdapter을 통해 요청을 Controller로 위임합니다. Controller는 요청을 처리한 후에 ViewName을 반환합니다. DispatcherServlet은 ViewResolver를 통해 ViewName에 해당하는 View를 찾아 사용자에게 반환합니다. Controller가 반환환 뷰의 이름으로부터 View를 렌더링.. 2023. 11. 4. [Spring] Spring Security Spring Security Spring 기반의 애플리케이션의 보안(인증과 권한, 인가 등)을 담당하는 스프링 하위 프레임워크로 Spring Security는 인증과 권한에 대한 부분을 Filter 흐름에 따라 처리하고 있습니다. Filter는 Dispatcher Servlet으로 가기 전에 적용되므로 가장 먼저 URL 요청을 받지만, Interceptor는 Dispatcher와 Controller 사이에 위치한다는 점에서 적용 시기의 차이가 있습니다. 특징 인증 및 권한 부여에 대한 포괄적이고 확장 가능한 지원 세션 고정, 클릭재킹, 크로스 사이트 요청 위조 등과 같은 공격으로부터 보호 서블릿 API 통합 Spring Web MVC와의 선택적 통합 etc 인증(Authorizatoin)과 인가(Auth.. 2023. 10. 26. [Spring] 스프링 실행 후 웹에서 한글 ?? 깨짐 에러 환경 - Spring Boot 3.1.5 - intelliJ - Java 21 문제 intelliJ에서는 깨지지 않으나 스프링으로 실행 후 웹에서 한글만 ???로 바뀌어서 출력 되는 문제가 있었다. 해결 방법 server.servlet.encoding.force-response=true 위 코드를 application.properties에 넣어주면 해결이 됩니다. 2023. 10. 20. [Spring] JPA JPA(Java Persistence API) 자바의 ORM을 위한 표준 기술로 Hibernate, Spring JPA, EcliplseLink 등 과 같은 구현체가 있고 이것의 표준 인터페이스가 JPA 입니다. ORM(Object-Relational Mapping) 객체와 RDBMS를 자동으로 매핑해주는 것을 말한다. (객체 ↔ 관계형 데이터베이스) 기술적으로는 어플리케이션의 객체를 RDB 테이블에 자동으로 영속화 해주는 것이라고 보면된다. 장점 QL문이 아닌 Method를 통해 DB를 조작할 수 있어,비즈니스 로직을 구성하는데만 집중할 수 있습니다. Query와 같이 필요한 부수적인 코드가 줄어들어 코드의 가독성이 높아집니다. 객체지향적인 코드 작성이 가능하면 되기때문에 생산성 증가합니다. 매핑하는 .. 2023. 10. 17. 이전 1 2 3 4 5 다음