JSP(JavaServer Pages)는 자바를 기반으로 동적인 웹페이지를 구축할 수 있는 서버-사이드 스크립트 언어로서 자바 서블릿을 기반으로 한다.
*서블릿: 서버에서 웹페이지 등을 동적으로 생성하거나 데이터 처리를 수행하기 위해 자바로 작성된 프로그램
서블릿은 자바 언어 안에 HTML코드를 넣어야 하므로.
자바 개발자가 HTML을 모를 수도 있고, HTML을 다루는 디자이너는 자바언어를 모를 수 있으니 난감해지는 거다. 두 언어를 모두 할 줄 알아야 서블릿을 쓸 수 있는 것이니!
☞ JSP는 HTML 문서 안에 필요할 때만 자바 코드가 들어간다.
HTML 코드를 "..."에 삽입해 정확하게 출력하기 쉽지 않으므로.
☞ JSP는 <%...%>를 이용해 삽입한다.
웹 서버가 JSP 페이지를 처리하려면 JSP 엔진(JSP를 처리하는 컨테이너-JSP파일이 저장됨)을 갖고 있어야 한다.
엔진이 JSP 페이지에 대한 요청을 받고, JSP에 속하는 요소를 처리하게 된다.
1. 클라이언트가 URL을 통해 JSP페이지를 요청
2. 웹서버가 이 요청(JSP페이지 주세요)을 서블릿 컨테이너로 전송
3. 엔진이 요청된 JSP 페이지를 검색해 이 페이지를 자바 파일로 변환한 후에 컴파일해 서블릿 객체를 생성
4. 이 객체가 서블릿 엔진에 로딩되어서 실행
5. 실행결과가 웹서버를 통해 클라이언트의 응답 형태로 전달