Legday
[Spring] 서블릿(Servlet)이란 ? 본문
서블릿(Servlet)을 알기전에 개발자가 서버를 구축할 때 어떤 것을 해야하는지 알아야한다. 서블릿(Servlet)은 개발자가 서버구축을 할때 편의성을 제공해준다.
1. 개발자가 서버를 구축할때 준비할것
비즈니스 로직 실행을 빼고 모든 것을 서블릿이 지원해준다!!
- 서버 TCP/IP 대기, 소켓(Socket) 연결
- HTTP 요청 메시지를 파싱
- POST 방식, URL 인지
- Content-Type 확인
- HTTP 메시지 바디 내용 파싱
- 저장 프로세스 실행
- 비즈니스 로직 실행
- 데이터베이스에 저장 요청
- HTTP 응답 메시지 생성시작
- TCP/IP에 응답 전달, 소켓종료
2. 서블릿 코드
@WebServlet(name = "서블릿 이름", urlPatterns = "url 주소")
public class ServletTest extends HttpServlet(
@Override
protected void servie(HttpServletRequest request, HttpServletResponse response){
//애플리케이션 로직
)
}
- urlPatterns에 적혀있는 URL이 호출되면 밑에 코드가 실행된다.
- request는 HTTP요청 정보를 편리하게 사용
- response는 응답 정보를 편리하게 제공
3. 서블릿 컨테이너
- Tomcat 처럼 서블릿을 지원하는 WAS를 서블릿 컨테이너라고 한다.
- 서블릿 컨테이너에서 서블릿 객체는 싱글톤 패턴으로 관리되고, 동시 요청을 위한 멀티 쓰레드를 지원한다.
- 웹브라우저(Client)가 WAS로 요청(Request)를 하면 url에 해당하는 서블릿 컨테이너에 접근하고 request, response객체를 이용하여 데이터를 응답해준다.
'Spring&Springboot > Spring(개인공부용)' 카테고리의 다른 글
| SOLID 란? (0) | 2022.12.06 |
|---|---|
| CSR , SSR 이란? (0) | 2022.12.06 |
| [Spring] 웹서버(WebServer), WAS란 ? (0) | 2022.12.06 |
| [Springboot] 이미지를 로컬에 저장하고 DB에 저장 (1) | 2022.10.06 |
| [MyBatis]Springboot에서 DB 언더스코어 -> Java 커멜표기법 변환 (0) | 2022.09.27 |