본문 바로가기
Java/이론 및 용어

[JSP] 웹 서버 프로그램의 원리, 개념

by tokkiC 2022. 5. 13.

client, server, api, query, WAS, Servlet 등을 알아야만 JSP 를 이해할수있다

내 방식대로 해석해서 이해하기까지 꽤 걸렸다. 하나하나 쉽게 정리해보자


비유를 위해 작은 마트와 식당을 예시로 들자

프로그램이 서로 직접 연결되어 있으면 아래 그림의 마트를 예시로 들어 설명가능하다

클라이언트가 직접 서버에 데이터를 요청하면 서버는 DB 에서 데이터를 찾아오고 서버는 찾은 데이터를 클라이언트에게 전달한다

손님(클라이언트)이 api를 통해 마트주인(서버)에게 과자(데이터)를 요청(Request)한다

--> 마트주인(서버)은 api를 통해 창고(DB)로 과자(데이터)를 달라고 요청한다(query)

--> 창고(DB)에서 요청한대로(query) 과자(데이터)를 api를 통해 서버로 찾아보낸다(응답 Response)

--> 마트주인(서버)이 주문한 과자(데이터)를 손님(클라이언트)에게 api를 통해 전해준다(Response)


api : 프로그램들을 연결하여 "이것"을 사용하면 "저것"이 (실행)되도록 만든 서비스 또는 규칙
query : 데이터베이스에 정보를 요청하는 것 

 

웹에 데이터를 요구하면 다음과 같은 과정을 거친다

 

웹을 통해 데이터를 요청하게 될 시 위의 그림과 같은 과정을 거치게 되는데,

이미 완성된 페이지인 정적 페이지(HTML, CSS, JavaScript)

사용자의 요청에 따라 데이터베이스에서 자료를 가져와서 WAS ( ex) 톰캣 )를 사용하여

프로그래밍 코드(Servlet, JSP)를 실행하여 페이지를 만들도록 하는 동적 페이지 부분으로 나뉘게 된다

Servlet 과 JSP 모두 동적인 페이지를 만들수 있게 하지만 차이가 있다면

Servlet 은 Java 코드 안에 HTML 코드를 넣은 것이고

JSP 는 HTML 코드 안에 Java 코드를 넣은 것이다

Servlet 은 코드 수정 시 새로 컴파일 후 재배포 해야 하는 단점이 있지만

JSP 코드를 수정할 시 컴파일 후 재배포 과정을 WAS 가 대신 해주어서 편리하다

 

사용법이 다른거지 기능은 같다구

댓글