728x90
반응형

Java Spring 12

템플릿 엔진이란 ?

✏️ 템플릿 엔진(Template Engine) 이란? 웹 개발 관점에서 템플릿 엔진이란, 지정된 템플릿 양식과 데이터가 합쳐져 HTML 문서를 출력하는 소프트웨어를 이야기 합니다.동적인 웹페이지를 구성함에 있어 요청과 관련된 다양한 데이터가 필요합니다. 이때, 데이터를 끼워넣을 틀을 만들어 놓으면 페이지 구성을 효율적으로 할 수 있겠죠? 🤔 웹 템플릿 엔진은 View Code(HTML) 과 Data Logic Code(DB) 를 분리시킵니다. 마치 MVC 패턴과 비슷하게 각각의 역할을 나누어 View 에서는 Controller 에서 넘어온 데이터를 틀에 끼워 넣어클라이언트에게 알맞은 웹 페이지를 제공합니다 🎁 웹 템플릿 엔진은 '서버 사이드 템플릿 엔진'과 '클라이언트 사이드 템플릿 엔진'으로 나눌..

Java Spring 2025.01.10

Spring Servlet이란? ( 서블릿 ) , Servlet Container

서블릿 이란?클라이언트의 요청을 처리하고 그 결과를 반환하는 기술 동적 웹페이지 서버에서 수행되는 소형 프로그램 입니다. 각 사용자의 요청이 서버의 하나의 스레드로 수행됩니다. '자바 서블릿'은 자바를 사용해 웹 페이지를 동적으로 생성하는 서버내 프로그램이라고 합니다  https://velog.io/@oyoungsun/Spring-%EC%84%9C%EB%B8%94%EB%A6%BFServlet-%EC%9D%B4%EB%9E%80 [Spring] 서블릿(Servlet) 이란?: 클라이언트의 요청을 처리하고 그 결과를 반환하는 기술동적 웹페이지 서버에서 수행되는 소형 프로그램 입니다.각 사용자의 요청이 서버의 하나의 스레드로 수행됩니다. '자바 서블릿'은 자velog.io  서블릿의 특징  1.MVC 패턴 중 ..

Java Spring 2025.01.03

Spring MVC 모델 2

