본문 바로가기
✨ Back-end/Servlet

[Servlet] JSP 서블렛이란? doGet( ) , doPost( ) , 라이프사이클

by 환풍 2023. 2. 10.
728x90

서블렛이 뭘까?

자바를 사용하여 웹페이지를 동적으로 생성하는 서버측 프로그램 혹은 그 사양을 말하는 것이다.

즉 , 웹 개발에 필요한 기능들을 서블렛(sevlet)이라는 클래스로 만들어 놓은 것이다.

이클립스에서 서블릿(servlet) 생성하는 방법.

 

HttpServlet 클래스에는 웹 개발에 필요한 기능이 정의되어 있다.
그래서 클래스를 만들 때 HttpServlet 클래스를 상속하면,
HttpServlet클래스에 정의된 웹 개발에 필요한 기능을 상속받아 쓸 수 있다.
이렇게 웹 개발에 필요한 기능을 정의한 HttpServlet 클래스를 상속받아 만든 클래스를 Servlet이라 지칭한다.

서블릿을 실행시 초기화면.

Servlet을 실행시키면 톰캣이 main 메소드를 자동으로 구동시켜준다.
main 메소드가 실행되면 doGet( ) 메소드나 doPost( ) 메소드 중 하나가 무조건 실행 된다.

 

위 코드를 실행했을 땐 doGet( ) 메소드가 실행되어 콘솔창에 출력되었다.

 

Get Post
클라이언트에서 서버로 어떠한 리소스로부터
 정보를 읽기 위해 사용되는 메서드
 리소스를 생성/업데이트 하기 위해 
서버에 데이터를 보내는데 사용되는 메서드 
전송데이터 길이 제한O (ex: 문자열 전송) 전송데이터 길이 제한X (대량의 데이터, 파일전송)
데이터가 인코딩되어 URL에 붙음 (파일명.확장명?변수=값) 전달되는 데이터가 보이지 않음

 

 

Servlet의 라이프사이클

   init()  ->  service()  -> destory()
                 doGet()
                 doPost()

   init() : 서버실행후 웹브라우저띄울때,최초1번 호출
   destroy() : 서버종료시호출

 

Servlet class는 javaSE에서 class와 다르게 main method가 없다.

즉 객체의 생성부터 사용의 주체가 사용자가 아닌 Servlet Container에게 있다.

Client가 요청을 하게 되면 Servlet Container는 Servlet 객체를 생성하고, 초기화하며 요청에 대한 처리를 하게 된다.

또한, Servlet 객체가 필요 없게 되면 제거하는 일까지 Container가 담당하게 된다.

 

다음번엔 이러한 원리를 이용하여 웹사이트에 직접 나타나도록 연동해보아야겠다.

반응형

댓글