Servlet

devkwon·2023년 9월 24일

BackEnd

목록 보기
3/7

자바 서블릿(Java Severlet)

자바를 사용하여 웹페이지를 동적으로 생성하는 서버측 프로그램 혹은 사양을 말한다. 자바 서블릿은 웹 서버의 성능을 향상하기 위해 사용되는 자바 클래스의 일종이다. JSP와 비슷한 점이 있지만, JSP는 HTML 문서 안에 JAVA코드를 포함하고 있는 것이고, 서블릿은 JAVA코드 안에 HTML을 포함하고 있는 것이다.

클라이언트에서 서버로 request가 들어오면 WAS(Web Application Server)에서 받아 이에 대한 비즈니스 로직을 처리하고 response를 서버에서 클라이언트에게 보내준다.

이 WAS에 Servlet이 들어가는데, 하는 동작은 크게 3가지로 나눌 수 있다.
1. 데이터를 받아온다.
2. 비즈니스 로직을 실행한다.
3. 처리된 결과 페이지를 보여준다.

Life-Cycle

서블릿 클래스는 main 메소드가 존재하지 않는다. 즉 객체의 생성부터 사용의 주체가 사용자가 아닌 servlet container에게 있다. 클라이언트가 request를 하면, servlet container가 서블릿 객체를 최초 1회 생성,초기화를 하며, 요청에 대한 처리(doGet,doPost)를 반복을 한다. 이후 모든 요청이 끝나면 메모리에서 해제한다.

Parameter 전송 방식

Get

전송되는 데이터가 URL 뒤에 Query String으로 전달.
입력 값이 적은 경우나 데이터가 노출되어도 되는 경우에 사용한다.

장점: 빠르게 데이터를 전송할 수 있다.
단점: 데이터 양에 제한이 있다.

Post

URL과 별도로 전송된다. HTTP header 뒤 body에 입력 스트림 데이터로 전달한다.

장점: 데이터 크기의 제한이 없다. URL에 노출되지 않아 기초적인 보안 효과를 볼 수 있다.
단점: Get보다 느리다.

0개의 댓글