Spring Boot 서블릿 기초: 서블릿 이해하기 (1편)
·
Spring 기초/Spring 기초 지식2
이번 포스트에서는 Spring에서 사용되는 서블릿에 대한 기본기를 설명한다. 1. 서블릿이란 서블릿(Servlet)은 웹 서버에서 실행되는 자바 프로그램으로, 클라이언트로부터의 요청을 처리하고 그 결과를 다시 클라이언트에게 전송하는 역할을 한다. 이는 주로 동적인 웹 페이지를 생성하기 위한 용도로 사용된다. 즉, 사용자가 웹 페이지를 요청할 때마다 새롭게 생성되는 콘텐츠를 만드는데 사용되는 도구 중 하나이다. 서블릿은 일반적인 자바 클래스와 마찬가지로 자바 코드로 작성된다. 하지만 일반적인 자바 프로그램과는 다르게 웹 서버 내에서 실행되며, HTTP 프로토콜을 이용하여 클라이언트와 통신한다. 이를 위해, 서블릿은 보통 HTTP 요청을 처리하는 메소드를 구현한다. 대표적인 예로는 doGet()과 doPos..
Spring Boot 3.1 & Spring Security 6: 로그인 프로세스 및 JWT 토큰 동작 설명 (10편)
·
Spring Security
지금까지 만든 시큐리티의 동작을 설명하겠다. 1. 로그인 과정 로그인 페이지 접근: 사용자는 웹 브라우저에서 로그인 페이지(/login)에 접근한다. 로그인 페이지에는 사용자 이름과 비밀번호를 입력할 수 있는 폼이 있다. 로그인 요청: 사용자가 자신의 사용자 이름과 비밀번호를 입력하고 "Login" 버튼을 클릭하면, AJAX 요청을 통해 서버에 로그인 요청(/user/login)이 전송된다. 인증 필터 처리: CustomAuthenticationFilter는 로그인 요청을 가로챈다. 이 필터는 UsernamePasswordAuthenticationFilter를 확장하여 구현되었다. 요청에서 사용자 이름과 비밀번호를 추출하여 UsernamePasswordAuthenticationToken 객체를 생성한다...
Spring Boot 3.1 & Spring Security 6: 로그인 & 메인 페이지 컨트롤러 (9편)
·
Spring Security
로그인 뷰를 보여주고 action을 실행시킬 로그인 컨트롤러와 메인페이지를 보여주게될 메인 컨트롤러를 작성한다. 1. @Controller - 로그인, 메인페이지 컨트롤러 1-1. LoginController 이 코드는 사용자의 로그인 및 로그아웃을 관리하는 컨트롤러이다. Spring의 @Controller 어노테이션을 사용하여 웹 요청을 처리하는 클래스임을 나타낸다. @Slf4j @RequiredArgsConstructor @Controller public class LoginController { /** * [View] 로그인 페이지를 엽니다. */ @GetMapping("/login") public String login() { return "login"; } /** * [Action] 로그인 프로..
Spring Boot 3 & Security 6 시리즈: WebConfig 클래스 작성 (3편)
·
Spring Security
웹 설정을 추가로 정의하기 위해 WebMvcConfigurer를 구현해주는 WebConfig 클래스를 작성하자 1. WebConfig 설정하기 1-1. SSR(Server Side Rendering)전용 WebConfig 설정하기 WebMvcConfigurer를 구현하는 WebConfig 클래스를 작성한다. WebConfig는 웹 애플리케이션의 웹 설정을 정의하는 클래스다. 여기서는 인터셉터, 뷰 컨트롤러, 정적 리소스 핸들러 등을 설정한다. @Slf4j @RequiredArgsConstructor public class WebConfig implements WebMvcConfigurer { private final JwtTokenInterceptor jwtTokenInterceptor; @Overrid..