Web언어/JSP

[ JSP ] Servlet 이란?

IT록흐 2021. 6. 20. 09:45
반응형

 

 

 

Servlet이란

Server Application Let의 줄임말이다.

 

Let은 조각을 의미하니

서버의 조각을 Servlet이라고 한다.

 

 

Servlet은 왜 필요할까?

 

 

우선 서버의 필요성부터 알아보자.

 

 

서버(Server)란?

 

 

서버는 'Request(요청)'에

'Response(반응)'하려고

만들어졌다.

 

 

 

 

 

서버가 없다고 가정하면, 사용자는 데이터가 저장된 DB에 직접 접근하여 원하는 데이터를 얻어야 한다. 이는 굉장히 불편한 작업이다.

 

예를 들어, 피자를 먹고 싶은 A가 직접 토마토 농장을 찾아가 토마토를 얻고, 도우를 만들기 위해 밀가루를 사오고, 올리브를 얻기 위해 올리브 농장을 찾아가야 하는 것과 같다. 정말 번거로운 일이다.

 

하지만 간편한 방법이 있다. 피자가게(Server)에 배달을 Request(요청)하는 것이다. 그러면 피자가게는 각종 재료(Data)를 가져와 피자를 만들고 A에게 배달(Response(반응))한다. 또한 피자가게는 한 명이 아닌 여러 명의 배달 주문을 동시에 처리한다. 그리고 각 고객이 원하는 주문대로 피자를 만들어 배달한다.

 

 

 

 

이처럼 여러 클라이언트(Client)의 각기 다른 요청에 따라 Data를 가공하여 반응하는 역할을 하는 것이 Server다.

 

웹(Web)이란 Client가 크롬과 같은 웹브라우저(손님)이고 요청과 반응을 HTTP 프로토콜(배달 대행)을 쓰고 서버를 JSP와 서블릿 같은 웹컨테이너(피자 가게)를 쓰는 환경을 의미한다.

 

그렇다면 Servlet이란 무엇일까?

 

Servlet

 

Servlet을 사용하는

대표적인 웹서버는 '톰캣(Tomcat)'이 있다.

 

 

톰캣은 JDK가 설치된

환경에서 작동한다.

그 이유는 Servlet이 JAVA언어로

작성되기 때문이다.

 

 

JAVA 로딩

 

 

JAVA는 C언어와 다르다. C언어는 프로그램 실행 전 대부분의 코드가 메모리에 적재된다. 하지만 JAVA는 다르다. JAVA는 프로그램이 실행된 후, '필요'에 따라 '필요'에 맞는 클래스를 그때 그때 메모리에 적재시킨다. 이는 요청(Request)이 있으면 반응(Response)한다는 서버의 개념과 일치한다.

 

 

그렇다

Servlet은 Class 파일이다.

 

 

 

톰캣 서버에는 실제로 Servlet이 Class 파일로 저장되어 있다. 이렇게 저장된 Servlet은 JDK에 의해 필요할 때마다 사용되어진다.

 

서버는 요청에 반응하기 위해 만들어졌다. 그리고 그 요청은 가지각색이다. 로그인 요청, 검색 요청, 각종 버튼 요청 등등 수 많은 요청이 있다. 이런 수많은 요청을 커버하기 위해, 모든 코드를 메모리에 적재시킨다면 엄청난 비효율을 초래한다. 그러므로 요청에 따라 그에 맞는 반응을 해줄 '조각(let)'만 메모리에 적재시킨다면 효율적으로 반응할 수 있다. 고로 Servlet이란 서버(Server)의 조각(let)이다.

 

 


정리

 

1. JAVA 환경은 요청(Request)에 반응(Response)하는 웹환경에 적절하다.

2. JAVA의 클래스 개념을 웹서버에 적용하여 만든 것이 Servlet이다.

 

반응형