JSP(Java Server Page)란 ?

Server(web)를 통해서 Client form(document form (== 웹브라우저 전체))을 만들어 내는 코드이다.

Html안에 Java코드 사용한다. (Html과 Java가 섞여서 가독성이 좋지 못하다.)

Client에게 요청이 오면 Web Server를 거쳐 Web container에 들어가서 jsp파일이나 html파일에서 데이터를 찾아서 반환한다.

 

JSP 기본 문법 정리

문법명 형식 설명
주석문 <%--  --%> 1줄 주석문은 없다. 
html주석문 ( <!--  --> )도 사용가능하다.

page 지시문









<%@    %>








인코딩 클래스 가져 오기, 세션 관리 등 JSP 프로그램 전체의 동작에
관한 정의합니다.

예시) <@ page 속성 명 = "속성 값"속성 명 = "속성 값"... %>

속성명 속성설명
contentType JSP 프로그램의 응답시의 MIME 타입과 문자 인코딩을 지정합니다. 
session  HTTP 세션을 사용할지 여부를 지정합니다. (기본값 True)
pageEncoding JSP 프로그램을 Servlet 프로그램으로 변환 할 때의 문자 인코딩을 지정합니다. 
language JSP 프로그램에서 사용하는 언어를 지정합니다.
import     JSP 프로그램에서 가져올 클래스 패키지를 지정합니다.
errorPage   JSP 프로그램에서  잡을 수 없는 예외를 처리 할 페이지를 지정합니다.
autoFlush
버퍼에 데이터가 쌓여 때 자동으로 클라이언트에 데이터를 보낼 것인지를 지정합니다.
buffer
클라이언트로 전송하는 데이터를 버퍼링 할 때 버퍼의 용량을 지정합니다. 용량은 kb로 지정합니다. 기본 크기는 8kb입니다. 버퍼하지 않으면 none을 지정합니다.
선언부 <%!      %> 전역변수, class, function를 선언하는 영역이다.
변수, 메소드 선언시 반드시; (세미콜론)가 필요합니다.
선언에서 선언 된 변수, 메소드는 처음 요청이있을 때 한 번만 호출됩니다. 
따라서 계속되는 요구에도 변수의 값은 초기화되지 않고, JSP 컨테이너 (Tomcat )
다시 시작할 때까지 값이 유지됩니다.
위치는 관계없지만 대부분 문서 윗쪽에 작성한다.
scriptlet <%       %> 실제 코드들이 들어가있는 부분이다.( == 코드부)
스크립틀릿은 JSP 태그에서는 표현할 수없는 작업을 Java 코드를 작성하고 자유로운
작업을 수행하는 경우에 사용합니다. 
Java 코드를위한 각 코드에는 반드시; (세미콜론)가 필요합니다.
scriptlet에서 선언 된 변수는 요청 때마다 호출됩니다. 
따라서 그 요청이 있을 때마다 변수의 값이 초기화됩니다.
표현식 <%=     %> Java 코드를 작성하고 그 결과를 표시합니다. 
따라서 실행 결과를 반환 코드 밖에 기술할 수는 없습니다. 
실행 결과를 리턴하지 void 메소드나 변수의 선언만 식으로 설명 할 수 없습니다. 
표현식에서는 ; (세미콜론)을 작성하지 않습니다.

 

내장(암시)객체

new(생성)을 하지 않고 바로 사용이 가능한 객체를  의미합니다.

 

자주 사용하는 내장객체 / 메소드 정리

객체명 객체 설명 메소드 메소드 설명
request 

javax.servlet.http.HttpServletRequest
인터페이스 객체 변수 입니다. 
클라이언트에서 전송 된 매개 변수 데이터 헤더 정보, Cookie를 취득 할 때 사용합니다. 


getParameter (String) 파라미터 값을 받을 때 사용합니다.
매개 변수가없는 경우는 Null이 반환됩니다.
getParameterValues​​ (String) 파라미터 값들을 받을 때 사용합니다.
String 형의 배열로 반환됩니다.
매개 변수가없는 경우는 Null이 반환됩니다.
 setAttribute(String name, Object value)  첫번째 파라미터 데이터 이름, 두 번째 인수에
데이터 값을 지정하고 세션 범위의 데이터 값을
등록합니다. 이미 데이터 이름이 있으면 새로 지정된 데이터 값을 덮어 씁니다.
 getAttribute(String name) 인수에 지정된 데이터 이름에 해당하는 세션 범위의 데이터 값을 반환합니다. 해당 데이터 이름이없는 경우는
null를 리턴합니다.
response javax.servlet.http.HttpServletResponse
인터페이스 객체 변수입니다.

클라이언트에 헤더 정보, HTTP 상태, Cookie 등을 반환 할 때 사용합니다. 
sendRedirect (String) 인수에 지정된 URL로 리디렉션(이동)합니다.
pageContext

javax.servlet.jsp.PageContext 클래스의 객체 변수입니다. 
이 객체는 JSP에서 사용되는 모든 객체를 관리 할 수 있습니다. 

forward (String) 인수에 지정된 URL에 요청을 전송합니다.처리는 전송 된 URL에
인계됩니다. URL은 상대 경로로 지정할 수 있습니다. 
forward 메서드 전에 어떤 값을 출력하는 처리를 해서는
안됩니다. 
값을 출력하는 작업을 수행하는 경우는 예외가 슬로우됩니다.
include (String) 인수에 지정된 URL의 리소스를 실행하고 처리 결과를 전송 바탕으로 반환합니다.URL은 상대 경로로 지정할 수 있습니다.
session

암시 객체 sessionjavax.servlet.http.HttpSession 인터페이스 객체 변수입니다. 
클라이언트와 서버 간의 세션 관리에 사용합니다. 
 page 지시어의 session 속성에 false가 설정되어있는 경우이 암시 객체를 사용 할 수 없습니다.
 setAttribute(String name, Object value)  첫번째 파라미터 데이터 이름, 두 번째 인수에
데이터 값을 지정하고 세션 범위의 데이터 값을
등록합니다. 이미 데이터 이름이 있으면 새로 지정된 데이터 값을 덮어 씁니다.
getAttribute (String) 인수에 지정된 데이터 이름에 해당하는 세션 범위의 데이터 값을 반환합니다. 해당 데이터 이름이없는 경우는
null를 리턴합니다.
out javax.servlet.jsp.JspWriter 클래스의 객체 변수입니다. 
브라우저에 출력이나 버퍼링 등 주로 출력 계의 메소드가 정의되어 있습니다. 
println (var) 인수에 지정된 값과 OS 환경에 맞게 개행 문자를 출력합니다.

 

+ Recent posts