ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [부스트코스] JSP -BE
    부스트코스 코딩일지/DB 연결 웹 앱 2020. 3. 12. 21:56

     

     

    JSP란?

     

     

    Java 언어를 기반으로 하는 Server Side 스크립트 언어입니다.

    HTML에 자바 코드를 넣어 동적인 웹 페이지를 생성하는 도구로 사용합니다.

     

    예시를 보겠습니다.

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>sum10</title>
    </head>
    <body>
    
    <% 
        int total = 0;
        for(int i = 1; i <= 10; i++){
            total = total + i;
        }
    %>
    
    1부터 10까지의 합 : <%=total %>
    
    </body>
    </html>

    <% %> 코드 블록은 함수의 역할을 하고

    <%= > 코드블럭은 print 역할을 합니다.

    servlet 만으로 작성된 코드는 더 복잡했는데 JSP를 사용하니 한결 간결해진 것을 확인할 수 있습니다.

     

     

    [출처 : edwith.org/boostcourse-web/lecture/16702/]

     

     

     

    JSP 라이프사이클

     

     

    JSP 코드는 요청을 받게 되면 서블릿 소스코드로 변환된 후 컴파일 하여 실행됩니다.

    서블릿으로 컴파일되어 실행될 때 어떤 라이프사이클을 가지고 실행되는지 알아봅시다.

     

    servlet과 마찬가지로 jsp파일 또한 service, init, destroy 메서드를 가지고 있습니다.

    자바 코드로 변환된 JSP파일은 파일 탐색기를 통해 확인해 보면,

    <% %> 코드블럭 안에 작성된 코드들은 모두 service 메서드 안에 작성되어있는 것을 확인할 수 있습니다.

    init, destroy 메서드 안에 코드를 작성하고 싶다면

    <%
    	System.out.println("_jspService()");
    %>
    
    <%!
    public void jspInit() {
    	System.out.println("jspInit()!");
    }
    
    public void jspDestroy() {
    	System.out.println("jspDestroy()");
    }
    %>

    예제와 같이 <%! %> 코드 블록 안에 작성하면 됩니다.

     

    예제를 통해 처음 JSP 파일이 실행될 때는 init, service 메서드가 실행되고, 새로고침 할 시에는 service 메서드만 실행된다는 것을 알 수 있습니다. 또한 다시 실행하거나 수정한 뒤 실행하면 destroy, init, service 순으로 실행되는 것을 알 ㅅ  수 있습니다.

     

     

    [출처 : https://www.edwith.org/boostcourse-web/lecture/16703/]

     

     

     

    JSP 문법

     

     

    선언문

    : <%! %>

    선언문은 JSP 페이지 내에서 필요한 멤버 변수나 메서드가 필요할 때 선언해 사용하는 요소입니다.

     

    스크립트릿

    : <% %>

    주로 프로그래밍의 로직을 기술할 때 사용됩니다. 

    이 부분에 쓰인 코드들이 servlet으로 변환되면 service 메서드 안에 들어가게 되는 것입니다.

     

    표현식

    : <%= %>

    JSP 페이지에서 응답에 해당하는 부분을 표현합니다.

    내장 객체인 out 객체의 print() 또는 println() 메서드를 사용해서 출력됩니다.

     

    주석

    1. HTML 주석

    : <!-- -->

     

    2. JSP 주석

    : <%-- -->

     

    3. 자바 주석

    : // OR /* */

     

    JSP 페이지에서 주석은 세 가지 모두 이용 가능합니다.

    다만 차이점은,

    1번은 변환된 소스코드가 html로 읽어질 때 주석으로 처리된다는 것

    2번은 소스코드가 변환될 시에 주석으로 처리되어 소스 변환 처리가 되지 않는다는 것

    3번은 변환된 소스코드가 실행할 때 주석으로 처리된다는 것입니다.

     

     

    [출처: https://www.edwith.org/boostcourse-web/lecture/16704/]

     

     

     

    JSP 내장 객체

     

     

    _jspService() 메서드에 삽입된 코드의 윗부분에 미리 선언된 객체들이 있습니다.

    이 객체들을 JSP 내장 객체라고 하며, 별도의 선언 없이 다른 부분에서 사용 가능합니다.

     

    jsp 내장 객체의 종류

     

    [출처 : https://www.edwith.org/boostcourse-web/lecture/19882/]

     

     

     

    댓글

Designed by Tistory.