AngelPlayer`s Diary

웹 동작 원리

웹은 기본적으로 클라이언트/서버 방식으로 구동

 

클라이언트(웹 브라우저)가 특정 페이지를 웹 서버에 요청하면, 이를 처리하고 결과를 클라이언트에게 보냄(응답)

클라이언트 - 사용자

웹 서버 - 제공자

 

웹 서버는 아파치, 톰캣, IIS 등이 있고, 톰캣은 자바 서블릿과 JSP를 지원한다.

 

 

웹 컨테이너 - JSP와 서블릿을 실행할 수 있는 프로그램

 

 

정적 웹 페이지, 동적 웹 페이지

정적 웹페이지 - HTML 등의 웹 언어로 작성

1. 사용자가 웹 브라우저에 url 요청

2. 해당 url의 웹 서버에서 수신된 파일 검색

3. 사전에 준비된 HTML 문서를 클라이언트에 그대로 제공

4. 웹 브라우저가 문서를 보여줌

 

 

동적 웹페이지 - ASP, PHP, JSP 등으로 작성

사용자가 웹 페이지에 글을 작성하거나 환경 설정 등을 바꾸면 그 내용에 서버에 있는 DB에 저장되어 결과가 웹 페이지에 반영되는 형태로 동작함

1. 사용자가 웹 브라우저에 url 요청

2. 해당 url의 웹 서버에서 요청을 분석한 후 처리

3. 처리 결과로 html 문서 생성

4. 정재된 html 문서를 클라이언트에게 전송

5. 웹 브라우저가 문서를 보여줌

 

 

 

JSP의 특징 (서블릿과 비교하여)

1. 서블릿 기술의 확장 : 서블릿의 모든 기능을 사용할 수 있다.

2. 유지 관리가 용이하다.

3. 빠른 개발이 가능하다.

4. 코드를 줄일 수 있다.

 

 

 

 

JSP 처리 과정

hello.jsp -(번역)-> hello.java(서블릿) -(컴파일)-> hello.class

 

1. 번역

jsp 파일을 자바 코드(서블릿)으로 변환 

 

2. 컴파일

서블릿을 컴파일하여 클래스 파일을 생성

컴파일 단계에서는 자바 코드의 모든 구문을 검사(선언문, 처리문, 표현문 등)

 

3. 로딩 및 초기화 단계

.class를 로딩하고 클래스의 인스턴스를 작성

JSP 컨테이너가 jspInit()을 호출하여 인스턴스가 된 객체를 초기화(DB 연결, 파일 열기 등)

 

4. 실행 단계

JSP 컨테이너가 요청 및 응답 객체를 전달하는 _jspService() 메소드를 실행

 

5. 소멸 단계

DB 연결 해제 또는 열려 있는 파일 닫기 등을 수행 할 때 jspEstroy() 메소드를 오버라이딩

 

공유하기

facebook twitter kakaoTalk kakaostory naver band