서블릿, 서블릿 컨테이너, JSP
[ 웹 서버 ]
웹 페이지를 사용자에게 전송하는 서버. (Apache)
[ Servlet ]
자바를 사용하여 웹 페이지를 동적으로 생성하는 서버 측 프로그램이다.
웹 서버의 성능을 향상하기 위해 사용되는 자바 클래스의 일종이기도 하다.
서블릿은 자바 코드안에 HTML을 포함하고 있기 때문에 내부 HTML 코드가 바뀌면 다시 컴파일해야 하는 단점이 있다.
[ JSP ]
JavaServer Pages 의 약자, HTML내에 자바 코드를 삽입하여 웹 서버에서 동적으로 웹 페이지를 생성해 웹 브라우저에 돌려주는 서버 사이드 스크립트 언어(웹에서 사용되는 스크립트 언어 중 서버에서 사용되는 언어)다.
서블릿과 유사하지만, HTML 표준에 따라 작성이 되니 웹 디자인하기 편리한 장점이 있고, JSTL같은 JSP 태그 라이브러리를 사용하는 경우 자바 코딩 없이 태그만으로 간략히 기
술이 가능하다는 장점도 있다.
[ 서블릿 컨테이너란 ]
서버에 만들어진 서블릿이 스스로 작동하는 것이 아니기 때문에, 서블릿을 관리 해주는 것이 필요한데, 이러한 역할을 하는 것이 바로 서블릿 컨테이너.
즉, 서블릿을 '요구사항 명세서'라고 표현한다면, 서블릿 컨테이너는 그 명세서를 보고 개발하는 '개발자'.
서블릿 컨테이너는 Clinet의 Request를 받아주고 Response할 수 있게, 웹 서버와 소켓을 만들어 통신한다.
[ Web Application Server(WAS) ]
서블릿 컨테이너 + 웹 서버
대표적으로 무료 서비스인 Tomcat(톰캣)이 있다.
참고)
https://ko.wikipedia.org/wiki/%EC%9E%90%EB%B0%94_%EC%84%9C%EB%B8%94%EB%A6%BF