개발자의 길/JSP
JSP 동작원리 및 구성 요소(TAG)
모쿠
2017. 4. 12. 11:32
<JSP 동작원리>
1. 런타임 시에 JSP 컴파일러에 의해서 JSP 파일(.jsp)이 자바 파일(.java)로 변환
==> 서블릿 클래스
2. 자바 컴파일러가 자바 파일을 컴파일해서 클래스 파일(.class)을 생성
3. JRE이 클래스 파일을 기계어로 번역해서 실행
==> 요청(request), 응답(response)를 처리
<JSP 구성요소>
1. <%@ %>: Directive(지시자)
JSP 페이지 전체에 대한 속성들을 설정
2. <%! %>: Declaration(선언문)
멤버 변수, 메소드, 내부 클래스를 선언하는 부분
3. <% %>: Scriptlet(스크립트릿)
메소드(_jspService) 내부에서 실행되는 자바 코드를 작성하는 부분
4. <%= %>: Expression(표현식)
변수의 값, 메소드의 리턴 값 등을 프린트
5. <%-- --%>: Comment(주석)
JSP 주석은 서블릿 클래스로 변환될 때 코드로 변환되지 않음!
<01_JSPTag.jsp>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.util.Date"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>JSP</title> </head> <body> <!-- HTML/XML 주석 --> <%-- <h1>JSP Tag(구성요소)</h1> --%> <%-- Declaration(선언문) --%> <%! public int add(int x, int y){ return x + y; } %> <%-- Scriptlet --%> <% // 지역 변수 선언 int result = add(10, 20); // JSP에서 출력 방법 // 1) console 로그 System.out.println("result = " + result); // 2) Writer 객체를 사용해서 응답(response)으로 출력 // Servlet에서처럼 response.getWriter()를 호출하면 안됨! // JSP가 변환된 서블릿 클래스의 내장 객체인 out 객체를 사용해서 프린트 out.write("<p>result = " + result + "</p>\r\n"); %> <%-- Expression --%> <p> 결과 = <%=result%> </p> <% Date date = new Date(); %> </body> </html> | cs |
<출력화면>