JAVA Web Servlet과 JSP

Servlet이란

  • 클라이언트의 요청을 처리하고, 그 결과를 반환하는 Servlet클래스의 구현 규칙을 지킨 자바 웹 프로그래밍 기술이다. (ex 사용자가 로그인 시 입력한 아이디, 비밀번호를 확인 후 다음 페이지를 띄워주어야 하는데, 이러한 역할을 해준다.
  • Servelt 동작 방식

1. 사용자가 URL을 입력하면 HTTP Request가 Servelt Container로 전송
2. 요청을 받은 Servlet Container는 HttpServletRequest, HttpServlet Response 객체 생성
3. Web.xml을 기반으로 사용자가 요청한 URL이 어느 서블릿에 대한 요청인지 찾음
4. 해당 서블릿에서 service메소드를 호출한 후 클라이언트의 GET, POST여부에 따라 doGet() 또는 doPost()를 호출
5. doGet() 또는 doPost() 메소드는 동적 페이지를 생성한 후 HttpServletResponse 두 객체를 소멸시킴

  • Servlet Container
    • 서블릿을 관리해주는 서블릿 컨테이너는 클라이언트의 요청(Request)을 받아주고 응답(Response)할 수 있게, 웹 서버와 통신합니다. 예로 웹 서버와 통신하여 JSP와 Servlet이 작동하는 환경을 제공하는 톰캣이 있다.
    • 컨테이너의 역할
      1. 웹서버와 통신 지원
      2. 서블릿 생명주기 관리
      3. 멀티쓰레드 지원 및 관리
      4. 선언적인 보안 관리

JSP (Java Server Page)

  • JSP의 개념
    • JSP는 JAVA코드가 들어가 있는 HTML이다. 서블릿은 자바 소스코드속에 HTML코드가 들어가는 형태인데, JSP는 이와 반대로 HTML 소스코드 속에 자바 소스코드가 들어가는 구조를 갖는 웹어플리케이션 프로그래밍 기술
    • 프로그래밍을 할 때 소스코드를 수정 할 경우에도 디자인 붑ㄴ을 제외하고 자바 소스코드만 수정하면 되기에 효율을 높여줌
    • 컴파일 과정이 필요 없어 JSP페이지를 작성하여 서버의 디렉토리에 추가만 하면 사용 가능
    • 서블릿만 사용하면 추가 / 수정을 어렵게 하고, 가독성도 떨어져 JSP를 이용해 비즈니스 로직과 프레젠테이션 로직을 분리
    • 즉, 복잡한 로직을 구현해야 하는 번고로움을 JSP가 대신 수행

'ETC > Java' 카테고리의 다른 글

[JAVA] JSP Action Tag  (2) 2022.05.17
JAVA DAO, DTO, VO에 대해서  (0) 2022.05.16