ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Servlet - 1
    servlet/servlet 2021. 11. 26. 01:18
    728x90
    반응형

    Servlet 이란?

     

    서블릿은 자바 소스코드 속에 HTML코드가 들어가는 형태

    클라이언트의 요청을 처리하고, 그 결과를 반환

     

    자바를 사용하여 웹을 만들기 위해 필요한 기술

     

    서블릿은 자바 소스코드 속에 HTML코드가 들어가는 형태

    서블릿을 만든다는 것은 자바 서버 어플리케이션을 만든다는 것과 같다

    일반적으로 웹서버는 정적인 페이지만을 제공합니다. 그렇기 때문에 동적인 페이지를 제공하기 위해서 웹서버는 다른 곳에 도움을 요청하여 동적인 페이지를 작성해야 합니다. 동적인 페이지로는 임의의 이미지만을 보여주는 페이지와 같이 사용자가 요청한 시점에 페이지를 생성해서 전달해 주는 것을 의미합니다. 여기서 웹서버가 동적인 페이지를 제공할 수 있도록 도와주는 어플리케이션이 서블릿이며, 동적인 페이지를 생성하는 어플리케이션이 CGI입니다. 



    동작 방식

     

     

    1. 사용자(클라이언트)가 URL을 입력하면 HTTP Request가 Servlet Container로 전송합니다.
    2. 요청을 전송받은 Servlet Container는 HttpServletRequest, HttpServletResponse 객체를 생성합니다.
    3. web.xml을 기반으로 사용자가 요청한 URL이 어느 서블릿에 대한 요청인지 찾습니다.
    4. 해당 서블릿에서 service메소드를 호출한 후 클리아언트의 GET, POST여부에 따라 doGet() 또는 doPost()를 호출합니다.
    5. doGet() or doPost() 메소드는 동적 페이지를 생성한 후 HttpServletResponse객체에 응답을 보냅니다.
    6. 응답이 끝나면 HttpServletRequest, HttpServletResponse 두 객체를 소멸시킵니다.

     

     

    2. Servlet Container(서블릿 컨테이너)


     

    서블릿 컨테이너는 서블릿을 이해했다면 상당히 쉽게 이해할 수 있습니다.

           서블릿을 관리해주는 컨테이너

     

    우리가 서버에 서블릿을 만들었다고 해서 스스로 작동하는 것이 아니고 서블릿을 관리해주는 것이 필요한데, 그러한 역할을 하는 것이 바로 서블릿 컨테이너 입니다. 예를 들어, 서블릿이 어떠한 역할을 수행하는 정의서라고 보면, 서블릿 컨테이너는 그 정의서를 보고 수행한다고 볼 수 있습니다. 서블릿 컨테이너는 클라이언트의 요청(Request)을 받아주고 응답(Response)할 수 있게, 웹서버와 소켓으로 통신하며 대표적인 예로 톰캣(Tomcat)이 있습니다. 톰캣은 실제로 웹 서버와 통신하여 JSP(자바 서버 페이지)와 Servlet이 작동하는 환경을 제공해줍니다.



     

     

    [ Servlet 생명주기 ]

     

     

     

     

    728x90
    반응형

    댓글

Designed by Tistory.