-
[헤드퍼스트 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 --%>자바 소스코드 주석 처리'개발입문 > Servlet&JSP' 카테고리의 다른 글
[헤드퍼스트 Servlet&JSP] 7-3 EL Expression Language 소개 (0) 2017.02.19 [헤드퍼스트 Servlet&JSP] 7-2. JSP LifeCycle 및 내장객체 사용 (0) 2017.02.18 Request 속성과 Request 디스패칭 (0) 2017.02.16 웹애플리케이션 개발: 웹 컴포넌트간 공유하는 속성 범위 (0) 2017.02.15 ServletContextListener 컨텍스트 리스너 (0) 2017.02.15