DAY35(2) - JSP

은나현·2023년 3월 16일
0

📌 1. JSP

  • JSP : JavaServer Pages
    • HTML + Java
      : HTML을 중심으로 Java와 연동하여 사용하는 웹언어. 즉, HTML코드에 Java코드를 넣어 동적 웹페이지를 생성하는 웹 어플리케이션 도구이다.

📍 1-1. 동작 원리

이미지 출처

  • JSP가 실행되면 자바 서블릿(servlet)으로 변환되어 웹 어플리케이션 서버에서 동작되면서 필요한 기능을 수행하고, 그렇게 생성된 데이터를 웹페이지와 함께 클라이언트에 응답한다.

  • 동작 과정

    • 1) 웹서버에게 클라이언트가 jsp페이지를 요청한다.
    • 2) 해당 요청을 웹 컨테이너(Servlet 컨테이너)에게 넘긴다.
    • 3) 기존에 요청된 jsp파일인지 체크한다.
      • 최초 요청 : jsp파일을 Servlet파일로 파싱 -> 클래스 파일로 컴파일
      • 이미 작업한 요청 : 파싱 과정 생략 후 즉시 컴파일
    • 4) 컴파일된 클래스 파일은 메모리에 적재되어 실행된다.
    • 5) 실행 결과를 웹서버에 전달한다.
    • 6) 전달받은 실행 결과를 브라우저가 인식할 수 있는 HTML파일로 바꾸어 브라우저에서 실행한다.

📍 1-2. 스크립트 태그

  • JSP에서는 HTML코드에 Java 코드를 넣어 프로그램이 수행할 기능을 구현할 수 있다. 이 때 사용되는 것이 스크립트 태그이다.

  • 선언문(declaration)

    • <%! ... %>
      : 자바 변수나 메소드를 정의하는 데 사용하는 태그
  • 스클립틀릿(scriptlet)

    • <% ... %>
      : 자바 변수선언 및 자바 로직코드를 작성하는 데 사용되는 태그
  • 표현문(expression)

    • <%= ... %>
      : 변수, 계산식, 메소드 호출 결과를 나타내는 태그
  • 지시자(directive)

    • <%@ ... %>
      : 페이지 속성을 지정하는 태그
  • 포함 지시자(include directive)

    • <%@ include file = "파일명..." %>
      : 현재 jsp페이지의 특정 영역에 외부 파일의 내용을 포함시키는 태그
      • ex) 보통 headerfooter 등 다수의 페이지에 동일한 내용으로 작성되는 내용의 유지보수 및 편의를 위해 외부 파일로 만들어 include시킨다.
        <body>
        	<%@ include file="header.jsp" %>
        	<h4>----------페이지 영역----------</h4>
        	<p>페이지 내용</p>
        	<h4>----------------------------</h4>
        	<%@ include file="footer.jsp" %>
        </body>
  • 주석(comment)

    • <%-- ... --%>
      : 주석 태그

📍 1-3. JSP 내장객체

  • JSP 내장객체는 페이지 내에서 제공되는 특수한 클래스형의 객체로, 할당 없이 사용할 수 있다.
  • 내장객체의 종류
    • request : 웹 브라우저의 요청 정보를 저장하고 있는 객체
    • response : 웹 브라우저의 요청에 대한 응답 정보를 저장하고 있는 객체
    • out : JSP 페이지에 출력할 내용을 가지고 있는 출력 스트림 객체
    • session : 하나의 웹 브라우저의 정보를 유지하기 위한 세션 정보를 저장하고 있는 객체
    • 이외 : application, pageContext, page, config, exception...

0개의 댓글