서블릿
🚧
아무것도 없어요😢
-
서블릿 컨테이너와 쓰레드🌟 멀티쓰레드 지원 및 관리 서블릿 컨테이너는 요청이 들어올 때마다 새로운 쓰레드를 생성해 동시 요청을 처리할 수 있도록 한다. 쓰레드는 HTTP 메서드를 통해 요청을 처리한 후 자동으로 죽도록 해 안정적으로 관리한다. 그러나 쓰레드를 생성하는 것은 꽤나 큰 비용을 요구한다. 그럼에도 불구하고 매번 쓰레드를 생성하는 이유는 무엇일까? 💡 동시 요청 처리 결론적으로, 서블릿 컨테이너가 멀티쓰레드를 지원하는 것은 동시다발적으로 들어오는 요청을 처리하기 위함이다. 자바 애플리케이션은 최소 하나 이상의 쓰레드를 가지고 있다. 기본적으로는 프로그램을 실행하면 메인쓰레드가 생성되고 그 위에 메인메서드를 적재한다. 하나의 쓰레드에서는 한번에 하나의 코드라인만 수행할 수 있다. 한번에 여러 코드라인을 수행하기 위해서는..🌐 웹2023.05.21
-
서블릿 컨테이너📁 서블릿 컨테이너 서블릿의 생성, 실행, 파괴 등 서블릿을 관리해주는 컨테이너 서버에 만들어진 서블릿은 스스로 동작하지 못하고, 톰캣과 같은 컨테이너 하에서 실행될 수 있다. 이처럼 서블릿을 관리하는 컨테이너를 서블릿 컨테이너 혹은 웹 컨테이너라고 한다. 서블릿 컨테이너의 역할 👆 웹서버와 통신 지원 클라이언트의 요청을 받고 응답할 수 있도록 웹서버와 소켓으로 통신한다. 서블릿 컨테이너가 없다면 소켓 연결, 메세지 파싱 등의 과정을 직접 구현해야 해 매우 번거롭다. 👆 서블릿 생명주기 관리 서블릿 클래스 로드, 인스턴스화, 초기화, 요청에 따른 적절한 HTTP 메서드 호출을 모두 처리한다. 서블릿의 생명주기가 다 할 경우 가비지컬렉션을 진행한다. 👆 싱글톤 객체 요청이 들어올 때마다 서블릿 객체를 생성..🌐 웹2023.05.21
-
서블릿📁 서블릿 Servlet 서버 쪽에서 클라이언트의 요청에 따라 동적으로 서비스를 제공하는 자바 클래스 기존 정적 웹프로그래밍의 단점을 보완하는 역할을 한다. 특징 객체지향 등 자바의 일반적인 특징을 모두 가진다. 일반 자바 프로그램과 달리 독자적으로 실행되지 못하고 톰캣과 같은 JSP/Servlet 컨테이너에서 실행된다. 플랫폼 독립적으로 컨테이너 종류에 무관하게 실행된다. MVC패턴에서 컨트롤러로 이용된다. 📁 서블릿의 Life Cycle 클라이언트가 요청을 하면 WAS는 해당 서블릿이 메모리에 있는지 확인한다. 서블릿이 처음 실행되는 경우, 서블릿 클래스를 메모리에 올리고 init()을 호출해 초기화한다. service()를 호출해 서블릿이 요청을 처리하도록 한다. service()는 특정 HTTP ..🌐 웹2023.04.03