WEB, boostcourse, JSP lifecycle & 기초 문법
jsp는 servlet로 바뀌어서 실행된다
예 : <%= %> 는 out.println()로 바뀌어서 실행된다
JSP의 실행순서
- 브라우저가 웹서버에 JSP에 대한 요청 정보를 전달한다
- 브라우저가 요청한 JSP가 최초로 요청했을 경우만
- JSP로 작성된 코드가 서블릿으로 코드로 변환한다. (java파일 생성)
- 서블릿 코드를 컴파일해서 실행가능한 bytecode로 변환한다. (class 파일 생성)
- 서블릿 클래스를 로딩하고 인스턴스를 생성한다
- 서블릿이 실행되어 요청을 처리하고 응답 정보를 생성한다
JSP 라이프 싸이클 실습
- 브라우저로 최초 요청했을 때 : init(), service()
- 브라우저로 두번째 요청했을때 : service()
- lifecycle.jsp를 수정한 후 요청했을 때 : destory(), init(), service()
스크립트 요소
- 선언문 : <%! %>
- 전역변수 선언 및 메소드 선언에 사용
- 스크립트릿 : <% %>
- 프로그래밍 코드 기술에 사용
- 스크립트릿에서 선언된 변수는 지역변수
- java파일의(servelet) ‘_jspService()’ 메서드 안에 선언되는 변수일것이다
- 표현식 : <%= %>
- 화면에 출력할 내용 기술에 사용
자바로 변경된 파일은 해당 위치에서 확인 가능하다
C:\Users\ComPuter\eclipse-workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\firstweb\org\apache\jsp
실습
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
id : <%=getId() %>
<%!
String id = "u001"; // 멤버변수 선언
public String getId() {
return id;
}
%>
<%
for (int i=1; i<=5; i++) {
%>
<h<%=i%>> 아름다운 한글</h>
<%
}
%>
</body>
</html>