[JSP] 36. 서블릿과 JSP의 개념과 차이점
[JSP] 36. 서블릿과 JSP의 개념과 차이점
1. 서블릿이란?
(1) 서블릿의 정의
-서블릿은 자바를 기반으로 한 서버 측 프로그래밍 기술로, 클라이언트의 요청을 처리하고, 동적인 웹 콘텐츠를 생성하여 응답하는 역할을 한다. 서블릿은 javax.servlet(자카르타 10 버전~) 패키지에 포함되어 있다. 주로 HTTP 요청을 처리하는 데 사용된다.
(2) 서블릿의 주요 특징
-클래스 기반: 서블릿은 자바 클래스로 작성된다.
-비즈니스 로직 처리: 주로 비즈니스 로직을 처리하는 데 사용된다.
-요청 및 응답 처리: HTTP 요청을 받아 처리하고, 응답을 생성한다.
-라이프사이클: init(), service()(두겟,두포스트),destroy() 메서드를 통해 서블릿의 생명 주기를 관리한다.
2. 회원가입 비즈니스 로직 처리란?
(1) 입력 데이터 수집
(2) 입력 데이터 검증 (유효성 검사)
(3) 이메일 중복 확인
(4) 비밀번호 해싱
(5) 사용자 정보 저장
(6) 회원가입 성공 응답
*비즈니스 로직은 주로 데이터를 처리하고, 애플리케이션의 핵심 기능을 수행하는 작업 등을 말하며 반면에 화면을 어떻게 표현해야하는지에 대한 부분은 프레젠테이션 로직이라고 하며, 비즈니스 로직과는 구별된다.
3. JSP란?
(1) JSP의 개념: JSP(JavaServer Pages)는 HTML 코드에 자바 코드를 삽입할 수 있는 템플릿 엔진으로, 주로 프레젠테이션 계층에서 동적인 웹 페이지를 생성하는 데 사용된다. JSP 파일은 .jsp 확장자를 가지며, 서버에서 서블릿으로 변환되어 실행된다.
(2) JSP의 특징:
-HTML 기반: JSP는 HTML 코드 내에 자바 코드를 삽입할 수 있다.
-프레젠테이션 계층: 주로 동적인 웹 페이지를 생성하는 데 사용된다.
-태그 라이브러리: JSTL(Java Server Pages Standard Tag Library) 등을 사용해 코드를 간결히 작성할 수 있다.
-변환 및 컴파일: JSP는 서블릿으로 변환되고, 서블릿으로 컴파일된 후 실행된다.
(3) 템플릿 엔진이란?
-템플릿 엔진은 정적 템플릿 파일과 동적 데이터를 결합하여 최종 HTML을 생성하는 소프트웨어이다. 이를 통해 동적인 웹 페이지를 쉽게 생성할 수 있다. 템플릿 엔진은 서버 사이드와 클라이언트 사이드 모두에서 사용될 수 있다.
**서블릿과 JSP의 차이점
항목 | 서블릿 | JSP |
기본 구조 | 자바 클래스 | HTML 기반 템플릿 |
주요 용도 | 비즈니스 로직 처리 | 프레젠테이션 계층(동적 웹페이지 생성) |
코드 작성 방식 | 자바 코드로 작성 | HTML 코드 내에서 자바 코드를 삽입 |
변환 과정 | 자바 클래스 그대로 실행 | 서블릿으로 변환 후 실행 |
사용 용이성 | 복잡한 로직 처리에 유리 | HTML 작성 및 동적 콘텐츠 생성에 유리 |
파일 확장자 | 자바 클래스 파일 | JSP 파일 (.jsp) |