웹기반 애플리케이션

JSP 4일차 📃_ 서블릿

비비펄 2023. 2. 22. 13:51

✔서블릿이란?

WAS에 의해 관리되는 객체의 형태로, 웹상에서 발생한 요청을 받고, 그에 대한 응답을 전송할 수 있는 객체들의 요건에 대한 명세(spec)

✔ WAS(Web Application Server), Web *Container, Servlet Container, JSP Container

 * Container ? 내부의 관리객체(Component)에 대한 생명주기 관리자(운영 주체), 

                      객체 관리 중 발생하는 이벤트들에 대한 **콜백(callback)구조를 가짐.
 * Servlet Container ? 내부의 관리객체(Servlet)에 대한 생명주기 관리자(운영 주체)
 * JSP Container ? 내부의 관리객체(JSP)에 대한 생명주기 관리자(운영 주체)

 

✔서블릿에 정의된 callback메소드 종류

*  - lifecycle callback : init, destroy
 *  - request callback : service, doXXX(service에 의해 호출되고, request method에 따라 선택됨)

 

✔서블릿 개발 단계

*  1. HttpServlet 을 상속받은 구현체 정의
 *    - 필요한 callback메소드 재정의
 *  2. compile : /WEB-INF/classes(context 's classpath) 에 배포
 *  3. 컨테이너에 등록
 *      - 2.x : web.xml -> servlet -> servlet-name, servlet-class, loadonstartup, init-param
 *      - 3.x : @WebServlet

 

MIME(Multi purpose Internet Mail Extension) : 전송 컨텐츠의 종류를 표현하는 방법.
 *  mainType/subType;charset=XXX
       서비스 / 인코딩방식;
 *  ex) text/html; charset=UTF-8, text/plain; charset=UTF-8
 *  text/javascript, text/css
 *  image/gif, video/mpeg, audio/mp4

 

✔서블릿과 JSP의 차이

서블릿과 JSP는 모두 자바 웹 애플리케이션 개발에 사용되는 기술입니다. 하지만 두 기술 사이에는 몇 가지 차이점이 있습니다.

1. 역할

서블릿은 자바 코드로 작성된 웹 애플리케이션 로직을 처리하는 서버 측 프로그램이다. 반면에, JSP는 HTML 코드와 결합된 자바 코드로 작성된 웹 페이지를 생성하는 데 사용된다. 서블릿은 Java Servlet API를 사용하여 작성되고, JSP는 JavaServer Pages 기술을 사용하여 작성된다.

2. 처리 방식

서블릿은 Java 코드로 작성된다. 이 코드는 서블릿 컨테이너에서 컴파일되고, 실행된다. 반면에, JSP는 HTML과 자바 코드로 작성된다. JSP는 서블릿으로 변환되어 실행된다.

3. 유지 보수 및 개발

서블릿은 자바 코드로 작성되기 때문에, 비교적 복잡하고 유지 보수가 어렵다. 반면에, JSP는 HTML과 자바 코드의 결합으로 구성되어 있기 때문에, 유지 보수와 개발이 상대적으로 쉽다.

4. 기능

서블릿은 HTTP 요청 및 응답 처리, 세션 관리, 데이터베이스 연결, 사용자 인증 및 권한 부여와 같은 다양한 작업을 수행할 수 있다. 반면에, JSP는 HTML 페이지에 동적 기능을 추가하는 데 사용된다.

5. 선택 기준

서블릿과 JSP 중 어떤 기술을 선택할지는 개발자의 요구 사항에 따라 다르다. 만약 웹 애플리케이션 로직 처리와 같은 서버 측 작업이 필요하다면 서블릿을 선택할 수 있다. 반면에, HTML 페이지에 동적 기능을 추가하려는 경우에는 JSP를 선택할 수 있다.