# Servlet Container

13개의 포스트

[Java] Servlet과 Servlet Container

Servlet 출처 : https://www.geeksforgeeks.org/introduction-java-servlets/ 서버 사이드 위에서 동작하는 클래스. 서버측에서 웹 관련된 요청 - 응답을 담당하는 클래스. 웹의 동적인 부분을 담당한다. Servlet 컨테이너라고 불리우는, Network side(ex : Http Request 파싱, Connection 핸들링)를 담당하는 컨테이너에서 실행된다. 대표적으로 탐캣이 있다. Java로 작성되었기 때문에, 플랫폼에 구애받지 않는다. (JDBC같은 데이터베이스에 접근도 용이하다.) 사용하기 쉽고, 요청을 핸들링하는 과정이 캡슐화 된다. CGI(Common Gateway Interface)라는, C 혹은 C++로

2023년 8월 4일
·
1개의 댓글
·
post-thumbnail

[Spring] Servlet 과 Servlet Container

목차 서블릿 (Servlet) 서블릿 컨테이너 (Servlet Container) 스프링 MVC의 서블릿 - 디스패처 서블릿 @Controller와 서블릿은 다른 개념인가? 스프링을 공부하거나 프로젝트를 하다가 문서를 찾아볼 때 항상 Servlet 이라는 단어가 나온다. 대충 이해할 때에는 Controller의 역할을 해주는 녀석이라고 생각할 수 있다. 이렇게 넘겨짚는 것이 가장 안좋은 학습이고, 이는 틀린 말이다. 이제 자세히 알아보자잇! 서블릿 (Servlet) Java 기준으로 Servlet에 대해 간단히 얘기하면, request 와 response를 처리하는 클래스이다. 즉, Servlet을 이용해 동적으로 웹페이지를 만들 수도 있고, json 형식으로 데이터를 클라이언트에게 보내줄 수도 있고, database로 전송하는 쿼리를 모아볼 수도 있다. Servlet 코드 위는 javax.servlet.Servlet 인터페이스

2023년 6월 9일
·
0개의 댓글
·
post-thumbnail

Servlet Container 수동 초기화

Servlet Container > 서블릿 컨테이너(Servlet Container)는 서블릿을 실행하고 관리하는 런타임 환경을 제공하는 웹 서버의 일종입니다. > 서블릿 컨테이너는 웹 서버와 연동하여, 클라이언트로부터 오는 HTTP 요청을 받아들이고, 해당 요청에 대해 적절한 서블릿을 실행하여 HTTP 응답을 생성합니다. 서블릿 컨테이너는 서블릿의 생명주기를 관리하며, 서블릿의 인스턴스를 생성하고 초기화하며, 요청이 왔을 때 해당 서블릿의 service() 메서드를 호출합니다. > 서블릿 컨테이너는 여러 가지 기능을 제공하는데, 대표적인 기능으로는 다음과 같습니다. > 서블릿 라이프사이클 관리 서블릿 컨테이너는 서블릿의 라이프사이클을 관리합니다. 즉, 서블릿의 인스턴스를 생성하고 초기화하며, 요청이 왔을 때 해당 서블릿의 service() 메서드를 호출합니다. 또한, 서블릿이 제거될 때 destroy() 메서드를 호출하여 자원을 정리합니다. 멀티스레드 지원 서

2023년 4월 5일
·
0개의 댓글
·
post-thumbnail

독립 실행형 Servlet 기본원리

우리는 보통 웹서버를 구축하는 일을 Spring boot를 통해서 간단하게 구축합니다. Spring boot를 통해 Container를 설정하고 만드는일을 건너띄고 순수하게 웹 어플리게이션에 집중해서 개발할 수 있게 도와줍니다. 때문에 그 내부에 어떤식으로 동작하는지 알 필요가 없습니다. 앞으로도 알 필요는 없겠다만 한번은 알아두면 좋을 것같아서 Spring을 공부할 때처럼 기록으로 남길려고 합니다. > 인프런 토비선생님의 스프링부트 강의내용을 옮긴 글입니다. Container란 Web Component가 모여있는 것을 말합니다. 동적인 다양한 컨텐츠를 제공하는데 의미가 있습니다. 서블릿 컨테이너 위에 그림과 같이 가운데 Servlet Container에는 xml, classloader, war 등등 Spri

2023년 4월 4일
·
0개의 댓글
·

