Archive

JSP - 개요,기본문법,LifeCycle

|

JSP - 개요,기본문법,LifeCycle


  1. JSP

    • JSP(JavaServer Page)는 서블릿과 동일하게 동적인 웹 페이지를 개발하는 기술이다
    • HTML 태그 내에 자바 코드를 삽입하는 형식
    • 클라이언트의 요청이 접수되면 JSP는 WAS에 의해 서블릿 소스코드로 변환되어 서블릿 클래스로 컴파일 된 후 실행된다
    • JSP는 Beans라는 자바 컴포넌트를 사용할 수 있다
    • JSTL(JSP Standard Tag Library)와 같은 태그 라이브러리를 사용할 수 있다
    • 동작 원리
      • HTML 태그와 JSP태그를 사용하여 .jsp 파일을 작성
      • 클라이언트로부터 JSP 요청이 들어오면 JSP 컨테이너는 JSP 파일을 자바 소스로 변환(.java)
      • .java 파일을 컴파일하여 .class 파일을 만든다
      • 컴파일된 .class파일은 서블릿 컨테이너에 의해 서블릿으로서 동작
      • 변환과 컴파일 작업은 최초의 요청이나 JSP가 변경되었을 때만 수행된다
  2. JSP 기본 문법

    • 선언문(declaration)
    <%! 변수, 메소드 선언 %>
    
    • JSP 페이지에 삽입된 코드를 통해서 멤버변수나 멤버메소드를 선언할 수 있다
    • JSP LifeCycle Method 중에서 jspInit(), jspDestroy() 등을 재정의 할 때 사용할 수 있다


    • 스크립트릿(scriptlet)
    /*
    	<% 자바 코드 작성; %>
    */
    
    • 스크립트릿에서 선언된 변수는 지역 변수로 설정되며, 메소드 호출은 가능하나 선언은 불가능
    • 스크립트릿의 자바코드는 _jspService() 메소드 내로 옮겨진다
    • 스크립트릿의 자바코드는 이어진다
    <% for(int i=0; i<10; i++){ %>
    	<h1>
         <!-- for문은 끊어지지 않았다 -->
    	</h1>
    <% } %>
    
    • 표현식(expression)
    • JSP 페이지 내에서 직접 클라이언트로 출력될 내용을 표시할 때 사용
    • _jspService() 메소드 내에 삽입, 표현식에서는 세미콜론을 사용하지 않는다
    <%= 표현식 %>
    
    • 주석
    <!-- html 주석, 소스보기 창에 나타남 -->
    <%-- JSP 주석, 소스보기 창에 안나타남 --%>
    // 자바 주석
    /* 자바 주석 */
    
  3. LifeCycle

    • jspInit() : 서블릿의 init()에 해당, 재정의 가능, 초기화를 담당, 최초 호출시에만 작동
    • jspDestroy() : 서블릿의 destroy()에 해당, 재정의 가능, 자원 해제 담당, 서버 중지 혹은 jsp 파일 unload시 작동
    • _jspService() : 서블릿의 service()에 해당, 재정의 불가능, 요청이 들어올 때마다 새로은 스레드에서 실행된다



참고 자료


KG 아이티뱅크 강의 자료

처음해보는 JSP&Servlet 웹 프로그래밍