Skip to content

Java JSP웹프로그래밍 #
Find similar titles

Structured data

Category
Programming

Java Server Page #

JSP란 WAS의 웹컨테이너에 의해 생성되고, 실행, 관리되는 Java 기반 Server Side Script 언어이다.

  • 서버 사이드 스크립트 언어 : ASP, JSP, PHP, ASP.NET 등
  • 클라이언트 사이드 스크립트 언어 : JavaScript, VBScript, ActionScipt 등

탄생 배경 #

Servlet만으로도 웹 애플리케이션을 개발할 수 있지만, 동적 컨텐츠(HTML, CSS, XML 등) 생성 및 출력 로직을 서블릿 소스 코드영역에서 출력함으로 써 개발 생산성이 떨어지는 단점을 가지고 있다. Servlet과 반대로 JSP는 HTML 페이지에서 프로그램 코드가 필요한 영역에 자바 코드를 포함시켜 사용함으로써 화면(HTML, CSS 등)을 구성하는데 매우 유용하고, 개발 생산성이 현격히 높아진다. 또한 화면 출력 부분과 비지니스 로직(자바 소스 코드)부분을 분리(캡슐화)하여 개발할 수 있다.

  • Servlet의 기능 그대로 사용할 수 있고 JavaBeans, EJB, Spring등의 강력한 기술들이 지원
  • JSTL을 지원하게 되면서 가독성이 좋아지고 유지보수의 용이성이 향상되어 규모가 있는 프로젝트에 적합

JSP 디폴트 객체 #

객체 이름 데이터 타입 의미 사용범위
request HttpServletRequest 클라이언트의 요청 request
response HttpServletResponse 요청에 대한 응답 page
out JspWriter 문자 출력 스트림 page
pageContext PageContext 현재 JSP에 대한 실행 환경 정보(Context) page
session HttpSession 클라이언트 상태정보 저장을 위한 세션 session
application ServletContext 실행 환경 정보 저장 및 데이터 공유 application
config ServletConfig 초기 설정 정보 제공 page
page Object 요청을 처리하고 있는 현재 서블릿(this) page
exception Throwable 실행 시 발생하는 Throwable 예외 객체 page

JSP page 지시어 #

JSP 페이지에 대한 속성을 지정하는 지시어이다. 아래와 같은 형식을 갖는다.

<%@ page 속성1="값1" 속성2="값2" 속성3="값3"... %>

아래와 같이 총 12개의 속성을 지정할 수 있다. 하나의 지시어에 모두 넣어도 상관없고 지시어를 분리하여 각각 하나씩 지정해도 상관없다. 하지만 Import속성을 제외하곤 나머지는 한번씩만 지정할 수 있다.

속성 사용법 기본값 설명
language language = "java" java 스크립트 요소에서 사용할 언어
extends extends="클래스명" 없음 상속받을 클래스 지정
import import="패키지/클래스명" 없음 import할 패키지/클래스 설정
session session="true" true HttpSession 사용 여부
buffer buffer="16kb" 8kb JSP의 출력버퍼 크기를 설정
autoFlush autoFlush="true" true 출력버퍼가 다 찼을 경우 출력 여부
isThreadSafe isThreadSafe="true" true 다중 스레드의 동시 실행 여부
info info="페이지 설명" 없음 페이지 설명
errorPage errorPage="errorpage.jsp" 없음 에러페이지로 사용할 페이지 지정
ContentType contentType="text/html" text/html;charset=ISO-8859-1 JSP페이지가 생성할 문서의 타입
isErrorPage isErrorPage="false" false 현재페이지를 에러페이지로 지정
pageEncoding pageEncoding="euc-kr" ISO-8859-1 현재페이지의 문자 인코딩 지정
0.0.1_20140628_0