JSP란?

JSP(자바 서버페이지)는 코드를 삽입하여 웹 서버에서 동적으로 웹 페이지를 생성하여 웹 브라우저에 돌려주는 언어이다.  - 위키백과

 

위의 정의를 쉽게 설명해보겠습니다. 서버에서 요청에 따라 동적으로 처리하는 건 PHP와 매우 유사합니다. 사실상 자바로 동적 웹을 제어하기 위해서 만들어진것이 JSP입니다. 대부분 서블릿과 JSP를 비교하는데 차이점을 알아두시는게 좋을 것같습니다.

 

서블릿: 자바를 기반으로 하여 웹페이지를 동적으로 제작함 -> 자바문법을 따라야 하며 HTML태그및 코드들을 일일이 다 출력해줘야함 -> 페이지를 디자인하고 작성하는데 불편함
JSP: HTML 표준에 따라서 작성하고 PHP처럼 중간에 삽입이 가능함 -> 디자인에 효율적

 

JSP의 실행 구조

 

JSP는 Tomcat과 같은 내장 서버 프로그램이 빌드하여 실행을 합니다. 이 때 서버는 JSP를 서블릿으로 바꾸고 그 서블릿을 다시 실행하여 웹페이지를 제작합니다.  JSP를 자체를 빌드하기 보다는 변환하여 빌드를 진행합니다.

 

JSP - 문법

 

그럼 본격적으로 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
46
47
48
49
50
51
52
53
<%--
JSP Description:
jsp는 서블릿의 한계를 극복하기 위한 언어이다.
기존의 html형식에 자바스크립트처럼 끼워넣어 사용하지만 명백히 서버사이드 언어이다. 따라서 JS보다 해킹에 안정적이다.
jsp는 jsp를 바로 실행하는 모듈(서버, 톰캣 등등)이 있는 것이 아니라 서블릿으로 변화하여 실행이 된다.
 --%>
<%-- JSP의 기본문법:
0. 기본적인 지시자: <%@ %>
1. 전역변수 및 함수 선언문: <%! 내용 %>
2. 스크립트릿(프로그래밍 코드를 기술): <% 내용 %>
3. 표현식(화면에 출력할 내용을 기술): <%= 내용 %>
4. JSP의 주석: <%-- 내용 --%>
<%-- 훑어 보시고 직접 예시를 보시는걸 추천해드립니다.  --%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8"%>
<%--
@:지시자이다.
page: 페이지에 대해서 지시한다는 뜻이다.
language: 언어의 타입을 설정 다른 언어도 이론적으로 사용가능하지만 안씀
contentType: 말그대로 내용이다 text/html은 데이터의 형식 charset은 데이터표기 방식이다.
pageEncoding: 코드를 해석하여 페이지를 표현할때의 데이터 표기방식을 정한다. --%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>sum10</title>
  </head>
    <body>
      <%-- 예제 1번: 반복문을 사용해서 합을구하고 표현하기 --%>
      <%-- 스크립트릿을 사용해서 html안에서 바로 자바코딩이 가능합니다. --%>
      <%
      int total = 0;
      // 여기에서 선언되는 변수는 지역변수가 됩니다.
      for(int i = 1; i <= 10; i++){
          total = total + i;
        }
        %>
        1부터 10까지의 합 : <%=total %>
        <%-- <%=total %>의 의미는 .out.println(total)과 같은 의미이다. --%>
        <br>
          <%-- 예제 2번: 함수및 전역변수 선언하기 + 표현하기--%>
          <%!
          public static int id=12321;
          public static int getId(){
          return id;
        }
        %>
        id는 <%=getId()%> , <%=id%>입니다.
      </body>
</html>
cs

'Web' 카테고리의 다른 글

Web - Event & EventListener  (0) 2020.01.18
Ajax 통신 정의, 필요성, 예제  (0) 2020.01.18
Scope (유효변수)에 대하여  (0) 2020.01.18
Page scope  (0) 2020.01.18
Request Scope  (0) 2020.01.18

+ Recent posts