Tech Stack/Backend16 🛡️Spring Security & HTTP Basic 인증 방식의 이해 1. Spring Security의 핵심 인증 절차사용자가 로그인을 시도할 때, 스프링 시큐리티 내부에서는 디스패처 서블릿(DispatcherServlet)에 요청이 도달하기 전 여러 보안 필터들을 거치며 인증 및 권한 부여를 처리한다.1) 인증 vs 권한 부여인증 (Authentication): 현재 사용자가 가입된 회원이 맞는지(ID 존재 여부 및 패스워드 일치 여부) 확인하는 절차.권한 부여 (Authorization): 인증된 사용자가 특정 리소스나 엔드포인트에 접근할 수 있는 자격(예: 구독 여부, 역할)이 있는지 확인하는 절차2) 핵심 보안 컴포넌트의 흐름 (인증 과정)또한, Spring Security는 인증 정보를 SecurityContextHolder에 저장하여 애플리케이션 전반에서 인증.. 2026. 6. 29. 🛡️자바 서블릿 기반의 HttpSession (세션) 1. 세션(Session)이란?웹 사이트에서 사용자가 로그인하거나 페이지를 이동할 때, 사용자의 상태 정보를 서버에 안전하게 유지하기 위해 사용하는 기술. = 자바 서블릿 스펙에서 제공하는 대표적인 서버 사이드 세션 관리 기술 스프링 프레임워크나 일반 자바 웹 애플리케이션에서 로그인 상태를 유지할 때 가장 기본적으로 사용된다.특징: 웹을 이루는 HTTP 프로토콜은 상태를 유지하지 않는 Stateless(무상태) 특성을 가짐.즉, 서버는 페이지를 요청할 때마다 요청한 사람이 누구인지 기억하지 못함만약 세션이 없다면, 사용자는 새로운 페이지를 클릭할 때마다 매번 다시 로그인을 해야 함이를 해결하기 위해 세션은 다음과 같은 메커니즘으로 동작한다.2. 세션의 핵심 동작 원리세션은 비밀번호나 유저 정보 같은 중요.. 2026. 6. 29. 🥾src/test/java에서 시작하는 단위 테스트 환경 구축과 로깅 가이드 1. 단위 테스트(Unit Test)의 개념과 환경 개요단위 테스트는 메인 소스 코드(src/main/java)와 완전히 격리된 별도의 영역인 src/test/java 폴더에서 수행되는 품질 검증 단계이다. (품질 보증 및 자동화)즉, 외부 시스템(DB, 외부 API 등)에 의존하지 않고, 하나의 기능만을 독립적으로 격리하여 테스트하는 것을 의미.독립적인 검증: 외부 시스템(웹 서버, 데이터베이스 등)에 의존하지 않고, 하나의 메서드나 클래스의 기능만을 분리하여 테스트.실행 및 자동화: IDE(IntelliJ, Eclipse 등)에서 JUnit Test를 통해 손쉽게 실행하며, 런타임 시점에 에러가 없는지 검증. 각 테스트 메서드가 하나의 독립된 테스트 단위가 됨.폴더구조(src/test/java): J.. 2026. 6. 27. 🥾디스패처 서블릿 (레거시 방식과 REST API 방식) 1. 디스패처 서블릿(Dispatcher Servlet)이란?스프링 MVC 프레임워크의 중심축으로, 모든 웹 요청의 진입점 역할을 처리하는 중앙 컨트롤러. (중앙 집중)모든 HTTP 요청을 가장 먼저 받아서 적절한 세부 컨트롤러에게 배분하는 역할을 한다.내부적으로 핸들러 매핑을 통해 Spring IoC 컨테이너(Root Context, Servlet Context)와 연결되어 효율적으로 컴포넌트들(Spring Bean)을 제어.요청을 받아서 적절한 컨트롤러(@Controller 또는 @RestController)에게 전달(Dispatch)하는 역할을 전담한다.디자인 패턴 중 프론트 컨트롤러 패턴을 통해 구현함.HttpServlet을 상속받은 단 하나의 거대한 대표 서블릿프론트 컨트롤러(Front Cont.. 2026. 6. 25. 🥾 레거시와 Spring Boot 웹 서버 구동 방식 비교 (+ REST API) 1. 웹 서버 구동 방식 비교: 레거시 vs Spring Boot1) 레거시 방식 (외장형 동적 웹 서버 구동)서버와 코드가 분리됨: 아파치 톰캣(Tomcat) 같은 외장 WAS(여기에 서블릿 컨테이너 엔진인 카탈리나가 포함되어 있음)를 서버 컴퓨터에 먼저 독립적으로 설치하고 실행해야 함. 배포 방식: 개발자는 작성한 코드를 WAR이라는 압축 파일로 빌드(패키징)한 뒤, 실행 중인 톰캣의 특정 폴더(webapps/)에 집어넣는 방식. 그러면 톰캣이 이를 감시하다가 동적으로 인식하여 구동. (WAR 파일의 압축을 자동으로 풀고 내부 구조를 인식)"서버 위에 앱을 올려서 웹 서비스를 고객에게 호스팅하는 방식"서블릿을 처리할 수 있는 서블릿 컨테이너 엔진(Catalina)이 웹 애플리케이션의 생명주기를 관리하.. 2026. 6. 25. 🐱순수 Jakarta EE 서블릿 환경에서 톰캣 연동 및 구동 테스트 1. 개발 환경 구축 및 WAR 빌드/배포 절차1) STS4 자바 엔터프라이즈 플러그인 설치순수 서블릿 및 웹 기능(Dynamic Web Project) 개발을 위해 플러그인이 필요함.Help ▶️ Eclipse Marketplace... 선택Find 검색창에 Eclipse Enterprise Java 검색마켓플레이스에서 검색 결과로 나오는 Eclipse Enterprise Java and Web Developer Tools 설치 후 STS4 재시작💡 Spring Boot 기반으로 나온 STS4는 기본적으로 순수 Dynamic Web Project(레거시 서블릿) 메뉴가 포함되어 있지 않음2) 프로젝트 환경(빌드)별 WAR 파일 추출 방법 빌드 도구가 없는 순수 서블릿 (일반 Dynamic Web Pr.. 2026. 6. 24. 이전 1 2 3 다음