티스토리 뷰

반응형

 

JSP에서 HTML 문서를 생성하는 기본 코드 구조

JSP 설정 부분 

JSP 페이지에 대한 설정 정보

  • JSP 페이지가 생성하는 문서 타입
  • JSP 페이지에서 사용할 커스텀 태그
  • JSP 페이지에서 사용할 자바 클래스 지정
<%@ page contentType = "text/html; charset=euc-kr" %>

생성할 문서 : HTML
character set : EUC-KR

 

JSP 생성 부분

HTML 코드 및 JSP 스크립트

생성할 문서의 데이터, 문서를 생성하는데 필요한 스크립트 코드 등이 위치함 


JSP 페이지의 구성 요소

  • 디렉티브(Directive) : <%@ ~~~~~~ %> 
  • 스크립트 : 스크립트릿(Scriptlet), 표현식(Expression), 선언부(Declaration)
  • 표현 언어(Expression Language)
  • 기본 객체(Implicit Object) : 객체 생성 없이 그냥 쓰는 것 9개 정도
  • 정적인 데이터 : HTML, CSS를 의미함
  • 표준 액션 태그(Action Tag) : JSP에서만 쓰는 태그
  • 커스텀 태그(Custom Tag)와 표준 태그 라이브러리(JSTL)

디렉티브

JSP 페이지에 대한 설정 정보를 지정할 때 사용
디렉티브 이름은 'page'가 되고, contentType 이라는 속성 사용, 속성 값은 'text/html; charset=euc-kr"가 됨

<%@ 디렉티브이름 속성1="값1" 속성2="값2" ... %>
<%@ page contentType = "text/html; charset=euc-kr" %>

- %@ 둘 사이에 공백X

 

JSP가 제공하는 디렉티브


스크립트 요소

JSP 파일 안에 자바 코드를 집어넣을 수 있게 만듦 

동적으로 출력 결과를 생성하기 위해 사용 

JSP에서 실시간으로 문서의 내용을 생성하기 위해 사용되는 것

스크립트 요소를 사용하면, 사용자가 폼에 입력한 정보를 데이터에 저장할 수 있고
데이터베이스로부터 게시글 목록을 읽어와 출력할 수도 있음
자바가 제공하는 다양한 기능도 사용 가능

JSP의 스크립트 요소

  • 표현식(Expression) : 자바 코드의 처리결과를 출력, 값을 출력 <%= ~~ %>
  • 스크립트릿(Scriptlet) : 자바 코드를 실행 <% ~~ %>
  • 선언부(Declaration) : 자바 메서드(함수)를 만든다.<%! ~~%>

기본 객체(=내장 객체)

웹 어플리케이션 프로그래밍을 하는데 필요한 기능을 제공
JSP에서 별도의 객체 선언 없이 사용 가능

주요 기본 객체 : 9개의 기본 객체가 존재함

request : HttpServletRequest
response : HttpServletResponse
out : JspWriter
session : HttpSession
application : SevletContext
pageContext : PageContext
config : ServletConfig
exception : Throwable
page : Object

이들은 각각 요청 파라미터 읽어오기, 응답 결과 전송하기, 세션 처리하기 등의 기능을 제공함


표현 언어

JSP의 스크립트 요소(스크립트릿, 표현식, 선언부)에선 자바 문법을 그대로 사용할 수 있음

하지만 자바에 대한 기초 지식이 전혀 없다면, JSP를 원하는 대로 구사할 수 있는 데 한계를 가짐

이런 상황을 해결하기 위해 나온 것이 표현 언어(Expression Language;EL)

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


표준 액션 태그와 태그 라이브러리

액션 태그 : XML의 태그와 같은 모양을 취함, JSP 페이지에서 특별한 기능을 제공함. <jsp:액션태그이름>의 형태

예를들어, 다음 코드에서 사용된 <jsp:include>가 액션 태그인데, 특정한 페이지의 실행 결과를 현재 위치에 포함시킬 때 사용

 

커스텀 태그 : JSP를 확장시켜 주는 기능, 태그 형태로 기능을 제공

JSTL(JavaServer Page Standard Tag Library) : 커스텀 태그 중에서 자주 사용되는 것들을 별도로 표준화한 태그 라이브러리

액션 태그와 커스텀 태그의 차이점 : 커스텀 태그는 개발자가 직접 개발해줘야 함

반응형
댓글