학습(구)/JSP

JSP 페이지의 기본 개념

잉아당 2020. 7. 24. 21:37
728x90

정적문서와 동적문서

정적 문서 : 서버 어플리케이션에 의해 수행되지 않고 내용이 고정된 문서

동적 문서 : 브라우저의 요청 때 마다 서버 어플리케이션이 수행하여 내용이 변경되는 문서

 

정적문서의 경우 요청시 바로 응답이 가능합니다.

동적문서의 경우에는 요청시 서버 어플리케이션으로 전달되어지고 수행되어 나온 이 문서를 받아 응답합니다.

 

-> 일반적으로 정적요소와 동적문서가 섞여져 있습니다.

 

동적요소와 정적요소들은 브라우저와 서버에서 각 요소들이 달라집니다.

브라우저에서는 자바스크립트가 동적인 요소로 인식되어지지만 서버에서는 정적인 요소로 인식되어집니다.

 

TOMCAT

Tomcat은 서블릿 컨테이너 이다. 여러 폴더로 구성되어져 있다.

bin : 명령을 수행하는 쉘이나 배치 파일이 존재

conf : 톰캣이 사용하는 환경설정 파일이 존재

lib : 톰캣이 사용하는 라이브러리인 .jar파일이 존재

logs : 사용정보를 기록한 .log파일이 존재

temp : 작업중의 임시파일이 존재 

webapps : 프로젝트 파일이 존재 

work : JSP페이지 수행시 생성되는 .java파일과 번역후 생성되는 .class 파일이 존재

 

webapps폴더 아래 위치하는 어플리케이션 프로젝트의 경로를 컨텍스트 경로라고합니다.

webapps폴더 안에는 WEB-INF폴더가 존재합니다. 

WEB-INF에는 설정정보를 담고 있는 web.xml과 번역후 생성되는 .class파일들이 존재하는 classes폴더, 라이브러리 .jar가 존재하는 lib 폴더가 존재합니다.

WEB-INF에 JSP페이지가 존재할경우 요청경로로 접근하여 실행 시킬 수 없습니다. 

그렇기 때문에 주로 사용자 인증과 권한 점검을 통해 사용이 허락된 사용자에 대해서 사용할 때 이용합니다.

 

JSP페이지 실행

클라이언트에서 JSP페이지를 요청을 하게 되면 톰캣의 work폴더에 해당 요청 JSP페이지에 대한 .class가 존재하는지 확인하고 존재할 경우 이미 존재하던 .class를 수행하여 응답하고 존재하지 않을 경우 .java로 변환하여 .class로 번역 후 수행한다. 이때 클라이언트에서는 요청을 하고 톰캣에서는 번역을 수행한다. 

변경에대해서는 작성시간과 번역시간의 차이를 보고 .class가 더 먼저일 경우 새로 변환하여 번역을 수행한다.