본문 바로가기
IT

web server/web containner/JSP/Servlet/was

by ssoyDev 2021. 1. 13.
반응형

 

 

웹 서버 (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