WEB, boostcourse, JSP lifecycle & 기초 문법

jsp는 servlet로 바뀌어서 실행된다

예 : <%= %> 는 out.println()로 바뀌어서 실행된다

JSP의 실행순서

  1. 브라우저가 웹서버에 JSP에 대한 요청 정보를 전달한다
  2. 브라우저가 요청한 JSP가 최초로 요청했을 경우만
    • JSP로 작성된 코드가 서블릿으로 코드로 변환한다. (java파일 생성)
    • 서블릿 코드를 컴파일해서 실행가능한 bytecode로 변환한다. (class 파일 생성)
    • 서블릿 클래스를 로딩하고 인스턴스를 생성한다
  3. 서블릿이 실행되어 요청을 처리하고 응답 정보를 생성한다

JSP 라이프 싸이클 실습

  • 브라우저로 최초 요청했을 때 : init(), service()
  • 브라우저로 두번째 요청했을때 : service()
  • lifecycle.jsp를 수정한 후 요청했을 때 : destory(), init(), service()

스크립트 요소

  1. 선언문 : <%! %>
    • 전역변수 선언 및 메소드 선언에 사용
  2. 스크립트릿 : <% %>
    • 프로그래밍 코드 기술에 사용
    • 스크립트릿에서 선언된 변수는 지역변수
    • java파일의(servelet) ‘_jspService()’ 메서드 안에 선언되는 변수일것이다
  3. 표현식 : <%= %>
    • 화면에 출력할 내용 기술에 사용

자바로 변경된 파일은 해당 위치에서 확인 가능하다

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>

jsp exam1


Reference

https://www.edwith.org/boostcourse-web/lecture/16704/