JSP 구조
웹 서버에는 JSP 페이지를 처리하는 컨테이너인 JSP 엔진이 필요합니다. 컨테이너는 JSP 페이지에 대한 요청을 가로채는 역할을 담당합니다. 이 튜토리얼에서는 JSP 개발을 지원하기 위해 JSP 컨테이너가 내장된 Apache를 사용합니다.
JSP 컨테이너는 웹 서버와 협력하여 JSP의 정상적인 작동에 필요한 운영 환경과 기타 서비스를 제공하며 JSP 웹 페이지에 고유한 특수 요소를 정확하게 식별할 수 있습니다.
다음 그림은 웹 애플리케이션에서 JSP 컨테이너와 JSP 파일의 위치를 보여줍니다.
JSP 처리
다음 단계에서는 웹 서버가 JSP를 사용하여 웹 페이지를 생성하는 방법을 보여줍니다.
-
다른 일반 웹페이지와 마찬가지로 브라우저는 서버에 HTTP 요청을 보냅니다.
웹 서버는 이것이 JSP 웹 페이지에 대한 요청임을 인식하고 요청을 JSP 엔진에 전달합니다. 이는 URL 또는 .jsp 파일을 사용하여 수행됩니다.
JSP 엔진은 디스크에서 JSP 파일을 로드하여 서블릿으로 변환합니다. 이 변환은 단순히 모든 템플릿 텍스트를 println() 문으로 변환하고 모든 JSP 요소를 Java 코드로 변환합니다.
JSP 엔진은 서블릿을 실행 가능한 클래스로 컴파일하고 원래 요청을 서블릿 엔진에 전달합니다.
웹 서버의 구성 요소는 서블릿 엔진을 호출한 후 서블릿 클래스를 로드하고 실행합니다. 실행 중에 서블릿은 HTML 형식으로 출력을 생성하고 이를 HTTP 응답에 포함시켜 웹 서버에 제출합니다.
웹 서버는 HTTP 응답을 정적 HTML 웹페이지 형식으로 브라우저에 반환합니다.
궁극적으로 웹 브라우저는 HTTP 응답에서 동적으로 생성된 HTML 웹 페이지를 마치 정적 웹 페이지인 것처럼 처리합니다.
위에서 언급한 단계는 다음 그림으로 나타낼 수 있습니다.
일반적으로 JSP 엔진은 JSP 파일에 해당하는 서블릿이 이미 존재하는지 확인합니다. , JSP 파일의 수정 날짜가 서블릿보다 이전인지 확인하십시오. JSP 파일의 수정 날짜가 해당 서블릿보다 이전인 경우 컨테이너는 JSP 파일이 수정되지 않았으며 서블릿이 유효한지 확인할 수 있습니다. 이는 전체 프로세스를 다른 스크립트 언어(예: PHP)보다 더 효율적이고 빠르게 만듭니다.
일반적으로 JSP 웹 페이지는 Java 프로그래밍 마스터가 되지 않고도 서블릿을 작성하는 또 다른 방법입니다. 해석 단계를 제외하면 JSP 웹 페이지는 거의 일반 서블릿처럼 처리될 수 있습니다.