본문 바로가기

Spring6

Spring 2일차 Filter와 interceptor필터와 인터셉터를 하기 전에 다시 한번 더 Spring의 흐름을 확인해 보자.스프링에서 클라이언트 요청이 컨트롤러에 도달하기 전에 여러 계층을 거친다.스프링 외부인 Filter와 내부에서 처리하는 Interceptor가 존재한다. Filterjavax.servlet.Filter 인터페이스를 구현한 객체이다.서블릿의 요청과 응답을 한 번 감싸서 전처리와 후처리 가능하다.스프링과 무관하므로, 톰캣 같은 서블릿 컨테이너 수준에서 동작한다. @Slf4j@Componentpublic class RequestTimeFilter implements Filter { @Override public void doFilter(ServletRequest servletRequest,.. 2025. 10. 22.
Spring 1일차(5) Spring MVC 요청, 응답 흐름Spirng에서 Form 데이터 요청을 받는 방법Spirng에서 Form 데이터 요청을 받는 방법은 대표적으로 3개가 존재한다. HttpServletRequest 객체 활용전통적인 서블릿 방식으로, 요청 객체(HttpServletRequest)를 직접 이용해 데이터를 가져오는 방법이다.메서드의 매개변수로 HttpServletRequest를 선언하면 스프링이 자동으로 주입해 준다.기본 자바에서는 JSP/Servlet에서 방식은 동일하지만, 스프링에서는 사용하지 않는 방법이다.비효율적이고 타입 안전하지 않는다.@PostMapping("login.me")public String login(HttpServletRequest request) { String id = req.. 2025. 10. 21.
Spring 1일차(4) 스프링은 MVC 패턴이 기본이기에 MVC 패턴을 간단히 살펴본다. MVCMVC는 애플리케이션을 세 가지 역할로 분리하여 구성하는 소프트웨어 설계 패턴으로 사용자의 요청을 받아 로직 처리하고 결과 화면을 보여주는 역할을 나눈다.구성요소역학Model애플리케이션의 데이터와 비즈니스 로직 담당View사용자에게 보여지는 화면 구성Controller사용자 입력 처리 및 Model과 View 연결 MVC 패턴을 사용하는 이유MVC 패턴을 사용하지 않아도 모든 걸 한 파일에서 처리할 수 있지만, 가독성이 떨어지고 유지보수가 힘들다.로직과 화면 분리되어 있지 않아 테스트하기 어렵고 퍼블리셔와 개발자가 함께 작업이 불가능하다. MVC구조로 작성관심사 분리 (SoC): 역할별로 코드가 나뉘어 구조가 명확해짐유지보수 용이: .. 2025. 10. 21.
Spring 1일차(3) Spring은 XML 설정이 복잡하고, 개발 초기 설정 작업이 많고, 톰캣 같은 서버를 따로 설치하지만 Spring Boot는 복잡함을 해결하기 위해 등장한 것이다. 스프링 부트매우 빠르고 광범위한 영역의 스프링 개발 경험을 제공하는 것을 목표로 한다. 개발자가 즉시 실무에 적용 가능한 기술 조합을 기본으로 제공하며, 필요에 따라 유연하게 커스터마이징 할 수 있는 구조를 갖추고 있다. 또한, 스프링 부트는 프로젝트에 일반적으로 필요한 다양한 비기능 기술 요소들을 기본 내장하고 있어, 개발자가 복잡한 설정 없이도 다음과 같은 기능을 손쉽게 사용할 수 있다.내장 웹 서버(Tomcat 등)보안 설정(Spring Security 연동)모니터링 및 메트릭(Actuator)상태 체크 헬스 체크 API외부 설정 지.. 2025. 10. 21.
Spring 1일차(2) Spring스프링은 자바 기반의 엔터프라이즈 애플리케이션을 쉽게 개발할 수 있도록 지원해 주는 프레임워크이다.POJO(Plain Old Java Object) 기반으로 객체를 만들고 관리한다.DI(의존성 주입), AOP(관점 지향 프로그래밍) 같은 핵심 기술을 바탕으로 유지보수가 쉬운 애플리케이션을 만들 수 있도록 지원한다.스프링은 웹, 데이터, 보안, 트랜잭션 등 모든 계층의 기능을 통합적으로 제공하는 범용 프레임워크이다. 스프링을 사용하는 이유자바 진영의 표준 프레임워크국내외 거의 모든 기업 웹 서비스와 백엔드가 스프링 기반이다.스프링을 알면 자바 웹 개발 대부분을 이해할 수 있다. 의존성 관리와 확장성객체 간 의존성을 프레임워크가 대신 관리한다.컴포넌트 간 결합도가 낮아 유지보수가 편리하다 풍부한 .. 2025. 10. 21.
Spring 1일차(1) Spring을 하기 전에 웹 주요 구성 요소를 살펴보자 웹의 주요 구성 요소클라이언트웹 브라우저처럼 서버에 요청을 보내는 프로그램 서버클라이언트 요청에 따라 데이터를 응답해 주는 컴퓨터 HTTP 프로토콜클라이언트 - 서버 간에 데이터를 주고받는 기본 통신 규약어떻게 통신하는 지, 어떤 방식으로 요청/응답이 이루어지는지를 정의한다.HTTP에 보안 기능을 추가한 HTTPS 버전도 존재한다. 기본 동작 흐름사용자가 브라우저에 주소를 입력하면 브라우저는 HTTP 요청을 보낸다.서버가 요청을 받아 처리한 뒤 응답을 보낸다.브라우저는 서버가 보낸 요청을 응답받아 응답 데이터 바탕으로 화면을 출력한다. HTTP 요청의 구성요소설명예시요청 메서드어떤 동작을 할 것인가GET, POST, PUT, DELETE 등요청 UR.. 2025. 10. 21.