51_[jsp servlet]jsp servlet_overview
Overview
- 서버와 클라이언트
- 웹 애플리케이션, 웹 프로그래밍이란?
1. 서버와 클라이언트
서버와 클라이언트
쉽게 이해해보자면, 서비스 제공과 요청 개념에서 클라이언트와 서버를 정리해볼 수 있다
클라이언트 : 서버측에게 서비스를 요청하는 쪽
서버 : 클라이언트로부터 받은 요청에 대한 서비스를 제공하는 쪽
또한, 서버는 기능적으로 두 가지 요소로 구성되어 있다.
웹 서버 Web Server : 클라이언트(사용자)로부터의 요청을 처리 결과 페이지를 전송
웹 애플리케이션 서버(WAS; Web Application Server) : 실질적으로 요청한 페이지의 로직이나 데이터베이스와의 연동을 처리할 수 있는 비즈니스 로직을 구현
웹 애플리케이션 서버의 대표적인 예로는
- BEA 사의 WebLogic
- IBM 사의 WebSphere
- SUN 사의 iPlanet
- Oracle 9iAS
- 티맥스 Jeus
- Tomcat
…
와 같은 다양한 종류가 있다
🌟 이번에는 WAS가 웹 애플리케이션을 어떻게 동작시키는 지 간단한 그림과 함께 살펴보자
웹 애플리케이션 서버의 웹 애플리케이션 동작 과정 및 원리
상황을 설정해서 접근, 이해해보자
우리가 사이트에 회원가입을 한다고 상황을 가정해보자! 그 상황에서 위의 그림의 순서와 함께 접근해보자!
- 사용자가 회원가입 페이지에 있는 모든 필수 정보를 작성한 후, 회원가입 버튼을 누른다 ➡️ 이것은 웹 서버에 일종의 서비스를 요청하는 과정이다!
- 클라이언트(사용자)로부터 일종의 서비스(회원가입)를 요청받은 웹 서버는 실질적인 로직 처리나 데이터베이스 연동을 위한 비즈니스 로직을 위하여 웹 애플리케이션 서버 WAS에 정보를 전달한다
- WAS는 데이터베이스에 전달받은 정보(회원가입 정보)를 저장한다
- 데이터베이스에서는 WAS에게 요청받은 서비스에 대한 작업(회원가입) 성공 실패 여부를 결과값으로써 전달한다
- WAS는 웹서버가 클라이언트에게 적절한 결과 페이지 출력을 할 수 있도록, 요청받은 서비스에 대한 처리 결과(회원가입 서비스에 대한 처리 결과)를 전달한다
- 웹 서버는 요청받았던 회원가입 서비스에 대한 결과를 사용자에게 명시하기 위해 다음 페이지를 결과에 대한 페이지로 하여, 결과를 출력해준다(예: 회원가입 성공 혹은 실패)
하지만, 주의할 점은 ,지금은 톰캣을 기능상 웹 서버와 웹 애플리캐이션 서버로 나누어 이해하고자 분리하여 설명하였지만 , 톰캣은 사실상 웹 서버를 내장하고 있기 때문에, 두 가지 역할을 함께 수행한다는 점을 기억하자!
- 웹 서버 : 정적인 페이지를 처리(HTML)
- WAS : 동적인 페이지를 처리(JSP 서블릿)
2. 웹 애플리케이션, 웹 프로그래밍이란?
이번에는 웹 애플리케이션과 웹 프로그래밍의 개념에 대해서 잠깐 짚고 넘어가자
- 웹 애플리케이션
: 웹 브라우저로 접근하여 사용되는 프로그램
- 웹 프로그래밍
: 웹 애플리케이션을 제작하는 과정