- 들어가기 전에
WAS는 웹 브라우저로부터 JSP에 대한 요청을 받게 되면, JSP 코드를 서블릿 소스코드로 변환한 후 컴파일 하여 실행되게 된다. 서블릿으로 컴파일되어 실행될 때 상황에 따라서 어떤 메소드들이 실행되는지 잘 알아야, JSP를 알맞게 작성할 수 있다.
- 학습 목표
1. jsp의 라이프 사이클을 이해한다.
2. jsp를 이용해서 init, destroy 메소드를 이용할 수 있다.
- 핵심 개념
- jsp 라이프 사이클
- sum10.jsp가 실행될 때 벌어지는 일
- 이클립스 워크스페이스 아래의 .metadata 폴더에 sum10_jsp.java 파일이 생성된다.
· JSP가 서블릿(java)으로 바뀐 파일이 자동으로 저장되는 경로 : C:\Users\woohyeju\Documents\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\firstweb\org\apache\jsp
- 해당 파일의 _jspServer() 메소드 안을 살펴 보면 jsp 파일의 내용이 변환되어서 들어가 있는 것을 확인할 수 있다.
- sum10_jsp.java는 서블릿 소스로 자동으로 컴파일 되면서 실행되어서 그 결과가 브라우저에 보여진다.
- JSP의 실행 순서
1. 브라우저가 웹 서버에 JSP에 대한 요청 정보를 전달한다.
2. 브라우저가 요청한 JSP가 최초로 요청했을 경우만 JSP로 작성된 코드가 서블릿 코드로 변환된다. (java 파일 생성)
· 톰캣 서버를 사용하게 됐을 때, 톰캣이 JSP를 서블릿으로 바꾸게 된다.
· 서버에서는 JSP에 해당돼는 서블릿이 존재하는가? 이것을 먼저 체크한다. 요청이 처음인지 아닌지를 구별하기 위해
3. 서블릿 코드를 컴파일해서 실행가능한 bytecode로 변환한다. (class 파일 생성)
4. JSP엔진이 서블릿 클래스를 로딩하고 인스턴스를 생성한다.
5. 서블릿이 실행되어 요청을 처리하고 응답 정보를 생성한다.
- JSP 라이프싸이클 실습
- JSP 라이프싸이클을 확인할 lifecycle.jsp를 작성한 후 다음의 경우 어떤 결과가 나오는지 확인한다.
* 응답에 포함되는, 매번 호출되는 것은 Service() 밖에 없다.
* <%! %> : 이 클래스에서 메서드나 필드를 선언할 때 Service 메서드 내에서 만들어지는 것이 아니라 메서드 바깥쪽에 코드가 생성된다.
· 브라우저로 최초 요청했을 때
· 브라우저로 두번째 요청했을 때
· lifecycle.jsp를 수정한 후 요청했을 때
'Progamming > BoostCourse' 카테고리의 다른 글
JSP 내장객체 (0) | 2019.01.21 |
---|---|
JSP 문법 (0) | 2019.01.21 |
JSP란? (0) | 2019.01.21 |
JavaScript Debugging (0) | 2019.01.20 |
Ajax 통신의 이해 (0) | 2019.01.20 |
댓글