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 페이지서 예외가 발생한 경우에 사용되는 객체 |
참고 : 위키백과
'Web programming > Servlet & JSP' 카테고리의 다른 글
Tiles 라이브러리 다운로드 / 레이아웃 템플릿에 적용 (0) | 2020.05.12 |
---|---|
Include와 Tiles (0) | 2020.05.12 |
MVC (Model View Controller) (0) | 2020.04.29 |
Collections Framework (Set, List, Map) (0) | 2020.04.27 |
JSP관련 용어 정의 (0) | 2020.04.24 |