Jinsu's Technical Blog
  • 홈
  • 태그
  • 방명록
  • 메뉴 닫기
  • 글작성
  • 방명록
  • 환경설정
    • 분류 전체보기 (250)
      • Java (18)
      • Spring Framework (33)
        • Toby's Spring 3.1 (6)
        • Spring IoC (6)
        • TDD (6)
        • Reflection (6)
        • AOP (6)
      • Spring Boot (11)
      • Spring Security (22)
      • Database (17)
        • Mysql (2)
        • JDBC (2)
        • JPA (13)
      • Build and Development Tools (3)
        • Maven (1)
        • Gradle (1)
        • Lombok (1)
      • Network (12)
      • Apache Tomcat (11)
      • Microservices Architecture (33)
      • Linux (9)
      • React (10)
      • Docker (22)
      • OAuth (10)
      • DevOps (2)
      • Git (2)
      • HTML (1)
      • CSS (1)
      • JavaScript (1)
      • Problem and Solution Guide (8)
        • Java (1)
        • Spring Framework (4)
        • Reflection (1)
        • Dynamic Proxy (1)
        • JPA (1)
      • Note-Taking (23)
  • 홈
  • 태그
  • 방명록
Apache Tomcat

ActiveMQ와 Kafka

ActiveMQ와 Kafka는 모두 메시징 시스템이지만 역할과 사용 방식에 차이가 있습니다.둘 다 Producer(생산자)와 Consumer(소비자)를 통해 메시지를 전달하는 구조이지만, 서로 다른 특성을 가지고 있습니다.1. ActiveMQActiveMQ는 전통적인 메시지 브로커로, JMS(Java Message Service) 표준을 따르는 메시징 솔루션입니다.특징: Point-to-Point (큐): 메시지를 한 명의 소비자(Consumer)만 받습니다. Publish-Subscribe (토픽): 메시지를 여러 소비자에게 전달합니다. 단순한 메시지 처리에 적합하고 트랜잭션 지원이 뛰어납니다. 구조: Producer: 메시지를 큐나 토픽에 보냅니다. Consumer: 메시지를 큐 또는 토픽..

2024. 12. 17. 00:17
Apache Tomcat

Apache Tomcat 전체 흐름

1. 프로토콜 핸들러 (Protocol Handler)  • 클라이언트가 HTTP/HTTPS 요청을 보내면, 가장 먼저 프로토콜 핸들러가 이 요청을 처리해. • Tomcat은 주로 HTTP/1.1, HTTP/2, AJP 같은 프로토콜을 처리하는 핸들러를 가지고 있어. 이 핸들러는 들어오는 네트워크 연결을 처리하고, 이를 Tomcat 내부에서 사용할 수 있는 요청 객체로 변환해줘. • 예를 들어, Http11Protocol은 HTTP/1.1 요청을 처리하는 프로토콜 핸들러야. 이 핸들러는 들어오는 TCP 연결을 처리하고, 요청을 커넥터로 넘겨. 2. 커넥터 (Connector)  • Tomcat 커넥터는 프로토콜 핸들러에서 받은 요청을 처리하고, Tomcat의 내부 엔진으로 전달하는 역할을 해. 이 단계에..

2024. 10. 15. 12:12
Apache Tomcat

SLF4J

SLF4J(Simple Logging Facade for Java)는 Java 애플리케이션에서 로깅을 추상화한 프레임워크야. 즉, **여러 로깅 프레임워크(Logback, Log4j, JUL 등)**를 하나의 일관된 API로 통합해서 사용할 수 있게 도와주는 역할을 해. SLF4J는 직접 로깅을 구현하지 않고, 다양한 로깅 프레임워크를 유연하게 연결하는 퍼사드(facade) 역할을 하지. 왜 SLF4J를 사용할까?  1. 로깅 프레임워크 독립성: SLF4J를 사용하면, 나중에 로깅 프레임워크를 변경할 때 애플리케이션의 코드를 수정할 필요가 없어. 예를 들어, 처음에는 Log4j를 사용하다가 나중에 Logback으로 변경하고 싶어지면, SLF4J를 통해 쉽게 교체할 수 있어. 2. 일관된 API 제공: 다..

2024. 10. 15. 11:27
Apache Tomcat

MVC Config API

