WEB/JSP

1. Web / JSP : 동작구조

choi121xx 2013. 4. 18. 11:10

 

< Web 프로그래밍 >

 

기본적으로 클라이언트/서버 방식으로 이루어진다.

클라이언트(웹 브라우저)가 특정 페이지를 웹서버에 요청(Request)하게 되면 웹서버가 이를 처리한 후 결과를 클라이언트(웹브라우저)에게 응답(Response)을 하게 되는 구조

 

 

 

① 요청 (Request) : 웹 브라우저가 웹서버에 해당 페이지를 요청

② 해당 웹서버는 요청페이지를 판단

   html 인지 jsp인지 확인하여 html인 경우 html로 응답하고, 아닌경우는 요청된 페이지의 로직 / DB 연동을 위해 WAS에 처리를 요청한다.

③ WAS에서 DB연동이 필요하면 DB 처리를 수행한다.

④ 처리 결과를 웹서버로 응답한다.

⑤ 결과를 웹브라우저에 응답한다.

 

- 웹 브라이우저 : 사용자 작업창

- 웹 서버 : 웹브라우저의 요청을 받아들이는 곳이며, 기본인식 언어는 HTML 이다. 결과를 브라우저에 응답한다.

               대표적으로 Apache, IIS ( windows 플랫폼에서만 )

- WAS : 요청 페이지의 로직 처리, DB 처리를 수행

            WebLogic, WebSphere, 제우스 등

              

 

< 웹 어플리케이션 서버 방식 >

 

- 웹서버가 처리를 하는 것이 아니라 어플리케이션 서버에게 처리를 넘김.

- 여러명의 사용자가 동일한 페이지를 요청하여 같은 어플리케이션 프로그램을 처리할때 한개의 프로세스만 할당하고 사용자요청을 쓰레드 방식으로 처리한다. 

 

 

 

< JSP동작구조 >


1. 사용자의 웹브라우저에서 http://서버주소/xxx.jsp 형태로 해당 페이지 (JSP 페이지)를 웹서버로 요청한다.


2. 웹서버는 JSP에 대한 요청을 JSP컨테이너(웹컨테이너)에 처리를 넘김.


3. JSP 파일이 처음 요청된 것이면 JSP파일을 서블릿(.java파일생성)으로 변화하는 파싱을 거친다.

(이전에 요청했던 페이지면 파싱할 필요 없이 파싱했던 클래스파일을 메모리에 적재한다.)

JSP파일은 실행을 위해 서블릿으로 파싱되고, 클래스파일로 컴파일이 되는데 이런 과정은 JSP파일이 처음으로 호출되었을때만 거친다. 


4. 서블릿 파일은 자바에서 실행가능한 클래스파일로 컴파일 된다.


5. 클래스파일은 메모리에 적재가 되어 실행된다.


6. 실행결과는 다시 웹서버에게 넘겨진다.


7. 웹서버는 웹브라우저가 인식할수 있는 HTML형태로 결과를 응답한다. HTML페이지를 브라우저에서 실행시켜 표시한다.

( 브라우저는 HTML태그로 구성된 페이지를 실행시켜 주는 프로그램으로, 웹서버에서 HTML이 실행되는것이 아니라 브라우저에서 실행되어 보여진다.)


--> 과정은 해당 JSP페이지가 최초로 요청되었을때 한번만 실행된다. 이후 같은 페이지에 대한 요청이 있으면 변환된 서블릿파일로 서비스를 처리한다.

 

 

< HTTP 프로토콜 >

 

- 비 연결 : 클라이언트의 요청에 응답 후 연결을 끊음.

- 비 상태 : 서버 상태와 상관없이 요청함.