[Spring] 6. Dispatcher Servlet
사용자가 브라우저 주소창에 https://.../users/1을 입력하는 순간, 그 요청은 과연 어떤 과정을 거쳐 수많은 컨트롤러 중에서 정확한 메서드를 찾아가는 걸까? 스프링 MVC는 이 복잡한 과정을 관리하기 위해 모든 요청을 단 하나의 관문인 디스패처 서블릿(Dispatcher Servlet)에서 처리한다. 디스패처 서블릿이란? ...
사용자가 브라우저 주소창에 https://.../users/1을 입력하는 순간, 그 요청은 과연 어떤 과정을 거쳐 수많은 컨트롤러 중에서 정확한 메서드를 찾아가는 걸까? 스프링 MVC는 이 복잡한 과정을 관리하기 위해 모든 요청을 단 하나의 관문인 디스패처 서블릿(Dispatcher Servlet)에서 처리한다. 디스패처 서블릿이란? ...
웹 브라우저, 모바일 앱, 다른 서버 등 다양한 클라이언트가 내 Spring 서버에 요청을 보낼 수 있다. 이때 서로 약속된 통신 규약이 필요한데 그것이 바로 ‘API (Application Programming Interface)’이다. REST(Representational State Transfer) 란? 웹 API 를 설계하...
MVC 패턴이란? 하나의 애플리케이션을 모델(Model), 뷰(View), 컨트롤러(Controller) 라는 세 가지 역할로 구분하는 소프트웨어 디자인 패턴 이 패턴의 핵심 목표는 ‘관심사의 분리(Separation of Concerns)’다. 즉, 사용자에게 보여주는 화면(View)과 데이터를 처리하는 비즈니스 로직(Model)을 ...
만약 모든 코드를 하나의 클래스에 작성한다면 어떻게 될까? 코드는 금세 스파게티처럼 얽히고, 작은 기능 하나를 수정하는 것도 어려워질 것이다. 좋은 소프트웨어는 각 객체가 자신만의 역할과 책임을 명확히 아는 것에서부터 시작한다. 웹 애플리케이션의 가장 기본 구조인 계층형 아키텍처(Layered Architecture)와 각 계층의 역할에 대해 정리...
스프링 빈(Spring Bean)이란? 스프링 컨테이너(Spring Container) 가 직접 생성하고 관리하는 자바 객체. 객체를 new 키워드를 통해 직접 생성하지 않고, 애너테이션(Annotation)을 통해 자동으로 생성한다. 객체를 빈으로 만드는 방법 스프링 컨테이너에 빈을 등록하는 방법에는 크게 두 가지가 있다. ...
백엔드 개발자로 취업하려면 Java 와 Spring 기술은 필수라는 말이 있다. 국내에서는 가장 많이 쓰이는 웹 프레임워크이며 전자정부 표준프레임워크이기도 하다. Spring이 인기 있는 이유는 무엇일까? 왜 Spring 기술을 공부해야할까? 하나씩 차근차근 정리해보자. 스프링(Spring)이란? 자바 언어 기반의 애플리케이션 프레...
객체지향 프로그래밍 (Object-Oriented Programming) Spring 프레임워크를 깊이 있게 이해하려면, 그 뿌리가 되는 객체지향 프로그래밍 개념을 먼저 알아야 한다. 객체지향 프로그래밍이란? 프로그램을 객체 단위로 구성하여 코드의 재사용성과 유지보수성을 높이는 방법론 객체는 데이터(속성)와 기능(메서드)을 ...
Collections Collection vs Collections Collection : 인터페이스. List, Set, Map의 부모 Collections: 클래스. 컬렉션을 다루는 도구 Collections 란? (java.util.Collections) List, Set, Map 과 같은 컬렉션에 저...
Do it! 알고리즘 코딩테스트 with JAVA 인프런 로드맵 보기 DFS DFS(깊이 우선 탐색)이란? 그래프에서 한 방향으로 끝까지 깊이 탐색한 후, 갈 수 없는 지점에 도달하면 백트래킹(backtracking) 하면서 다른 경로를 탐색하는 방식 boolean[] visited = new boolean[gr...
Do it! 알고리즘 코딩테스트 with JAVA 인프런 로드맵 보기 버블 정렬 버블 정렬이란? 데이터의 인접 요소끼리 비교하고, swap 연산을 수행하며 정렬하는 방식 동작 예시 // 자바 코드 예시: 배열 {5, 3, 8, 4, 2} 를 정렬 int[] arr = {5, 3, 8, 4, 2}; for (int i =...