MVC Config API는 Spring Framework에서 Spring MVC 설정을 더 세밀하게 제어하고 커스터마이징할 수 있도록 제공하는 인터페이스와 클래스들을 의미해. 이를 통해 기본 MVC 설정을 확장하거나 수정해서 애플리케이션의 요구 사항에 맞춘 MVC 동작을 설정할 수 있어. Spring에서는 대부분의 기본 설정을 자동으로 처리해 주지만, 특정 동작이나 기능을 커스터마이징하고 싶을 때 WebMvcConfigurer 인터페이스나 여러 설정 API를 사용해서 직접 설정할 수 있어. 주요 클래스 및 인터페이스 1. WebMvcConfigurer 인터페이스 WebMvcConfigurer는 Spring MVC의 설정을 확장할 수 있도록 다양한 메서드를 제공하는 주요 인터페이스야. 이를 구현해서 MV..

2024. 10. 15. 11:21
Apache Tomcat

Enable MVC Configuration

Enable MVC Configuration은 Spring Framework에서 Spring MVC 설정을 활성화하는 중요한 개념이야. 이를 구현하는 데 주로 사용하는 것이 바로 @EnableWebMvc 애노테이션인데, 이 애노테이션은 스프링 애플리케이션에서 MVC 관련 기본 설정을 가져오고, 필요한 기능을 활성화시켜줘. 1. @EnableWebMvc의 역할 @EnableWebMvc는 스프링 애플리케이션에서 Spring MVC를 구성하는 역할을 해. 이 애노테이션을 붙이면, **DelegatingWebMvcConfiguration**이라는 클래스를 통해 여러 MVC 관련 기능들이 활성화돼. 이 클래스는 스프링에서 기본적인 MVC 설정을 관리하는 클래스야. @EnableWebMvc를 사용하지 않으면 스프링..

2024. 10. 15. 10:40
Apache Tomcat

@RequestMapping handler method

@RequestMapping 핸들러 메서드는 특정 URL 요청을 처리하기 위해 쓰이는 메서드야. 이 애노테이션을 통해 URL을 메서드랑 연결해서 요청을 처리하고 그 결과를 반환해주는 거지. 1. @RequestMapping  • 설명: 가장 기본적인 매핑 애노테이션으로, 특정 경로로 들어오는 모든 HTTP 메서드(GET, POST, PUT, DELETE 등)를 처리할 수 있어. • 주요 기능: • 경로(Path): 요청 경로와 일치하는 메서드를 처리하게 해. • HTTP 메서드 제약: method 속성을 사용하면 특정 HTTP 메서드만 처리하도록 설정할 수 있어. • 예시:@RequestMapping(value = "/home", method = RequestMethod.GET)public String ..

2024. 10. 11. 12:48
Apache Tomcat

@GetMapping, @PostMapping

