본문 바로가기

JSP(Java Server Page)

JSP 구성요소

■ JSP 구성요소

 ο 디렉티브(지시어)

   페이지에 대한 설정 정보 지정. 클래스의 속성을 변경


    - page : 페이지에 대한 기본 정보 입력(생성하는 문서의 타입, 출력 버퍼의 크기, 에러 페이지 등). 현재 문서를 나타내는 객체

    - taglib : 태그 라이브러리(tag library). 사용자가 만든 태그 모음

    - include : 다른 문서를 포함하는 기능


   [사용 예]

     (1) page directive

        - 문서 타입 설정

         <%@ page contentType = "text/html; charset=utf-8" %>

            필수사항으로 jsp 파일의 문서 타입을 설정 한다.


        - 자바 클래스 import

          <%@ page import = "java.util.Calendar" %>

          <%@ page import = "java.util.Date" %>

          <%@ page import = "java.util.Calendar, java.util.Date" %>

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


       - errorPage : 실행 도중 에러 발생 시 보여줄 페이지 지정

          <%@ page errorPage="error.jsp" %>


     (2) include directive

         <%@ include file="menu.jsp"%> 

            menu.jsp 파일의 내용(소스)을 현 위치에 복사(복사 -> 붙이기 개념)



 ο  스크립트 요소

    1) 스크립트 릿(Scriptlet)

        JSP에 자바 코드를 기술


       [형식]

          <% 자바코드1; 자바코드2; 자바코드3; ... %>


       [사용 예]

         (1) 컴퓨터 시스템의 날짜 구하기

           <%@ page import = "java.util.Calendar" %>

           <%

                  String str=String.format("%tF", Calendar.getInstance());                  

           %>


         (2) select 객체에 1~12월 까지의 월 추가하기

         <select name="month" onchange="changeMonth();">

              <% for(int i=1; i<=12; i++) { %>

                        <option value="<%=i%>" <%=month==i?"selected='selected'":""%>><%=i%>월</option>

               <% } %>

         </select>



    2) 표현식(Expression)

        HTML 문서 결과 값에 포함시키고자 할 때 사용


       [사용 예]

         (1) 컴퓨터 시스템의 날짜 출력 하기

           <%@ page import = "java.util.Calendar" %>

           <%

                  String str=String.format("%tF", Calendar.getInstance());                  

           %>

                 :

           <body>

                오늘은 <%=str%> 입니다.

           </body>


         (2) out(JspWriter 객체) 내장 객체를 이용한 출력

         <%

                out.println("오늘은 " + str + "입니다.");

         %>



    3) 선언 부(Declaration)

        스크립트 릿 이나 표현식에서 사용할 수 있는 인스턴스 변수나 인스턴스 메소드 정의 시 사용


       [형식]

          <%! 자바_메소드정의 %>

          <%! 자료형 변수명 [= 초기)값]; %>


       [사용 예]

          <%! int a = 0;%>

             인스턴스 변수 a를 선언하고 0으로 초기화


          <%!

               public int sum(int n) {

                   int s=0;

                   for(int i=1; i<=n; i++) {

                        s+=i;

                  }

                  return s;

               }

         %>



 ο  JSP 주석

    - 형식 : <%-- 주석내용 --%>

    - 스크립트 릿 에서의 주석 : 『/* 주석내용 */』, 『// 주석내용』, 『/** 주석내용 */』



 ο  표현 언어 (Expression Language; EL)

     페이지 내부에서 사용되는 간단한 스크립트 언어



 ο  기본 객체 (implicit object, 내장 객체)

  - request : 요청 파라미터 읽어오기

  - response : 응답 결과 전송하기

  - session : 세션 처리하기. 공용 저장 공간

  - application : 웹 어플리케이션 전체 공용 공간

  - page : 페이지에 대한 정보 입력



 ο  액션 태그와 커스텀 태그

   - 액션 태그 : <jsp:include page="포함시킬 문서 경로" />

     특정 문서를 현재 위치에 포함 시킨다.

 

  - 커스텀 태그 : 개발자가 직접 개발. 중복되는 것들을 모듈화하며, 복잡한 소스를 간편화 시켜준다.