JSP 등장배경
- 마이크로소프트에서 ASP(Active Server Page)라는 쉽게 웹을 개발할 수 있는 스크립트(script) 엔진을 발표함 (1998년
- 1997년에 발표된 서블릿은 ASP에 비하여 상대적으로 개발 방식이 불편함
- ASP에 대항하기 위하여 1999년 썬마이크로시스템즈에서 JSP를 발표
- JSP는 실제로 서블릿 기술을 사용. 모든 JSP는 서블릿으로 바뀌어서 동작한다.
JSP 라이프 사이클
- 브라우저가 웹서버에 JSP에 대한 요청 정보를 전달한다.
- 브라우저가 요청한 JSP가 최초로 요청했을 경우만 JSP로 작성된 코드가 서블릿으로 코드로 변환한다. (java 파일 생성)
- 서블릿 코드를 컴파일해서 실행가능한 bytecode로 변환한다. (class 파일 생성)
- 서블릿 클래스를 로딩하고 인스턴스를 생성한다.
- 서블릿이 실행되어 요청을 처리하고 응답 정보를 생성한다.
서블릿과 마찬가지로 JSP도 jspInit()과 jspDestroy() 함수가 존재한다. (같은 역할)
JSP 문법
JSP 페이지에서는 선언문(Declaration), 스크립트릿(Scriptlet), 표현식(Expression) 이라는 3가지의 스크립트 요소를 제공한다.
선언문
- 선언문 : <%! %>
- 선언문은 JSP 페이지 내에서 필요한 멤버변수나 메소드가 필요할 때 선언해 사용하는 요소
- 선언문의 문법 : <%! 문장 %>
스크립트릿
- 스크립트릿 : <% %>
- 가장 일반적으로 많이 쓰이는 스크립트 요소
- 주로 프로그래밍의 로직을 기술할 때 사용. 스크립트릿에는 자바 코드가 그대로 들어갈 수 있다.
- 스크립트릿에서 선언된 변수는 지역변수
- 스크립트릿의 문법 : <% 문장%>
표현식
- 표현식 : <%=%>
- JSP 페이지에서 웹 브라우저에 출력할 부분을 표현 (즉, 화면에 출력하기 위한 것)
- 스크립트릿내에서 출력할 부분은 내장객체인 out 객체의 print() 또는 println() 메소드를 사용해서 출력
- 표현식의 문법 : <%=문장%>
JSP 내장객체
JSP 내장객체란?
- JSP를 실행하면 서블릿 소스가 생성되고 실행된다.
- JSP에 입력한 대부분의 코드는 생성되는 서블릿 소스의 _jspService() 메소드 안에 삽입되는 코드로 생성된다.
- _jspService()에 삽입된 코드의 윗부분에 미리 선언된 객체들이 있는데, 해당 객체들은 jsp에서도 사용 가능하다.
- response, request, application, session, out과 같은 변수를 내장객체라고 한다.
내장 객체의 종류
이제 서블릿에서 JSP로 넘어갔다.
대강 자바 웹 공부 순서가 서블릿 - JSP - 스프링 인 걸로 알고있는데 이번 프로젝트에서 JSP를 배우면 다음 프로젝트에서는 스프링을 배우는 건가?
영상이 확실히 자세히 설명해 주니까 좋긴 하지만 뭔가 책보고 공부하는 거보다 속도가 느린거 같아 좀 답답하다.
아직까지 그냥 코드만 봐도 뭔지 감이 오기는 해서 이해하는데 문제는 없다.
책이랑 공부를 병행하고 있는데 난이도: 책>강의, 속도: 책>강의 인거 같다ㅋㅋ
'공부 > [부스트코스] 웹 프로그래밍' 카테고리의 다른 글
[부스트코스] 웹 프로그래밍 - 2차 코드리뷰 (0) | 2020.03.19 |
---|---|
[부스트코스] 웹 프로그래밍 - REST API 와 WEB API (0) | 2020.03.12 |
[부스트코스] 웹 프로그래밍 - 1차 코드리뷰 (0) | 2020.02.26 |
[부스트코스] 웹 프로그래밍 - Servlet (0) | 2020.02.21 |
[부스트코스] 웹 프로그래밍 - HTML (0) | 2020.02.10 |