@GetMapping과 @PostMapping은 Spring Framework에서 HTTP 요청을 특정 메서드에 매핑할 때 사용하는 애노테이션이야. 주로 RESTful API를 설계할 때 사용되며, 각각 GET과 POST HTTP 메서드와 매핑돼. 이 애노테이션들은 Spring MVC에서 사용되며, 요청을 처리할 컨트롤러 메서드를 정의할 때 매우 중요한 역할을 해. 1. @GetMapping @GetMapping은 HTTP GET 요청을 처리하는 메서드에 적용돼. GET 요청은 서버에서 데이터를 조회하거나 리소스를 가져올 때 사용돼. 기본 구조:@GetMapping("/path")public String someMethod() { // 요청 처리 return "data";} 특징:  • 데이터..

2024. 10. 8. 11:46
Apache Tomcat

@RestController, View Resolver, RESTful API

@RestController는 Spring Framework에서 사용되는 애노테이션으로, 주로 RESTful 웹 서비스를 구현할 때 사용돼. 이 애노테이션은 Spring의 Controller 역할을 하는 클래스를 정의하는 데 사용되며, 그 클래스가 반환하는 데이터는 **뷰(View)**를 거치지 않고 직접 HTTP 응답 본문에 포함돼. @RestController의 주요 특징  1. RESTful 웹 서비스 구현: • @RestController는 JSON 또는 XML 형식으로 데이터를 반환하는 RESTful 웹 서비스 엔드포인트를 쉽게 만들 수 있어. 주로 모바일 앱이나 프론트엔드에서 API 요청을 받을 때 사용돼. 2. @Controller + @ResponseBody의 결합: • @RestContr..

2024. 10. 8. 11:06
Apache Tomcat

Spring MVC, SessionFactory Bean, ContextLoaderListener, ServletContextListener

1. Request (요청): 클라이언트(주로 브라우저)에서 HTTP 요청을 보내면, Spring 애플리케이션의 DispatcherServlet이 그 요청을 받게 돼. DispatcherServlet은 Spring MVC의 핵심 요소로, 모든 요청을 중앙에서 관리하고 조정하는 역할을 해. 모든 HTTP 요청은 우선 DispatcherServlet을 거쳐가며, 이 서블릿이 적절한 컨트롤러로 요청을 전달해. 2. Handler Mapping (핸들러 매핑): 요청이 들어오면 DispatcherServlet은 어떤 컨트롤러(Handler)가 이 요청을 처리할지 결정해야 해. 이때 HandlerMapping이 사용돼. HandlerMapping은 들어온 요청의 URL, 요청 메서드(GET, POST 등), 패턴..

2024. 10. 8. 09:43
Apache Tomcat

Apache Tomcat Server

아파치 톰캣의 역사와 발전 아파치 톰캣은 1990년대 후반 Java의 인기가 급상승하면서 Java Servlet과 **JSP (JavaServer Pages)**를 실행하기 위한 참조 구현체를 개발하기 위해 시작되었어. 이 프로젝트는 **제임스 던칸 데이비슨(James Duncan Davidson)**이라는 선 마이크로시스템즈의 직원에 의해 개발되었고, 주로 Java 기술을 웹 환경에서 쉽게 사용할 수 있도록 지원하는 데 중점을 두었어.  • 1999년, 톰캣 프로젝트는 **아파치 소프트웨어 재단(Apache Software Foundation, ASF)**에 기증되었어. 이 시점에 톰캣은 오픈 소스로 발전하면서 점점 더 많은 개발자와 기업에서 사용되기 시작했어. • 톰캣 3.x 버전에서는 Java Se..

2024. 10. 7. 17:17
Apache Tomcat

Servlet, DispatcherServlet, Special Bean

서블릿(Servlet)과 디스패처서블릿(DispatcherServlet)의 차이는 그들이 사용되는 맥락과 역할에서 크게 달라. 둘 다 웹 애플리케이션에서 클라이언트의 요청을 처리하기 위해 사용되지만, 각각의 역할과 동작 방식은 다르지. 1. 서블릿(Servlet) 서블릿은 자바 EE(현재는 자카르타 EE)에서 제공하는 표준 인터페이스로, 클라이언트(주로 웹 브라우저)로부터 요청을 받아서 처리한 후 응답을 생성하는 역할을 해. 가장 기본적인 웹 컴포넌트 중 하나야. 서블릿은 다음과 같은 특징을 가지고 있어:  • 역할: HTTP 요청을 처리하고, 그 결과를 응답으로 클라이언트에게 보냄. • 동작 방식: HttpServlet 클래스를 상속해서 구현한 후, doGet(), doPost() 같은 메서드에서 요청..

2024. 10. 7. 16:46
  • «
  • 1
  • »

공지사항

  • Jinsu's GitHub

전체 카테고리

  • 분류 전체보기 (250)
    • Java (18)
    • Spring Framework (33)
      • Toby's Spring 3.1 (6)
      • Spring IoC (6)
      • TDD (6)
      • Reflection (6)
      • AOP (6)
    • Spring Boot (11)
    • Spring Security (22)
    • Database (17)
      • Mysql (2)
      • JDBC (2)
      • JPA (13)
    • Build and Development Tools (3)
      • Maven (1)
      • Gradle (1)
      • Lombok (1)
    • Network (12)
    • Apache Tomcat (11)
    • Microservices Architecture (33)
    • Linux (9)
    • React (10)
    • Docker (22)
    • OAuth (10)
    • DevOps (2)
    • Git (2)
    • HTML (1)
    • CSS (1)
    • JavaScript (1)
    • Problem and Solution Guide (8)
      • Java (1)
      • Spring Framework (4)
      • Reflection (1)
      • Dynamic Proxy (1)
      • JPA (1)
    • Note-Taking (23)

블로그 인기글

전체 방문자

오늘
어제
전체
Powered by Privatenote Copyright © Jinsu's Technical Blog All rights reserved. TistoryWhaleSkin3.4

티스토리툴바