Binary World

JSP 동작원리 및 구성 요소(TAG) 본문

개발자의 길/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(1020);
 
// 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



<출력화면>



'개발자의 길 > JSP' 카테고리의 다른 글

JSP include Directive(지시자)  (0) 2017.04.12
JSP 에러 페이지 처리  (0) 2017.04.12
<이클립스> JSP 파일 생성 시 포멧 변경하기  (0) 2017.04.12
Comments