[web] Servlet

LDH·2021년 4월 6일

✔ WEB

목록 보기
2/3
post-thumbnail

✔ 서블릿이란?

클라이언트의 요청을 처리하고, 그 결과를 반환하는 Servlet 클래스의 구현 규칙을 지킨 자바 웹 프로그래밍 기술

  • HTTP protocol 서비스를 지원하는 javax.servlet.http.HttpServlet 클래스를 상속하여 개발하며, Servlet은 컨테이너에 의해서 실행되고 관리된다.
  • HTML 변경 시 Servlet을 재컴파일해야 하는 단점이 있다.
  • 서블릿은 외부 요청마다 프로세스보다 가벼운 스레드로써 응답한다.

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


웹서버가 동적인 페이지를 제공할 수 있도록 도와주는 어플리케이션이 서블릿이며, 동적인 페이지를 생성하는 어플리케이션이 CGI입니다.

CGI(Common Gateway Interface)

  • 웹서버와 클라이언트 간에 필요한 정보교환을 가능하게 해주는 일종의 웹 인터페이스
  • 별도로 제작된 웹서버와 프로그램간의 교환방식

✔ JSP와 서블릿의 차이점

  • JSP : HTML 문서 안에 java 코드를 포함하고 있다. MVC에서 View 역할(JSP는 WAS(Web Application Server)에 의하여 서블릿 클래스로 변환하여 사용)
  • 서블릿 : 자바 코드 안에 HTML을 포함하고 있다. 주로 MVC에서 컨트롤러 역할

✔ 서블릿 컨테이너란?

서블릿을 관리(생성,실행,파괴)하고 동작시킬 수 있는 환경을 제공하는 서버 프로그램

  1. 사용자 요청(URL)이 있으면 HTTP Request를 Servlet Container로 전송
  2. HTTP Request를 전송받은 Servlet Container는 HttpServletRequest와 HttpServletResponse 객체를 생성
  3. web.xml은 사용자가 요청한 URL을 분석하여 어느 서블릿에 대해 요청을 한 것인지 찾습니다.
  4. 해당 서블릿에서 service메소드를 호출한 후, 클리아언트의 POST, GET 호출 방식에 따라 doGet() 또는 doPost()를 호출합니다.
  5. doGet() or doPost() 메소드는 동적 페이지를 생성한 후 HttpServletResponse객체에 응답을 보냄
  6. 응답이 완료되고 HttpServletRequest, HttpServletResponse 두 객체가 소멸
profile
💻💻💻

0개의 댓글