우리는 대부분 웹 브라우저를 통해 인터넷에 접속한다. 그리고 접속한 홈페이지에서 텍스트나 이미지 같은 요소를 클릭해 다른 웹 페이즈로 이동한다.

일반적인 웹 페이지는 대부분 미리 서버에 등록해 두었다가 웹 브라우저가 서버에 특정 데이터를 요청하면 이를 웹 브라우저로 전송해서 보여준다. 이를 가능하게 하는 기술 중 하나가 JSP(Java Server Page, 자바 서버 페이지)이다.

이 장에서는 본격적으로 JSP 프로그래밍을 학습하기에 앞서 JSP 같은 웹 기반 프로그래밍 언어가 사용되는 이유를 프로그램의 발전 과정과 함께 알아본다. 프로그램의 발전 과정을 이해하고 나면 이후의 학습 방향을 잡는 데 도움이 될 것이다.
웹 프로그램은 클라이언트 PC 기반 프로그램에서 시작하여 클라이언트 서버 기반 프로그램, 웹 기반 프로그램 순으로 진화해 왔다. 지금부터 프로그램의 발전 과정을 이해하기 쉽게 하나씩 살펴보자.
1.1 클라이언트 PC 기반 프로그램
다음은 자바(Java)로 일반 클라이언트 PC에서 클라이언트가 직접 설치해서 사용하는 환율 계산기를 구현한 프로그램이다. 469000원에서 해당하는 원화를 텍스트 필드에 입력한 후 셀렉트 박스에서 원하는 외화 종류를 선택하면 다른 텍스트 필드에서 외화로 변환된 값인 417.000122 달러를 표시해 준다.

이 환율 계산기를 자바로 구현하면 대략 다음과 같다.

코드를 보면 calculate() 함수에서 입력한 원화에 대해 각국의 환율로 나누어 달러, 엔화, 위안 이렇게 세 종류의 외화로 변환해 준다.
그리고 그림 1-4와 같이 똑같은 환율 계산기 프로그램에 파운드와 유로로 변환해 주는 기능을 추가했다.

이 클라이언트 기반 프로그램의 문제점은 무엇일까? 처음에는 달러, 엔화, 위안으로만 환율을 변환해 주었는데 이제는 이 프로그램에 파운드와 유로로의 변환 기능이 추가되었다. 외화의 종류는 이 외에도 수없이 많으므로 이 프로그램을 폭 넓게 사용하려면 앞으로도 기능 추가는 피할 수 없을 것임.
이처럼 기능이 자주 변경되는 프로그램이라면 수시로 사용자 PC마다 프로그램을 업데이트하거나 새로 설치해야 한다는 문제가 있다. 인터넷이 세상에 나오기 전 PC 기반 프로그램은 기능이나 화면의 형태가 바뀌면 코드 1-2 처럼 기능을 추가한 후 일일이 PC에 다시 설치하거나 업데이트를 해야 했다.

프로그램이 변경될 때마다 일일이 다시 설치해야 한다면 상당히 불편할 것임. 게다가 클라이언트 프로그램에 데이터베이스 접속 정보라도 들어 있다면 정보가 쉽게 노출될 수 있어 보안이 취약하다는 문제도 있다. 이러한 클라이언트 PC 기반 프로그램의 문제점을 보완하여 나온 것이 클라이언트-서버 기반 프로그램이다.
'스프링 부트 > 자바 웹을 다루는 기술' 카테고리의 다른 글
| 2.3 동적 웹 프로그래밍 (0) | 2024.01.16 |
|---|---|
| 2.2 정적 웹 프로그래밍 (0) | 2024.01.16 |
| 2.1 웹 프로그래밍의 기본 (0) | 2024.01.16 |
| 1.3 웹 기반 프로그램 동작 방식 (0) | 2024.01.16 |
| 1.2 클라이언트-서버 기반 프로그램 동작 방식 (0) | 2024.01.16 |