📗 Back-end

📗 Back-end/📗 Docker

[Docker] Spring boot + MySQL Docker로 띄우기

* 해당 글에선 docker-compose 방식이 아닌 직접 터미널에 명령어를 작성하면서 진행하였습니다.1️⃣ Spring boot 프로젝트1) 프로젝트 생성 및 설정https://start.spring.io/ 에서 프로젝트를 하나 생성한다.ProjectProject : Gradle - GroovyLanguage : JavaSpring Boot Version : SNAPSHOT 아닌 최신 버전 (여기선 3.2.3)Packaging : JarJava Version : 17DependenciesSpring WebThymeleafSpring Data JPALombokMySQL Driver build.gradleplugins { id 'java' id 'org.springframework.boot' versio..

📗 Back-end/📗 Spring

[Spring] @ServletComponentScan 동작 원리

1️⃣ 서블릿 등록 🔎 @ServletComponentScan 스프링 컨테이너에 빈을 등록할 때 '@ComponentScan'을 사용할 수 있다. 서블릿 역시 서블릿 컨테이너에 서블릿을 등록하기 위해선 '@ServletComponentScan'을 사용한다. 애플리케이션을 실행하는 클래스에 붙여 하위 경로에 존재하는 모든 서블릿 클래스를 등록한다. 사실 오늘 서블릿으로 MVC 패턴을 공부하다가 '@WebServlet'을 통해 서블릿을 등록했는데 인식을 못하는 문제가 있었다. 왜그런가 생각을 해보니 서블릿을 나타내는 애노테이션만 넣었을 뿐 이를 서블릿 컨테이너에 등록하는 애노테이션은 넣지 않았기 때문이다. 따라서 서블릿을 인식하지 못하는 문제가 생겼다면 애플리케이션 실행 클래스를 다시 살펴보길 바란다. 다음..

📗 Back-end/📗 Servlet & JSP

[Servlet] 서블릿으로 MVC 패턴 구현하기

1️⃣ MVC 패턴 구조 서블릿을 활용해 간단한 MVC 패턴을 구현해보자. 클라이언트가 특정 URL을 호출하면 컨트롤러는 해당 요청을 받는다. 클라이언트가 전달한 데이터를 모델에 담는다. 컨트롤러는 모델을 뷰로 전달한다. 뷰는 모델을 담아 필요한 화면을 클라이언트에게 전달한다. 위 흐름대로 로직을 작성해보자. 또한 컨트롤러는 서블릿 객체를, 모델은 HttpServletRequest 객체를, 뷰는 JSP로 구현할 것이다. HttpServletRequest 객체의 request 내부에는 데이터 저장소가 있다. 여기선 따로 모델 객체를 만들지 않고 이를 활용하자. 모델에 데이터 저장 : request.setAttribute() 모델의 데이터 조회 : request.getAttribute() 먼저 실습에 필요한..

📗 Back-end/📗 Servlet & JSP

[Servlet] HTTP 요청 데이터 및 3가지 조회 방법

HTTP 요청 데이터 지난 번엔 'HttpServletRequest' 객체에 대해 공부하면서 HTTP 메시지의 시작 줄, 헤더 등 기본 정보를 조회하는 방법을 알아봤다. 만약 HTTP 메시지와 해당 객체에 대한 내용이 궁금하다면 아래 글들을 참고하면 되겠다. https://jnsodevelop.tistory.com/40 [Network] HTTP Message HTTP Message 'HTTP Message' 는 서버와 클라이언트 간 데이터가 교환되는 방식이다. 메시지 타입엔 두 가지가 있다. 요청 (Request) : 클라이언트가 서버로 데이터를 전달하여 필요한 동작을 요청한다. 응 jnsodevelop.tistory.com https://jnsodevelop.tistory.com/72 [Servlet..

📗 Back-end/📗 Servlet & JSP

[Servlet] HttpServletRequest