Spring MVC 핵심 1) DispacherServlet 서블릿 등록 부모 클래스에서 HttpServlet 을 상속 받아서 사용 스프링 부트는 DispacherServlet 을 서블릿으로 자동으로 등록하면서 모든 경로( urlPatterns="/" )에 대해서 매핑한다. 2) 서블릿이 호출되면 HttpServlet 이 제공하는 serivce() 가 호출된다. 스프링 MVC는 DispatcherServlet 의 부모인 FrameworkServlet 에서 service() 를 오버라이드 해두었다. FrameworkServlet.service() 를 시작으로 여러 메서드가 호출되면서 DispacherServlet.doDispatch() 가 호출된다. 3) DispacherServlet.doDispatch(..

Java Spring 2025.01.02

AOP (Aspect Oriented Programming, 관심 지향 프로그래밍)

AOP (Aspect Oriented Programming, 관심 지향 프로그래밍)애플리케이션을 개발할 때에 구현해야 하는 기능들은 크게 공통 관심 사항과 핵심 관심 사항으로 분류할 수 있습니다.먼저, 핵심 관심 사항은 애플리케이션의 핵심 기능과 관련된 관심 사항으로,커피 주문 애플리케이션을 예로 든다면 메뉴 등록하기, 주문하기, 주문 변경하기 등이 있을 것입니다. 반면, 공통 관심 사항은 모든 핵심 관심 사항에 공통적으로 적용되는 관심 사항들을 의미합니다. 예를 들어, 메뉴 등록하기, 주문하기, 주문 변경하기 등 모든 핵심 관심 사항에는로깅이나 보안 등과 관련된 기능들이 공통적으로 적용되어야만 합니다. 이 때, 핵심 관심 사항과 공통 관심 사항이 코드에 아래와 같이 함께 모여 있으면필연적으로 공통 관심..

Java Spring 2024.12.26

IoC / DI (Inversion of Control / Dependency Injection, 제어의 역전 / 의존성 주입)

IoC / DI (Inversion of Control / Dependency Injection, 제어의 역전 / 의존성 주입)Java 애플리케이션의 동작 흐름에서 중요한 것은 무엇일까요?아무래도 Java는 객체지향 언어이므로, 객체들 간의 관계를 적절히 맺어주는 것이 중요한 요소일 것입니다.객체들 간에 관계를 맺어준다는 것은 거창한 것이 아닙니다. A 인스턴스가 B 인스턴스의 메서드를 호출하고 있다면 A는 B와 의존 관계를 맺은 것이 되며,이 둘의 관계를 “A가 B에 의존하는 관계”라고 표현할 수 있습니다. A가 B의 기능을 가져다가 사용하고 있으니까요.   위의 A와 B의 의존 관계는 개발자에 의해 만들어집니다.개발자가 직접 new 키워드를 사용하여 인스턴스를 생성하는 코드를 작성했기 때문입니다.그런..

Java Spring 2024.12.26

DAO, DTO 란?

DTO(Data Transfer Object)와 DAO(Data Access Object)는 소프트웨어 개발에서 자주 사용되는 디자인 패턴 또는 개념으로, 주로 데이터 처리와 관련된 구조를 명확히 하고 코드의 재사용성을 높이기 위해 사용됩니다.DTO (Data Transfer Object)DTO는 계층 간 데이터 교환을 위한 객체입니다. 주로 데이터베이스, 비즈니스 로직, 또는 클라이언트와 서버 사이에서 데이터를 전송하기 위해 사용됩니다.DTO는 순수한 데이터 구조로, 데이터의 필드와 이를 가져오거나 설정하기 위한 getter/setter만 포함하며, 비즈니스 로직을 포함하지 않습니다.주요 특징데이터 전달 목적: 주로 컨트롤러와 서비스 계층 간, 또는 API 응답으로 사용.비즈니스 로직 없음: 데이터를 ..

Java Spring 2024.12.24

Server-Sent Events vs WebSockets

Server-Sent Events (SSE)와 WebSockets는 실시간 통신을 위해 사용되는 두 가지 기술입니다. 각 기술의 특징, 장점, 단점, 그리고 사용 사례를 비교해보겠습니다. ### Server-Sent Events (SSE) **특징:** - HTTP 기반의 단방향 통신. - 클라이언트가 서버에 연결을 시작하고, 서버는 지속적으로 데이터를 클라이언트로 전송. - 텍스트 기반의 데이터 전송. - HTML5 표준의 일부. **장점:** - 구현이 비교적 간단하고, 기존 HTTP 인프라와 잘 통합됨. - 브라우저에서 기본 지원 (추가 라이브러리 필요 없음). - 자동 재연결 및 연결 손실시 이벤트 제공. - 헤더 설정을 통해 캐시 및 프록시와 호환 가능. **단점:** - 단방향 통신만 가능 (..

Java Spring 2024.07.02

Spring 구조 ( 퍼옴 )

목차 : Spring의 전체 동작 순서Spring 웹 계층 구조1. Spring의 전체 동작 순서 시작)  클라이언트가 서버로 요청하면 먼저 Dispatcher Servlet 이 받음 Dispatcher Servlet 은 HTTP 프로토콜로 들어오는 모든 요청을 가장 먼저 받아 적합한 컨트롤러에 위임해주는 프론트 컨트롤러(Front Controller)라고 정의할 수 있습니다. dispatcher-servlet이 해당 어플리케이션으로 들어오는 모든 요청을 핸들링해주고 공통 작업을 처리 ( * Dispatcher Servlet 이 무었인지는 추후에 다시 자세히 포스팅 예정... )   1. Dispatcher Servlet은 http 요청의 URL과 메소드를 보고    이것을 처리할 수 있는 핸들러(컨트롤..

Java Spring 2024.03.05

Spring CMD 환경에서 빌드하기

cmd 창에서 순서대로 하면 됩니다. 1. cmd창 켜고, 스프링 프로젝트가 있는 폴더로 이동 > cd 폴더경로 2. gradlew 명령어 실행 (아래 순서대로 입력) > gradlew.bat 빌드 성공 > gradlew build 3. 실행파일(.jar) 찾아가기 > cd build > dir //build 폴더의 파일/디렉터리 보기 libs 폴더가 있음 > cd libs > dir libs 폴더 안에 자바 실행파일(.jar)이 있음 4. 실행 > java -jar 파일명 스프링 프로젝트가 실행됩니다. --> 실행 성공 ※참고 cmd 창에서 실행한 경우, 인텔리제이에서 동시에 실행하면, 같은 포트 번호를 사용하게 되므로 에러 납니다. 서버에 배포시에는 jar 파일만 복사를 해서 서버에 넣어주고, jav..

Java Spring 2024.03.04
728x90
반응형