ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [헤드퍼스트 Servlet&JSP] 7-1. JSP 요소
    개발입문/Servlet&JSP 2017. 2. 18. 12:12


    학습 목표에 완전 생소한 것들 천지다.. ㅜ.ㅜ 

    이번 HEADFIRST Servlet&JSP 시리즈가 조금 진입의 턱이 높은 듯 하다. 


    누군가가 각 기술들의 뎁스를 도식화를 해놓는다면 얼마나 좋을까? 

    내가 더 중요한 것부터 집중할 수 있도록-



    학습목표

    JSP 는 서블릿이 됩니다.


    템플릿 텍스트 (HTML)


    스크립팅 요소 (Scripting Element)

    주석, 지시자, 선언문, 스크립틀릿, 표현식


    표준 액션 및 커스텀 액션


    표현식 언어 EL (Expression Language) 


    JSP 가 Servlet이 되기까지 




    JSP란?

    JSP도 서블릿도 기본적으로는 .java / .class 이다.
    JSP 코드는 최종적으로 만들어질 서블릿 클래스에서 어떤 역할을 하는가?
    JSP 의 개별 요소가 생성된 서블릿 소스 코드에 어떻게 매핑되는가?






    Scripting Element

    스크립팅 요소

    JSP는 HTML 안에 자바코드를 삽입하는 방식입니다.

    기본적으로는 JSP Element: 요소별로 java 코드로 1:1 대응되어 삽입합니다.


    Directive 지시자 <%@ ... %> 

    컨테이너가 페이지를 자바 코드로 변환할 때 지시


    Scriptlet 스크립틀릿 <% ... %>

    서블릿 서비스 메소드 안에 JAVA 코드로 동일하게 삽입


    Expression 표현식 <%= ... %>

    서블릿 서비스 메소드 안 PrintWriter out 내장객체 생성

    out.print( ); 안의 매개변수와 동일, 페이지 출력


    Declaration 선언문 <%! ... %>

    서블릿의 멤버 (정적/인스턴스 변수/메소드)를 선언하는 곳
    즉, 서비스 메소드 바깥으로 삽입


    <%@ page import="foo.*, java.util.*" %>

    <html><body>

    <%! int count = 0; %>        //지역변수

    The page count is now:

    <%= ++count %>

    <% out.print("done"); %>

    </body>

    </html>


    (주의) 모든 스크립틀릿 코드와 표현식 코드는 _jspService() 메소드 안으로 들어갑니다.

    즉, 스크립틀릿 안에 선언된 모든 변수는 지역변수입니다.


    JSP 선언문에 기술하면 클래스 내부에, 서비스 메소드나 여타 메소드의 바깥 쪽에 위치하게 됩니다. 즉, 인스턴스 변수나 메소드 등을 만들 수 있습니다. 



    JSP 내장객체
    Servletness

    직접 서블릿 객체를 코딩하지 않아도! 서블릿이 가지고 있는 특징 Servletness 를 사용할 수 있습니다. 여기선 간단히 소개만 하고~ 내장객체를 참조해 구현하는 자세한 방법은 다음 포스트로 분리했습니다


     API 

     내장 객체 

     JSPWriter

     out 

     HttpServletRequest

     request 

     HttpServletResponse

     response 

     HttpSession

     session 

     ServletContext

     application 

     ServletConfig

     config 

     JspException exception 

     PageContext

     pageContext 

     Object

     page 



    주석 Comments

    <!-- HTML comment -->
    브라우저가 HTML 주석처리

    <$-- JSP comment --%>
    자바 소스코드 주석 처리



    댓글

Designed by Tistory.