Sevlet(1)

주빈·2022년 4월 28일
0

server

목록 보기
2/5
post-thumbnail

📘 Servlet이란?

  • 웹 서비스를 위한 자바 클래스 (자바를 이용하여 웹을 만들기 위해 필요한 기술)
  • 웹 프로그래밍에서 클라이언트의 요청(Request)을 처리하고 그 결과를 다시 클라이언트에게 응답(Response)하는 Servlet클래스의 구현 규칙을 지킨 자바 프로그래밍 기술이다.

📜 Servlet 예시

  • 사용자가 로그인을 하려고 할 때 아이디와 비밀번호를 입력하고 로그인 버튼을 누르면 서버는 아이디와 비밀번호를 확인하고 다음 페이지를 띄워주는 역할을 수행한다.
    -> 그래서 Servlet은 자바로 구현된 CGI 라고 한다.

✏ CGI(Common Gateway Interface)란?? [참고용]

  • CGI는 특별한 라이브러리나 도구를 의미하는 것이 아닌 별도로 제작된 웹 서버와 프로그램간의 교환 방식이다.

  • CGI방식은 어떠한 프로그래밍 언어로도 구현이 가능하고 별도로 만들어 놓은 프로그램에 HTML의 Get 또는 Post 방법으로 클라이언트의 데이터를 환경변수로 전달하고, 프로그램의 표준 출력 결과를 클라이언트에게 전송하는 것이다.

  • 즉, Servlet은 자바 어플리케이션을 코딩하듯 웹 브라우저용 출력 화면(HTML)을 만드는 방법이다!!


📜 Servlet 특징

✏ 특징

  • 클라이언트의 요청에 대해 동적으로 작동하는 웹 어플리케이션 컴포넌트이다.
    -> 클라이언트 요청에 대한 서버 응답 시 미리 만들어둔 화면(정적)이 아닌 요청을 받을 때 마다 알맞은 화면을 만들어(동적) 응답한다.

  • HTML을 사용하여 요청에 응답한다.

  • java thread를 이용하여 동작한다. (요청마다 별도 thread가 생성된다.)

  • MVC Model2 패턴에서 Controller로 이용한다.

  • http 프로토콜 서비스를 지원하는 javax.servlet.http.HttpServlet 클래스를 상속 받는다.


✏ 단점

  • servlet에 작성한 html 코드 변경 시 재 컴파일을 해야하는 단점이 있다.

✏ 상속 관계

  • 서블릿 코드를 작성할 클래스는 반드시

    javax.servlet.http.HttpServlet

    클래스를 상속 받아서 메소드를 구현해야 한다.

  • 서블릿 상속 관계도

    • javax.servlet.Servlet 인터페이스
      • javax.servlet.GenericServlet 추상클래스
        • javax.servlet.http.HttpServlet 클래스
profile
누구에게나 필요한 개발자가 꿈

0개의 댓글