Tomcat은 JSP 환경을 포함하고 있는 Servlet 컨테이너
Servlet과 jsp를 이용하여 로직을 처리한다
웹서버와 WAS는 이 처럼 동적데이터를 처리해주는 웹컨테이너의 유무 차이라고 보면 된다
WAS = 웹 서버 + 웹 컨테이너
이미지 출처: http://gap85.tistory.com/45
사용자 요청(웹 브라우저) -> 웹 서버 -> WAS(동적 처리) -> 웹 서버 -> 사용자 응답 메세지(웹 브라우저)
웹 서버에서 JSP를 요청하면 톰캣에서는 JSP 파일을 서블릿으로 변환하여 컴파일을 수행하고, 서블릿의 수행결과를 웹 서버에서 전달하게 된다.
출처: http://unabated.tistory.com/
Servlet이란
Servlet은 웹에서 JAVA 프로그래밍을 구현하기 위해 탄생 함.
서블릿(Servlet)
- 자바 플랫폼에서 컴포넌트를 기반으로 한 웹 애플리케이션을 개발할 때 사용하는 핵심 기술.
이러한 서블릿을 이용하면 웹 애플리케이션 확장이 용이하고 플랫폼에 독립적인 개발이 가능하다.
- 쉽게 말하면 "클라이언트의 요구를 받아 그에 대한 처리를 한 후, 결과를 되돌려주는 서버 모듈"이다.
서블릿의 장점
1) 스레드를 기반으로 하기 때문에 웹 애플리케이션 운영에 효율적이다.
2) 자바를 기반으로 하므로 자바 API를 모두 사용할 수 있다.
웹 애플리케이션 개발시 서블릿 이용의 장점
1) 컨텐츠와 비즈니스 로직을 분리
2) 컨트롤러와 뷰 역할 분담으로 인해 웹 디자이너와 개발자간의 원활한 작업이 가능.
3) 유지보수가 수월, 기능 확장이 용이하다.
4) 현재와 같이 프로그래머가 HTML, 자바스크립트, 스타일 시트와 같은 복잡한 기술을 모두 알아야 할
필요는 없다.
5) JSP에 HTML, CSS, 자바스크립트와 자바 소스 코드가 뒤섞이는 문제를 막는다.
이미지 출처: http://wiki.gurubee.net/pages/viewpage.action?pageId=26740202
.jsp -> .java -> .class -> .jsp
Servlet Container란
Servlet을 실행하고 생명주기를 관리하는 역할을 한다.
멀티 스레딩을 지원하여 클라이언트의 다중 요청을 알아서 처리해준다.
대표적인 Conatainer에는 Tomcat, jetty, jboss 등이 있다
'STUDY > JSP&Spring' 카테고리의 다른 글
[JSP/Spring]MVC패턴에 대한 좋은 자료 (0) | 2018.09.15 |
---|---|
[JSP/Spring]JDBC실행 순서 (0) | 2018.09.14 |
[JSP/Spring]WAS(톰켓)와 웹서버(아파치)의 차이 (0) | 2018.09.14 |
[JSP/Spring]XML이란? 그리고 XML의 용도 (0) | 2018.09.13 |
[JSP/Spring]JSP와 Servlet의 차이점은? 그리고 왜 같이 사용할까? (0) | 2018.09.13 |