✔서블릿이란?
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를 선택할 수 있다.
'웹기반 애플리케이션' 카테고리의 다른 글
JSP 6일차 📃_JSP?, JSP소스구성요소, JSP컨테이너의 역할, Servlet컨테이너의 역할 (0) | 2023.02.24 |
---|---|
JSP 5일차 📃_템플릿 엔진, MIME (0) | 2023.02.24 |
JSP_3일차 📃 서블릿과 JSP의 차이 (0) | 2023.02.21 |
JSP_정적 콘텐츠&동적 콘텐츠의 차이, Web과 WAS, 서블릿 (0) | 2023.02.20 |
JSP_1일차★웹이라는 공간에대한 개요, ★클라이언트와 서버가 서로를 식별하기 위한 방법, ★클래스패스 (0) | 2023.02.20 |