웹 서버 (web server)
- 클라이언트의 요청을 받아 HTML이나 오브젝트를 HTTP 프로토콜을 이용해 전송하는 것.
- 사용자가 요청중 서버 자체적으로 처리할 수 없는 것들을
톰캣과 같은 컨테이너나 PHP 모듈과 같이 처리할 수 있는 곳으로 넘겨 처리
결과를 받아와서 사용자에게 넘겨주는 역할도수행
- 웹 서버만 구축 : 웹 페이지, 이미지 등 정적인 페이지를 생성
JSP 컨테이너가 탑재되어 있는 WAS는 JSP 페이지를 컴파일 해 동적인 페이지를 생성
- 웹 서버는 웹 문서를, WAS는 JSP 페이지 등을 양분하여 서버 부담을 줄이는 것이 가능하다.
컨테이너(Containner)
- JSP와 서블릿을 실행시킬 수 있는 소프트웨어 웹 컨테이너(Web Container) 혹은 서블릿 컨테이너(Servlet Container)
- Servlet 컨테이너, JSP 컨테이너, EJB 컨테이너 등의 종류가 있으며,
대표적인 웹 컨테이너로는 자카르타 톰캣(JSP), RESIN, Web Logic, WebtoB 등이 있다.
- 웹 서버에서 JSP를 요청하면 톰캣에서는 JSP 파일을 서블릿으로 변환하여 컴파일을 수행하고
서블릿의 수행결과를 웹 서버에서 전달하게 된다.
웹 어플리케이션 서버(Web Application Server / WAS)
- 웹 서버 + 웹 컨테이너.
- 웹상에서 사용하는 컴포넌트들을 올려놓고 사용하게 되는 서버
웹어플리케이션(Web Application)
- 웹어플리케이션은 웹에서 실행되는 응용프로그램을 뜻
인터넷을 통한 은행업무, 인터넷쇼핑 등 인터넷에서 하는 여러 서비스를 총칭
- 구성요소
1. 웹 브라우저(Web Browser) : 클라이언트에서 요청을 하고 전달받은 페이지를 볼수있는 환경을 말한다.
( 크롬, IE, Safari, Firefox 등.. )
2. 웹 서버(Web Server) : 클라이언트로 부터 요청받아 서버에 저장된 리소스를 클라이언트 에게 전달한다.
주로 정적컨텐츠 담당
3. 웹 어플리케이션 서버 ( Web Application Server ) : 줄여서 was
서버단에서 필요한 기능을 수행하고 그결과를 웹서버에게 전달한다.
4. 데이터베이스 : 서비스에 필요한 데이터를 보관, 갱신 등 관리를 한다.
JSP (JavaServer Pages ) 란 무엇인가?
- HTML 코드에 JAVA 코드를 넣어 동적웹페이지를 생성하는 웹어플리케이션 도구이다.
- JSP 가 실행되면 자바 서블릿(Servlet) 으로 변환되며 웹 어플리케이션 서버에서 동작되면서 필요한 기능을 수행
그렇게 생성된 데이터를 웹페이지와 함께 클라이언트로 응답한다.
자바 서블릿(Java Servlet)
- 서블릿이란 웹페이지를 동적으로 생성하기 위해 서버측 프로그램
- 자바 언어를 기반으로 만들지며 웹 어플리케이션 서버 ( Web Application Sever ) 위에서 컴파일 되고 동작한다.
**JSP 와 서블릿
JSP 와 서블릿의 차이점은 결과적으로 하는일은 동일하지만
JSP 는 HTML 내부에 JAVA 소스코드가 들어감으로 인해 HTML 코드를 작성하기 간편하다는 장점이있으며
서블릿은 자바코드내에 HTML 코드가 있어서 읽고 쓰기가 굉장히 불편하기 때문에 작업의 효율성이 떨어진다.
하지만 웹을 공부할때 JSP 와 서블릿은 함께 배운다 그건...
JSP 로 작성된 프로그램은 서버로 요청시 서블릿(Servlet) 파일로 변환되어
JSP 태그를 분해하고 추출하여 다시 순수한 HTML 를 변환한다.

1. 클라이언트가 어떤 동작을 함으로써 hello.jsp 를 요청하였다.
2. JSP 컨테이너가 JSP 파일을 읽는다.
3. JSP 컨테이너가 Generete (변환) 작업을 통해 Servlet ( .java ) 파일을 생성한다.
4. .java 파일은 다시 .class 파일로 컴파일된다.
5. Execute (실행) 을통해 HTML 파일을 생성하여 JSP 컨테이너 에게 전달한다.
6. JSP 는 HTTP 프로토콜을 통해 HTML 페이지를 클라이언트 에게 전달한다.
참조: https://javacpro.tistory.com/43
http://warmz.tistory.com/523
'IT' 카테고리의 다른 글
| HTTP 메서드 (0) | 2023.10.26 |
|---|---|
| 공동인증서 OCSP&CRL (0) | 2023.10.24 |
| 세션 클러스터링 (0) | 2023.10.24 |
| 네트워크 프로토콜: FTP/SSH/SFTP/RDP//TCP/UDP (0) | 2021.03.14 |
| URI/URL/URN (0) | 2021.01.14 |