https://mangkyu.tistory.com/14
[JSP] 서블릿(Servlet)이란?
1. Servlet(서블릿) 서블릿을 한 줄로 정의하자면 아래와 같습니다. 클라이언트의 요청을 처리하고, 그 결과를 반환하는 Servlet 클래스의 구현 규칙을 지킨 자바 웹 프로그래밍 기술 간단히 말해
mangkyu.tistory.com
출처 : 망나니개발자님의 블로그
Servlet
자바를 사용하여 웹페이지를 동적으로 생성하는 서버측 프로그램 혹은 그 사양을 말한다.
웹 서버의 성능을 향상하기 위해 사용되는 자바 클래스의 일종이다.
- 클라이언트의 요청에 대해 동적으로 작동하는 웹 애플리케이션 컴포넌트
- html을 사용하여 요청에 응답한다.
- Java Thread를 이용하여 동작한다.
- MVC 패턴에서 Controller로 이용된다.
- HTTP 프로토콜 서비스를 지원하는 javax.servlet.http.HttpServlet 클래스를 상속받는다.
- UDP보다 처리 속도가 느리다.
- HTML 변경 시 Servlet을 재컴파일해야 하는 단점이 있다.
_JSPark님의 블로그에서의 Servlet (쉬운 이해를 위해 인용)
- 클라이언트 요청을 처리하고 그 결과를 다시 클라이언트에게 전송하는 Servlet 클래스의 구현 규칙을 지킨 자바 프로그램
- 클라이언트의 HTTP 요청에 대해 특정 기능을 수행, HTML문서를 생성등의 응답을 하는 인터넷 서버 프로그램
출처: https://jusungpark.tistory.com/15 [정리정리정리]
Servlet 동작 방식
- 사용자(클라이언트)가 URL을 입력하면 HTTP Request가 Servlet Container로 전송한다.
- 요청을 전송받은 Servlet Container는 HttpSetvletRequest, HttpServletResponse 객체를 생성한다.
- web.xml을 기반으로 사용자가 요청한 URL이 어느 서블릿에 대한 요청인지 찾는다.
- 해당 서블릿에서 service메소드를 호출한 후 클라이언트의 GET, POST 여부에 따라 doGet() 또는 doPost()를 호출한다.
- doGet() or doPost() 메소드는 동적 페이지를 생성한 후 HttpServletResponse 객체에 응답을 보낸다.
- 응답이 끝나면 HttpServletRequest, HttpServletResponse 두 객체를 소멸시킨다.
Servlet Container
- 서블릿을 관리해주는 컨테이너.
- 클라이언트의 요청(Request)을 받고 응답(Response)할 수 있게, 웹 서버와 소켓으로 통신하며 대표적으로 톰캣(Tomcat)이 있다.
- 톰캣은 웹 서버와 통신하여 JSP(Java Server Page)와 Servlet이 작동하는 환경을 제공해준다.
Servlet Container의 역할
- 웹 서버와의 통신 지원
- 서블릿 생명주기(Life Cycle) 관리
- 멀티 쓰레드 지원 및 관리
- 선언적인 보안 관리
JSP(Java Server Page)
- Java 코드가 들어가 있는 HTML 코드.
- HTML 코드에 JAVA 코드를 넣어 동적 웹 페이지를 생성하는 웹 애플리케이션 도구이다.
Servlet vs JSP
- JSP는 HTML 문서 안에 Java 코드를 포함하고 있다.
- 서블릿은 자바 코드 안에 HTML을 포함하고 있다.
'Note' 카테고리의 다른 글
Spring Boot 참고자료 (0) | 2021.10.07 |
---|---|
JAR, WAR (0) | 2021.10.06 |
HTTP Method (0) | 2021.10.04 |
Rest API(RESTful API) - 학습필요 (0) | 2021.10.04 |
JdbcTemplate - 학습 필요 (0) | 2021.10.04 |