Spring 으로 Servlet 을 다룬다는 것

✏️ Servlet Web Application 을 만들 때 필요한 interface 이다. Web Application 의 요청 응답 처리 과정 📍 Web Server 간략한 의 발전 과정 🔗 Servlet VS. Spring 초기 Web Server는 클라이언트의 요청에 대해서 정적인 페이지로만 응답할 수 있었다. 이후 Web Server 에 프로그램을 붙여서 동적인 페이지를 생성했다. Servlet 도 동적인 페이지를 생성하기 위해 Web Server 에 붙이는 프로그램중 하나이다. 📍 Servlet 의 필요성 [🔗 HTTP Mes

2023년 3월 18일
·
0개의 댓글
·
post-thumbnail

[Spring Quick Start] Spring MVC 구조 설명, 동작원리

💎 들어가며 이번 포스팅에서는 앞선 포스팅에서 생성한 프로젝트(New > Spring Legacy Project > Spring MVC Project)를 바탕으로 프로젝트의 구조를 설명하고, 프로젝트가 로드되고 요청이 처리되는 과정에 대해 설명합니다. 참고로 저는 Blog라는 프로젝트를 생성했고, 게시판 목록을 보여주는 것까지 시리즈에 포스팅 할 예정입니다. 1. Project Architecture 프로젝트 생성: \[New > Spring Legacy Project > Spring MVC Project] 아래는 생성된 프로젝트의 초기 구조입니다. Spring Boot 부터는 공식적으로 Gradle과 Maven을 지원하지만, 이전에는 기존 구조로 Maven을 채택했기 때문에 Maven 프로젝트로 생성되는 것을 볼수 있습니다. (아주 예전에는 Ant라는 빌드 툴을 많이 사용했다고 합니다. 시대 흐름: Ant ⇒

2023년 2월 13일
·
0개의 댓글
·
post-thumbnail

Web Server, WAS, Servlet

Servlet은 비교적으로 low level의 기술이라고 볼 수 있다. 때문에 최근에는 이 Servlet만을 단독으로 이용해 구현하는 경우는 드물다. 그러나 자바의 대부분의 프레임워크들(Spring REST, Spring WebMVC 등..)은 Servlet 기반 위에서 동작한다. Web Server란 무엇일까? Web Server는 정적인 컨텐츠를 다루기 위해 사용된다. 이미지나 HTML과 같은 정적인 자원들을 다루는데만 사용된다. Apache Web Server가 대표적인 Web Server의 예이다. 사용자는 단순하게 어떤 자원을 요청하고, 서버는 정해져있는 컨텐츠를 응답으로 반환한다. 최근 많이 쓰이는 Web Server는 Nginx가 있다. WAS(Web Applicat

2022년 12월 10일
·
0개의 댓글
·

Servlet & Servlet Container

최근에 아는 지인이 한 기업의 면접을 보게 되었다. 그리고 해당 기업의 면접 질문에서 Servlet과 Servlet Container 가 무엇인지 묻는 질문과 함께 Servlet이 왜 필요한지 그리고 서블릿 컨테이너가 하는 역할은 무엇인지와 같이 서블릿&서블릿 컨테이너와 관련된 개념에 대한 질문을 받았다고 공유해주었다. 마침 우아한테크코스에서 관련된 강의를 듣게 되었고, 이를 정리해보려고 한다. 서블릿이란? A servlet is a small Java program that runs within a Web server Servlets receive and respond to requests from WEb clients, usually across HTTP, the HyperText Transfer Protocol 자바로 HTTP 요청을 처리하는 프로그램 만들 때 서블릿을 사용한다 서블릿은 자바 표준이다. Jakarta EE ( == JavaEE

2022년 10월 3일
·
0개의 댓글
·
post-thumbnail

[Web] Web Server와 WAS의 차이

두 개념을 설명하기 앞서... 정적 페이지Static page와 동적 페이지dynamic page 개념을 먼저 알아야 해요. Static Pages 바뀌지 않는 페이지에요. 웹 서버는 파일 경로 이름을 받아 경로와 일치하는 파일 콘텐츠를 반환해요. 항상 동일한 페이지를 반환해요. 이미지, HTML, 자바스크립트 파일과 같이 컴퓨터에 저장된 파일들만 반환해요. Dynamic Pages 인자의 내용에 맞게 '동적' 콘텐츠를 반환해요. 웹 서버에 의해 실행되는 프로그램을 통해 만들어진 결과물이에요. 여기서

2022년 8월 12일
·
0개의 댓글
·
post-thumbnail

01 애플리케이션 이해

해당 포스팅은 인프런 김영한님의 "스프링 MVC 1편- 백엔드 웹 개발 핵심 기술"을 참고하여 작성한 글입니다. 목차 🚩 01 웹 서버, 웹 애플리케이션 서버 (WAS) 정의부터 알아보자! 웹 서버 HTTP 기반으로 동작하는 서버 정적 리소스 제공, 기타 부가기능 정적 HTML, CSS, JS, 이미지, 영상 대표적으로 NGINX, APACHE가 있다 웹 애플리케이션 서버 was HTTP 기반으로 동작 웹 서버 기능 + 정적 리소스 제공 가능 프로그램 코드를 실행해서 애플리케이션 로직 수행* 애플리케이션은 특정 사용자마다 보여주는 화면을 다르게 할 수 있음 동적 HTML, HTTP API(JSON) 서블릿, JSP, 스프링 MVC 는 WAS에서 동작 예) 톰갯, JETTY, Undertow 좀 더 자세한 내용 [Web Server와 WAS의 차이 | 👨🏻‍�

2022년 8월 7일
·
0개의 댓글
·
post-thumbnail

Servlet과 Servlet Container

Servlet Servlet이란? 😲 servlet은 동적인 웹 페이지를 만들 때 사용되는 서버쪽에서 실행되는 프로그램입니다. Servlet 등장배경 servlet이 나오기 전에는 고정된 내용을 가진 정적 웹 페이지만을 제공했고, 사용자들의 요청을 정적 웹 페이지에서 표현하기에는 한계가 있었기 때문에 동적인 데이터를 제공하는 웹 페이지의 필요성을 느끼고 CGI(Common Gate Interface)가 나오게 됐습니다. 하지만 CGI는 새로운 프로세스를 계속 만들어야 한다는 단점 때문에 자바 진영에서 동적 데이터를 제공하기 위한 CGI 기반으로 servlet이 등장하게 됐습니다. CGI CGI web server에서 사용자의 요청을 받아 CGI 구현체에 요청을 전달하고 CGI 구현체가 요청에 따른 데이터를 동적으로 생성해 응답해 동적인 웹 페이지를 구현할 수 있습니다. 장점 언어, 플랫폼에 독립적 CGI 코드

2022년 6월 20일
·
0개의 댓글
·
post-thumbnail

[Spring] Servlet & ServletContainer

Servlet Web Server & WAS Servlet에 대해 배우기 전에 Web Server와 WAS를 먼저 집고 넘어가야한다. Web Server 출처 : https://velog.io/@neity16/6-%EC%8A%A4%ED%94%84%EB%A7%81-MVC-1-%EC%9B%B9-%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98-%EC%9D%B4%ED%95%B4-WAS-%EC%84%9C%EB%B8%94%EB%A6%BF-%EB%A9%80%ED%8B%B0-%EC%93%B0%EB%A0%88%EB%93%9C-CSR-SSR Web Server는 Http 기반으로 동작하며 Http요청이 들어왔을시 정적 리소스(정적 HTML, CSS,

2022년 6월 12일
·
0개의 댓글
·

2022-04-11(월)

스프링 부트가 내부적으로 어떻게 되어 있길래 Spring Boot의 Architecture 91-미니프로젝트3 / 24 페이지 스프링 부트는 내부적으로 Tomcat 서버가 있다 Tomcat 서버 안에는 미니 웹 서버가 있다 미니 웹 서버가 있기에 HTTP 프로토콜에 따라서 요청을 받을 수 있는 거고 HTTP 프로토콜에 따라서 웹 브라우저에 응답할 수 있는 거 메일은 보내는 프로토콜이랑 받는 프로토콜이랑 다르다 보내는 프로토콜 POP 받는 프로토콜 TMAP 웹 서버 = HTTP 서버 HTTP Browser = HTTP 클라이언트 static resource (정적 자원) 정적 자원이면 Web Server가 바로 읽어서 준다. Servlet Container까지 안 감. static resource가 아니면 Web Server가 Servlet Container에게 위임한다. HelloController Servlet Container는 Servlet 인터페이스

2022년 4월 10일
·
0개의 댓글
·