[Spring Boot] 세션 (Session)
·
Java/Spring Boot
#  관련 포스팅  - 세션 개념 : https://young0105.tistory.com/160  - JSP 세션 사용법 : https://young0105.tistory.com/163 세션 (Session)  - 내장형 서버의 메모리 기반 세션을 사용함      → 세션 데이터가 서버의 메모리에 저장됨      → 서버를 재시작하면 세션 데이터가 모두 삭제됨      → 방안 : 세션 클러스터링, 분산 캐시                      (세션 데이터를 외부 저장소에 저장함)  #  Controller에서 session 객체 가져오기12345678910111213141516171819@Controller@RequestMapping("/account")public class A..
[Spring Boot] 인터셉터 (Interceptor) ★
·
Java/Spring Boot
인터셉터 (Interceptor)  - 요청을 처리하기 전과 후에 실행되는 코드  - 컨트롤러에 도달하기 전과 후에 사용자 지정 작업을 수행할 수 있음   - Filter와 매우 유사한 형태      → 차이점 : Spring Context에 등록되고, Spring Container에서 동작함                          (Filter는 WAS에서 동작)      · 필터는 인증 과정에서 로깅 정도로만 사용함         (어떤 데이터가 들어 있는지 등)  - AOP와 유사한 기능 제공      : 선/후 처리함으로써, 비즈니스 로직과 분리시킴  - 용도      · 인증 단계 처리      · 로깅, 인가, 데이터 변환 등의 공통 작업 수행  - 필요에 따라 인터셉터를 여러 개 등록하..
[Spring Boot] 필터 (Filter)
·
Java/Spring Boot
필터 (Filter)  - 요청/응답을 처리하기 전에 특정 작업을 수행할 수 있는 컴포넌트  - 웹 애플리케이션 영역에서 관리  - Spring Container의 앞에 위치하며, Web Container (WAS) 내에서 실행됨      → 필터는 요청이 필터/서블릿에 도달하기 전에 요청을 가로챌 수 있음 #  실행 시점  - 클라이언트 요청이 실제 서블릿/컨트롤러에 도달하기 전에 실행됨  - 서블릿/컨트롤러의 응답이 클라이언트로 돌아가기 전에 실행됨 #  목적  i. 인증 및 인가      : 사용자의 자격 증명을 확인하고 요청된 리소스에 대한 액세스 권한을 검사함  ii. 로깅      : 요청 및 응답에 대한 로깅 수행  iii. 요청 및 응답 수정      : 헤더, 쿠키, 파라미터 등을 추가/..
[Spring Boot] JSP 템플릿 엔진 연결하기
·
Java/Spring Boot
1. build.gradle 파일에서 의존성 추가12345dependencies {    implementation 'org.apache.tomcat.embed:tomcat-embed-jasper' // JSP    implementation 'javax.servlet:jstl' // JSTL    ...}Colored by Color Scriptercs" data-ke-type="html">HTML 삽입미리보기할 수 없는 소스   - Tomcat에서 JSP를 처리하기 위한 라이브러리  - Embedded Tomcat       : 스프..
[Spring Boot] 예외 처리 (exception)
·
Java/Spring Boot
#  관련 포스팅  - 사용자 정의 예외 클래스와 에러 페이지 : https://young0105.tistory.com/227 @ControllerAdvice & @RestControllerAdvice  - 예외 처리를 담당하는 클래스에 붙이는 어노테이션  - 스프링에서 예외 처리를 담당하는 핵심적인 요소 중 하나 #  차이점  - 반환 타입과 기본 응답 형태가 다름  ▶ @ControllerAdvice      · View를 렌더링하기 위해 ModelAndView 형태로 객체를 반환하도록 기본 설정되어 있음          - 요청에 대한 응답이 View 형태로 전달됨 (예외 page 리턴)          - JSP 등의 템플릿 엔진을 사용할 수 있음     ▶ @RestControllerAdvice..