서블릿이란
- 자바 기반의 웹프로그램 개발을 만들어진 기술
- 자바로 작성된 프로그램을 실행할 수 있는 서버 소프트웨어를 통해 관리됨
- 서블릿을 실행하기 위해서는 톰캣과 같은 서블릿 컨테이너가 필요함
- 이러한 소프트웨어는 일반적으로 WAS(Web Applicatin Server)로 불리기도 함
- 사용자가 요청시 전달한 정보를 바탕으로 데이터베이스에 접근하여 저장하거나 비교 후 사용자가 원하는 응답을 해주는 기능을 수행하는 객체
JSP의 등장배경
- 서블릿은 HTML과 데이터를 조합하는 방식에 어려움이 있음, HTML과 매우 유사
out.println("<h2>"+username+"</h2>")
- 이를 해결하기 위해 JSP등장. JAVA코드 삽입가능
JSP(Java Server Pages)
- 서블릿에서 HTML과 데이터 결합을 손쉽게 처리하기 위해 만들어짐
- HTML에서 자바코드를 사용할 수 있는 구조
: 따라서 JSP는 HTML에 자바 코드를 더한 형태로 구성되며 , 컨테이너에 의해 서블릿 형태의 자바 코드로 변환 후 컴파일 되어 컨테이너에 적재되는 구조가
<html>
...
<h2><%= username %></h2>
...
</html>
- JSP 문법 자체는 page 지시어 언언 부분을 제외하면 HTML 파일 구조와 동일함
- CSS, 자바 스크립 사용 형식 또한 동일함
- <%= %>란 JSP 출력문으로 사칙 연산, 간단한 변수의 출력등에 사용된다.
JSP의 문제점
- 데이터를 반복해서 출력하거나 조건을 체크해야 하는 경우 단순한 HTML 문법만으로는 처리할 수 없기 때문에 자바 코드를 중간중간 사용해야함
- <% ... %> 는 스크립트 릿으로 해당 블록안에서 자바 코드를 자유롭게 사용할 수 있다.
- HTML 부분은 서블릿 컨테이너에 의해 out.println( )을 사용하는 형태로 변환됨
- 따라서 JSP는 HTML이 아니라 서블릿 형태의 프로그램으로 변환되는 것임
서블릿
서블릿의 동작 과정
- 서블릿 코드 작성, 컨테이너 등록, 클라이언트 요청에 따른 동작 과정
- 경로 설정
-> 3. 서블릿 실행
-> 4. 스레드로 동시에 처리
-> 5. 프로토콜 : 데이터 통신을 할 때 사용되는 규칙
-> 6. 디스트로이 : 서버나 웹 앱이 종료되는 시점
-> 7. 서블릿 등록 해제
서블릿 클래스의 구조
- 서블릿 자체는 자바로 구현하지만 서블릿 컨테이너에 해당 클래스가 서블릿임을 알려야 하며느 어떤 URL 접근에 실행해야 하는지 등록하는 과정이 필요함
서블릿의 생명 주기
- 객체 생성에서 종료에 이르는 과정
서블릿의 비즈니스 로직처리
서블릿의 비즈니스 로직처리 방법
서블릿의 데이터베이스 연동