(스마트인재개발원) JSP/Servlet 1

  1. 나는 서버 프로그램의 필요성을 설명할 수 있다.

  2. WAS 구조를 설명할 수 있다
  3. 서블릿의 특징을 설명하라.

.

서버 및 서블릿 개요

  1. 네트워크란 무엇입니까?

네트워크 = 네트워크 + 작업

“그물처럼 얽혀 일하는 것”

통신기기들이 그물처럼 연결되어 데이터를 교환하는 형태(통신망)

.

1. 왜 서버 프로그램이 필요한가요?

    • 정적 웹 서버는 클라이언트의 요청에 따라 모든 경우를 고려하여 HTML 문서를 저장해야 합니다.

    • → 개발자의 시간과 노동력 소모
    • 클라이언트 요청 정보를 포함하는 HTML 문서를 생성하는 서버 프로그램이 필요합니다.

.

.

: 마디 → 네트워크에 연결된 컴퓨터와 그에 속한 장비 (허브, 라우터, 라우터…)

HUB: 여러 대의 PC와 장치를 묶어서 LAN을 구성하기 위해 사용하는 장치

라우터: 데이터를 교환할 때 가장 적합한 통신 경로를 사용하여 데이터를 전송하는 장치.

라우터: 하나의 인터넷 회선을 공유하여 동시에 인터넷에 접속할 수 있는 장치

: 호스트에서 → 노드 응용 프로그램을 실행할 수 컴퓨팅 시스템을 갖춘 장치

.

호스트 간에 제공되는 서비스를 기반으로 호스트 세분화


각 호스트는 클라이언트 또는 서버로 고정되지 않습니다.

사용 중인 서비스 유형에 따라 클라이언트 또는 서버가 될 수 있습니다.


웹 브라우저


웹 서버와 통신하여 html, css, js, text, 이미지 등의 웹 자원을 받아 사용자에게 보여주는 GUI(Graphical User Interface) 기반 소프트웨어.

정적 웹 페이지

.: 서버(웹 서버)에서 미리 저장된 파일(HTML 파일, 이미지, Javascript 파일 등)을 그대로 전달합니다.

웹 페이지

서버에 저장된 데이터가 변경되지 않는 한 고정된 웹페이지보다

동적 웹 페이지

스크립트에 의한 서버(웹 서버)의 데이터 가공 후 생성 및 전달웹 페이지

사용자 컨텍스트, 시간, 요청 등에 따라 달라지는 웹 페이지보다

.

웹 서버


HW: 웹 서버 소프트웨어 및 웹사이트 구성 요소 파일 저장 장비

SW: 클라이언트에서 HTTP 프로토콜로 요청을 받고 응답하는 프로그램

.

정적 웹 서버

: 컴퓨터(HW)와 HTTP 서버(SW)로 구성 → 서버에 저장된 파일(매회 X 처리)클라이언트에게 보내기

.



경우의 수에 따라 HTML 문서를 생성하여 저장해야 합니다.

WHY -> 정적 웹 서버는 문서를 처리할 수 없기 때문에,


서블릿 = 서버 + 애플릿

→ + 서버에서 실행 중인 애플리케이션

    • Java 기반의 Web Application Programming 기술
    • 클라이언트 요청에 대해 동적으로 작동하며, 처리된 정적 문서 형태로 응답 제공

.

WAS(웹 애플리케이션 서버)


웹 서버

: 고요인콘텐츠를 제공하는 서버: 요청을 컨테이너에 전달하고 결과를 전달하는 역할

.

WAS(웹 서버 + 웹 컨테이너)

: 동적로 콘텐츠를 생성하고 제공하는 서버

.

편물 컨테이너

: JSP와 서블릿 실행할 수 있는 SW

.

서블릿의 특징

    • .자바 확장자가 있습니다
    • 자바 멀티 스레드사용하여 작동 → 속도 및 메모리 측면에서 효율적
    • 객체 지향 → 대규모 어플리케이션 개발에 적합
    • HttpServlet 클래스 상속받았다

.

리소스를 동적으로 생성하고 제공하는 방법

  1. CGI(공통 게이트웨이 인터페이스)

2. Was(Tomcat) – 서블릿

.


.

프로그램/프로세스/스레드

  • 프로그램 :
    • 컴퓨터에서 할 수 있는 것 ‘정적 상태‘의 파일
    • 예) Windows exe 파일
  • 프로세스:
    • 프로그램이 실행되고 실행되고 있는 상태, 컴퓨터에서 지속적으로 실행되는 상태
    • 운영 체제가 메모리와 같은 필요한 리소스를 할당한 상태인 ‘동적 상태’의 컴퓨터 프로그램
  • 실:
    • 프로세스 할당된 리소스를 사용하는 실행 단위
    • 프로세스 내에서 실행되는 프로세스 및 흐름 단위의 특정 실행 경로입니다.


.

서블릿의 특징

1) CGI(공통 게이트웨이 인터페이스)


프로세스별로 실행

사용자의 요청이 많으면 서버의 부하가 크게 줄어듭니다.

2) WAS(톰캣) – 서블릿


.

.