[Servlet&JSP] Chap 1. 개요

김승현·2021년 11월 23일
0

Server와 Client

  • 서버(Server) : 서비스를 제공하는 컴퓨터
  • 클라이언트(Client) : 서비스를 제공받는 사용자(컴퓨터)
  • 우리는 웹서버를 통하여 클라이언트에게 웹 서비스를 제공한다.




Request와 Response

  • 웹은 기본적으로 클라이언트에 의한 요청(Request)서버의 응답(Response)으로 서비스를 수행
  • 클라이언트는 Request 객체필요데이터클라이언트에 대한 정보를 담아서 보내줌
  • 서버는 Response 객체요청에 대한 응답 데이터을 담아서 응답함




Web 통신 구조

Web Server            ->             WAS            ->            DBMS Server
(Web Page 제공)            (Web Application Server)       (DB를 저장 및 관리)
(HTML,CSS,JS,jQuery)        (JSP/Servlet,JAVA..)                   (Oracle..)





WAS(Web Application Server)

  • 사용자가 요청한 서비스의 결과를 스크립트 언어 등으로 가공하여 생성동적인 페이지(데이터 베이스 조회 등)를 사용자에게 보여주는 역할을 함
  • Web Server와 DB와의 연결 고리 역할도 함
  • JPS, Servlet 구동 환경을 제공해주기 때문에 웹 컨테이너 혹은 서블릿 컨테이너라고 불린다
  • WAS의 종류
    • Tomcat : Apache사에서 제작하며, 전 세계적으로 가장 많이 사용되고 있으며 중소기업, 관공서 등에서 많이 사용
    • Jeus : 티맥스 소프트가 만든 국산으로 관리가 쉽고, 대용량의 데이터를 고성능으로 처리함
    • JBoss : 레드햇사가 만든 WAS, 현재 이름은 와일드플라이(WildFly)로 변경 하였고, 오픈 소스로써 폭 넓은 다양한 서비스를 제공 함




웹 서버와 서블릿 컨테이너

  • 웹 서버만 있을 경우에는 정적인 형태의 페이지만 제공해 줄 수 있음
  • 서블릿 컨테이너는 웹서버의 응답처리에 필요한 서블릿을 연결할 수 있는 역할
  • 서블릿 컨테이너를 통해 서블릿은 호출되며, DB와의 동적인 처리 결과를 웹 서버를 통해 클라이언트에게 전달할 수 있음




서블릿 컨테이너의 역할

1. 서블릿 객체의 생명 주기를 관리 (생성, 초기화, 소멸)

2. 서블릿 객체를 생성 (HttpServletRequest, HttpServletResponse 객체)

3. 통신 커뮤니케이션을 지원

  • 서블릿(자바코드)과 웹이 서로 통신을 할 수 있도록 도와줌
  • 만약 컨테이너가 없었다면 개발자가 직접 웹과의 통신을 위해 기본 네트워크 소켓처럼 코딩 작업을 해야함

4. 멀티스레딩 지원

  • 서블릿은 멀티스레딩을 지원하여 요청이 들어올때마다 새로운 자바 스레드를 하나씩 만들어서 처리함
  • 클라이언트가 요청하면 HTTP 처리를 위한 메소드를 실행하고 일이 끝나면 자동으로 스레딩 작업이 종료됨
  • 즉, 여러명의 클라이언트들이 동시에 다양한 서비스 요청을 하여도 기다리지 않고 문제 없이 스레딩 작업 처리를 함
    (서블릿 컨테이너가 없었다면 스레드 코드도 개발자가 하나하나 작업 해야함)




JSP 컨테이너

  • JSP 파일을 다시 java코드(서블릿화)로 변경해주고 class 파일로 전환하여 메모리 공간에 로드하는 작업을 해줌




Servlet

  • Server + Applet의 합성어
  • 서버에서 실행되는 작은 App이란 의미로 자바를 이용하여 웹에서 실행되는 프로그램을 작성하는 기술
  • 서버측에서 사용될 수 있도록 확장시킨 자바 프로그램을 뜻함
  • 서블릿 실행환경을 웹 컨테이너 혹은 서블릿 컨테이너로 불림 (WAS가 서블릿 컨테이너)

※ Applet : Java 언어로 구성되어 웹 브라우저에서 실행되는 간단한 기능의 소규모 프로그램
※ 서블릿 컨테이너 : 서블릿 객체를 보관 및 생성, 삭제 작업을 하는 공간





JSP(Java Server Page)

  • HTML 태그와 자바코드를 합친 웹 스크립트 코드
  • 기존 .html 파일에는 자바코드를 작성할 수 없었지만 .jsp 파일에는 자바코드를 작성할 수 있는 형태가 됨

profile
개발자로 매일 한 걸음

0개의 댓글