01. 주석

  • 주석이란?
    • 주석은 프로그램 소스에 텍스트로 된 간단한 설명문을 넣는 것을 말한다.
    • C언어를 비롯한 대부분의 프로그램 언어가 주석을 사용하기 위한 문법을 제공하고 있다.
    • JSP는 특성상 자바, HTML, JSP 코드가 섞여 있으므로 주석도 혼용해서 사용한다.
      1. HTML 주석 : 클라이언트로 전달되는 주석
        • 일반적인 HTML 문서에서 사용 가능한 주석으로 화면에는 보이지 않지만 브라우저 소스보기를 하면 내용이 노출됨.
          • <!--주석입니다.-->
      2. JSP 주석 : 클라이언트로 전달되지 않는 주석
        • JSP 파일에서만 사용 가능한 주석으로 브라우저 소스보기를 해도 내용이 노출되지 않음.
          • <%--주석--%>
02. 지시어
  • 지시어(Directives)란?
    • 지시어(Directives)는 JSP 파일의 속성을 기술하는 JSP 문법
    • JSP 컨테이너에게 해당 페이지를 어떻게 처리해야 하는지 전달하기 위한 내용을 담고 있다.
    • 지시어는 크게 page, include, taglib으로 나눌 수 있으며, 각각에서 다루는 속성이 다르다.
  1. page 지시어
    • page 지시어는 현재 JSP 페이지를 컨테이너에서 처리하는 데 필요한 각종 속성을 기술하는 부분
    • 보통 JSP 페이지 맨 앞에 위치함
    • 여러 줄에 나누어 작성할 수도 있음.
    • 이클립스 개발 도구를 이용해 jsp 파일을 생성하는 경우 기본적인 page 지시어는 자동 생성됨.
    • 필요에 따라 속성을 추가해 사용    
    • Page 지시어와 JSP의 한글 처리
      • Page 지시어에서 중요한 부분 중 하나는 한글 처리 부분임
      • JSP에서는 다음과 같이 3단계로 캐릭터셋을 설정함
      • 위 설정에서 캐릭터셋 설정을 찾지 못할 경우 ISO8859-1을 적용한다.
      • 페이지 지시어에 다음과 같이 한글 속성 설정
        • pageEncoding="UTF-8", contentType="text/html;charset="UTF-8"
      1. import
        • import는 JSP 스크립트 부분에서 자바 클래스를 사용하는 경우 해당 클래스의 패키지에 대한 import 설정으로 기본적으로 자바에서와 동일하다.
        • 다만 패키지 import 구분을","을 이용하거나 라인 단위로 작성해야 한다.
      2. session
        • 세션은 웹 브라우저와 웹 서버가 지속적인 클라이언트 인식을 위해 필요한 정보를 임시로 저장해두는 방법
        • 주로 웹 사이트에 로그인하거나 쇼핑몰에서 장바구니 등을 구현할 때 사용된다.
        • 기본 값이 true(세션을 사용한다)이므로, 일부러 사용을 제한할 목적이 아니라면 별도로 설정하지 않아도 됨
      3. buffer
        • JSP 페이지 데이터를 출력하기 위한 JspWriter 즉 out 내장객체의 버퍼 크기를 지정
        • 기본값은 8KB이고 JSP 페이지에 동적으로 많은 내용이 포함될 경우 버퍼 크기 조정이 필요할 수도 있으나 일반적으로는 변경하지 않아도 됨
      4. autoFlush
        • autoFlush는 버퍼를 자동으로 비울 것인지를 지정하는 속성으로, 기본 값은 true다.
        • 버퍼 속성에 지정되어 있는 크기만큼 버퍼를 유지하고 있다가 버퍼가 다 차면 자동으로 전송한다.
      5. isThreadSafe
        • 기본적으로 서블릿은 스레드로 동작하기 때문에 스레드로 인한 동기화 문제를 해결하기 위한 옵션임
        • 기본값은 true로, 일반적으로 false로 설정하는 경우는 거의 없다.
      6. info
        • 해당 JSP에 대한 간단한 설명으로 저작권이나 작성일 등 간단한 정보 기술에 사용
      7. errorPage, isErrorPage
        • 두 속성은 jsp파일의 오류 처리를 위한 것으로, errorPage는 현재 페이지에 오류 발생시 호출할 페이지를 지정하는 속성이고, isErrorPage는 오류 처리를 위한 전용 페이지임을 알리는 속성이다.
        • errorPage지정을 통해 보다 효과적으로 페이지 오류를 관리할 수 있따.
          • errorPage : 일반적인 JSP 파일에 사용
          • isErrorPage : 오류 처리 파일에만 사용
      8. contentType
        • 현재 JSP 페이지를 클라이언트에서 처리하기 위한 콘텐츠 유형을 지정하는 부분
        • 윈도우에서 파일 확장자에 따라 연결 프로그램이 동작하는 것과 마찬가지로 웹 브라우저에서도 contentType에 따라 전달되는 내용을 어떻게 처리할지 결정할 수 있따.
        • text/html이 아니라 application/msword로 지정할 경우 브라우저는 서버가 전달하는 콘텐츠를 ms word 문서로 인식해 처리할 것을 사용자에게 요청함
      9. pageEncoding
        • pageEncoding은 컨테이너에서 처리할 JSP 파일의 인코딩을 설정
        • JSP 2.0 스펙에 추가된 속성으로, 이전 버전을 지원하는 컨테이너의 경우에는 사용할 수 없다.
      10. extends
        • JSP가 서블릿으로 변환될 때 상속받을 슈퍼클래스를 지정할 수 있는 부분이다.
        • 일반적으로는 사용할 일이 없으며 토맷의 경우 org.apache.jasper.runtime.HttpJspBase 클래스를 상속받게 된다.
  2. include 지시어
    • include 지시어는 현재 JSP 파일에 다른 HTML이나 JSP 문서를 포함하기 위한 기능을 제공
    • include 지시어는 다음 절에서 살펴볼 include 액션과 비슷한 기능을 한다.
    • 네이버와 같은 인터넷 포털사이트의 화면처럼 여러 정보의 조합으로 한 화면을 구성할 때 유용하게 사용됨
    • include 지시어를 사용하면 기능 혹은 화면ㅇ르 모듈화할 수 있어 화면 구성이나 재활용이 용이하다.
  3. taglib 지시어
    • JSP 기능을 확장하기 위해 만들어진 커스텀 태그 라이브러리를 사용하기 위한 지시어
    • 태그 라이브러리는 10장에서 자세히 살펴볼 것이고 여기서는 간단한 문법만 참조
    • 커스텀 태그는 공통으로 활용하거나 특정 기능을 HTML 태그 형태로 모듈화 하는 기술임
03. 액션


Posted by OnewayK
,