HttpServletRequest 객체를 알아보기 전에 '서블릿(Servlet)' 에 대해 알고 있다면 이해하기 쉬울 것이다. 아래 글을 먼저 읽고 오는 것을 추천한다. https://jnsodevelop.tistory.com/66 [Servlet] 서블릿(Servlet) 1. 서블릿 개념 및 특징 1) 개념 서블릿(Servlet) 이란 자바를 사용하여 웹 페이지를 동적으로 생성할 때 사용되는 자바 기반의 웹 애플리케이션 프로그래밍 기술이다. 서블릿은 자바 코드 안에 HTML jnsodevelop.tistory.com 1️⃣ HttpServletRequest 개념 클라이언트가 WAS에 요청을 하면 WAS는 'HttpServletRequest', 'HttpServletResponse' 객체를 생성하여 저장..

📗 Back-end/📗 Servlet & JSP

[Servlet] 서블릿(Servlet)

1️⃣ 서블릿 개념 및 특징 1) 개념 서블릿(Servlet) 이란 자바를 사용하여 웹 페이지를 동적으로 생성할 때 사용되는 자바 기반의 웹 애플리케이션 프로그래밍 기술이다. 서블릿은 자바 코드 안에 HTML을 포함하며, 웹 요청 및 응답의 흐름을 체계적으로 다룰 수 있게 해준다. 만약 클라이언트가 서버에 요청을 하면, 서블릿에서 해당 기능을 수행한 뒤 결과를 다시 전송한다. 서블릿의 흐름을 간략히 나타내면 다음과 같다. 웹 브라우저 (클라이언트) 에서 서버로 요청을 보낸다. WAS 에서 HTTP 요청 메시지를 기반으로 request, response 객체를 생성한다. 미리 생성해놓은 Thread Pool 에서 하나의 Thread 를 할당 받는다. 할당 받은 Thread 는 서블릿 인스턴스에 접근, 실행..

📗 Back-end/📗 Spring

[Spring] Singleton Container 와 @Configuration

싱글톤 패턴(Singleton Pattern) 이란 디자인 패턴중 하나로, 객체의 인스턴스가 하나만 생성되어 관리되는 것을 말한다. 해당 글은 싱글톤 자체와 관련된 내용이 아닌, 싱글톤 방식으로 동작하는 스프링 컨테이너에 관한 글이 되겠다. 따라서 싱글톤 패턴에 대한 자세한 설명은 아래의 글을 참고하면 되겠다. https://jnsodevelop.tistory.com/38 [Design Pattern] Singleton Pattern (싱글톤 패턴) Singleton Pattern Singleton Pattern (싱글톤 패턴) 은 하나의 클래스가 오직 하나의 인스턴스만 가지는 패턴이다. 싱글톤 인스턴스는 최초 생성시 하나만 만들어지며, 해당 인스턴스를 다른 모듈이 공유 jnsodevelop.tistor..

📗 Back-end/📗 Spring

[Spring] 스프링 빈 조회시 발생할 수 있는 예외

스프링 빈 조회시 발생할 수 있는 몇몇 예외가 있다. 해당 내용에 대한 설명은 아래 글들을 참고하면 좋다. https://jnsodevelop.tistory.com/53 [Spring] 스프링 빈 조회 - 컨테이너에 등록된 빈 개요 스프링 컨테이너에 등록된 빈을 조회하는 방법을 알아보자. 빈을 조회하는 방법엔 여러 가지가 있지만 그중에서 가장 기본이 되는 몇몇 방법을 살펴보겠다. 모든 빈을 조회하는 방법, 역할 jnsodevelop.tistory.com https://jnsodevelop.tistory.com/54 [Spring] 스프링 빈 조회 - 이름, 타입 지난번에 스프링 컨테이너와 등록된 모든 빈, 애플리케이션 빈을 확인하는 방법을 공부했다. 해당 내용은 아래 글을 참고하면 되겠다. https:/..

박갈
'📗 Back-end' 카테고리의 글 목록