자바로 작성한 서버 페이지로, HTML 코드에 JAVA 코드를 넣어 동적 웹페이지를 생성하는 기술이다.
◽ 자바 기반 스크립트 언어이기 때문에 자바 기능을 그대로 사용할 수 있고 플랫폼에 독립적이다.
◽ jsp로 작성된 프로그램은 JVM상에서 처리되기 위해 서블릿 컨테이너에 의해 Servlet으로 변환되어 필요한 작업을 수행한 뒤 그 결과로 HTML을 만들어낸다.
◽ MVC 패턴에서 View의 역할을 맡고 있다.
◽ 지시자 : 페이지 속성을 지정할 때 사용
◽ 주석
◽ 선언 : 변수나 메서드를 선언할 때 사용
◽ 표현식 : 해당 변수의 결과값을 출력하고자 할 경우 사용
◽ 스트립트릿 : java 코드를 삽입하고자 할 경우 사용
◽ 액션 태그 : 자바 빈을 연결할 때 사용
<jsp:action></jsp:action>
👉🏻 자바 빈이란 ? 속성과 메서드로 이루어져 있으며, 데이터 처리를 담당
- 웹 서버에게 클라이언트의 .jsp 페이지 요청
- 해당 요청을 웹 컨테이너(Servlet 컨테이너)에게 넘김
- 기존에 요청된 jsp 파일인지 체크.
- 처음 요청된 경우 : jsp파일을 servlet 파일(.java파일)로 파싱해 클래스 파일로 컴파일
- 이미 작업한 경우 : 파싱 과정을 생략하고 클래스 파일로 즉시 컴파일
( 파싱 : jsp파일에 오류가 없는지 확인 )- 컴파일된 클래스 파일은 메모리에 적재되어 실행
- 실행결과를 웹서버에게 전달
- 전달받은 실행결과를 브라우저가 인식할 수 있는 HTML 파일로 바꾸어 브라우저에서 실행
🔑 이 과정은 해당 jsp페이지가 최초로 요청되었을 때 한번만 실행된다. 이후 같은 페이지에 대한 요청이 있으면 변환된 servlet파일로 서비스를 처리
◽ Applicaion : 페이지를 서비스 해주는 웹 어플리케이션에 대한 객체. 서버에 대한 정보를 가지고 유지한다.
◽ pageContext : 페이지 실행에 필요한 Context 정보를 담고 있는 객체
◽ request : 클라이언트가 전송한 요청 정보를 제공하는 객체
◽ response : 클라이언트의 요청에 대한 HTTP 응답을 나타내는 객체