본문 바로가기
Web programming/Servlet & JSP

Servlet(서블릿)과 JSP(자바 서버 페이지), JSP 코드 블럭과 내장객체

by Skilly 2020. 4. 25.

Servlet (서블릿)

JAVA 소스코드 내에 HTML 소스코드 삽입

서블릿(Servlet)은 자바 웹 어플리케이션의 구성요소 중 동적인 처리를 하는 프로그램의 역할을 한다.
(서버에서 웹페이지를 생성하거나 데이터 처리를 수행하기 위해 자바(EE: JAVA Platform Enterprise Edition)로 작성된 프로그램) 작성된 자바 소스 코드를 서블릿 컨테이너인 톰캣을 사용하면 자동으로 HTML로 변환해 준다.
- WAS에 동작하는 JAVA 클래스
- HttpServelet 클래스를 상속받아 코드 작성

 

하지만 HTML 문서 디자인 등이 바뀔 때마다 .class 파일을 수정 및 컴파일 해야 하고, 웹 서버를 재가동하는 일이 잦아지는 단점이 있어 JSP와 적절히 사용할 필요가 있다.

 

JSP (자바 서버 페이지 : Java Server Pages)

HTML 소스코드 내에 JAVA 소스코드 삽입

동적으로 웹 페이지를 생성하는 웹 어플리케이션 도구로 클라이언트가 요청한 것을 (웹 서버에서) 동적으로 웹 페이지를 생성하여 웹 브라우저에 돌려준다.

자바 서버 페이지는 실행 시에는 자바 서블릿으로 변환된 후 실행되므로 서블릿과 거의 유사하다고 볼 수 있다. 하지만, 서블릿과는 달리 HTML 표준에 따라 작성되므로 웹 디자인하기에 편리하다.

 

 

JSP 코드 블럭

<% 일반 코드 블럭 %>

  service 메소드 내에 자바 코드를 입력할 때에 사용하는 블럭

<%= 값 코드 블럭 %>

  service 메소드 내에 변수 자체를 출력할 때 사용하는 블럭

<%! 정의 코드 블럭 %>

  메소드를 정의/선언할 때 사용하는 블럭

<%@ 초기설정 블럭 %>

  page 지시자로 초기 설정할 때 사용하는 블럭

 

코드 블럭의 사용

게시글을 10번 반복하는데, 홀수번째는 노란색으로 출력한다

list.jsp

 

 

Ctrl+F11눌러 확인해보면 다음의 결과가 나온다

 

 

 

 

JSP 내장 객체

JSP 내에서 레퍼런스 타입의 변수를 제공한다 해서 내장 객체라고 한다.

JSP가 서블릿으로 변환될 때 JSP 컨테이너가 자동적으로 생성해서 사용하도록 제공하기 때문에, 선언하지 않고 사용할 수 있다.

 

 내장 객체

리턴 타입

설명 

request 

javax.servlet.http.HttpServletRequest 

웹 브라우저의 요청 정보를 저장하고 있는 객체 

response 

javax.servlet.http.HttpServletResponse 

웹 브라우저의 요청에 대한 응답 정보를 저장하고 있는 객체 

out 

javax.servlet.jsp.jsp.jspWriter 

JSP 페이지에 출력할 내용을 가지고 있는 출력 스트림 객체이다. 

session 

javax.servlet.http.HttpSession 

하나의 웹 브라우저의 정보를 유지하기 위한 세션 정보를 저장하고 있는 객체 

application 

javax.servlet.ServletContext 

웹 어플리케이션 Context의 정보를 저장하고 있는 객체 

pageContext 

javax.servlet.jsp.PageContext 

JSP 페이지에 대한 정보를 저장하고 있는 객체 

page 

java.lang.Object 

JSP 페이지를 구현한  자바 클래스 객체

config 

javax.servlet.ServletConfig 

JSP 페이지에 대한 설정 정보를 저장하고 있는 객체 

exception 

java.lang.Throwable 

JSP 페이지서 예외가 발생한 경우에 사용되는 객체 

 

 

 

 

 

 

 

 

 

참고 : 위키백과

반응형