웹 프로그래밍/[ Spring ]

[ Spring ] 03. JSP(Java Server Page)

kim.svadoz 2021. 6. 30. 16:35
728x90
반응형

JSP


Java Server Page

Java코드가 들어가 있는 HTML 코드

Life Cycle은 서블릿과 비슷하다.

서블릿은 자바소스코드 속에 HTML 코드가 들어가는 형태인데, JSP는 이와 반대로 HTML 소스코드 속에 자바 소스코드가 들어가는 구조를 갖춘 웹 어플리케이션 프로그래밍 기술이다.

클라이언트의 요청에 대해 동적 컨텐츠를 생성해서 응답결과를 만들어줄 때 사용하는 기술로 html문서에 화면을 작성하는 방법과 동일하게 작성하면 된다.

실행이 될 때 WAS 내부에 있는 JSP 컨테이너에 의해 서블릿으로 변환되서 실행이 되므로 자바코드를 사용할 수 있는 것이다.

스크립트 요소

  1. 스크립트릿 (Scriptlet)

    <% %>
    • 자바코드를 작성할 수 있는 스크립트 요소
    • 웹 브라우저로 보내는 것이 아니라 웹 서버에서 실행되는 부분이다.
    • 문장의 끝에 반드시 세미콜론(;)을 붙여야 한다.
    • 스크릿트릿 요소는 여러번 반복해서 정의할 수 있지만 지양한다.
    • 서블릿이 공유하는 데이터를 꺼내서 출력하기 위해 사용된다.
    • .java 파일에서 할 수 있는 모든 작업을 할 수 있다.(메소드 선언, 클래스 선언 제외)
    • java.lang 패키지 빼고 모두 import 해주어야 한다.
    • 스크립트릿 내부에서 정의하는 변수는 모두 jspService() 메소드의 지역변수로 추가해야 한다.
  2. 선언문

    <%! %>
    • .jsp 파일이 서블릿으로 변환될 때 서블릿 클래스의 멤버로 작성될 메소드나 변수를 정의
    • 잘 안쓴다.
  3. 표현식

    <%= %>
    • 동적으로 만들어진 컨텐츠를 구성하는 값을 출력하기 위해 사용하는 스크립트 요소

    • 서블릿으로 변환될 때 out.print()의 내부에 매개변수로 추가되므로 세미콜론(;)를 추가하지 않는다.

      // 오류상황 예시
      <%= "test" ;%>   ----> out.print("test";); // error !
    • 표현식은 값을 출력하기 위해서 사용하므로 사용할 수 있는 타입이 제한적이다.

    • 기본형, String, 앞의 나열한 타입을 반환하는 메소드 호출문 연산 시 사용한다.

728x90
반응형