CS_Developer

[JSP] #1 JSP의 개요: 원리 이해 본문

Computer Science/JSP

[JSP] #1 JSP의 개요: 원리 이해

Dev_Been 2020. 9. 10. 16:28

01. 웹과 JSP 프로그래밍 이해

인터넷과 웹은 대개 동의어로 사용된다. 하지만 엄밀히 말하자면 서로 다른 개념이다.

인터넷은 컴퓨터가 서로 연결되어 TCP/IP 통신 프로토콜을 이용하여 정보를 주고받는 전 세계의 컴퓨터 네트워크이다.

웹은 인터넷을 통하여 제공되는 광범위한 정보와 서비스를 말한다. 즉, 웹은 서비스이다.

웹은 인터넷에 연결된 컴퓨터를 이용하여 사람들이 정보를 주고 받을 수 있는 공간이며, World Wide Web (www)의 줄임말이다.

 

기본적으로 웹은 클라이언트 / 서버 방식으로 동작한다. 클라이언트 / 서버 방식은 클라이언트가 즉, 웹 브라우저가 특정 페이지를 웹 서버에 요청(request)하면 이를 웹 서버가 처리하여 그 결과를 클라이언트에게 보내어 응답(response)을 하는 것이다.

 

가장 널리 쓰이는 웹 서버는 아파치, 톰캣, IIS 등이 있다. 앞으로의 포스팅은 톰캣을 활용할 것이다.

 

웹페이지는 정적 웹 페이지와 동적 웹 페이지로 나뉜다. 정적 웹 페이지는 컴퓨터에 저장된 텍스트파일을 서버가 그대로 클라이언트에게 전달하는 것이고, 동적 웹 페이지는 저장된 내용을 다른 변수로 가공하여 보여주는 것이다.

정적 웹 페이지는 HTML과 같은 웹 언어로 작성하고, 동적 웹 페이지는 PHP, ASP, JSP등과 같은 웹 언어로 작성한다.

 

초기의 웹은 대부분 정적 웹 페이지를 서비스 하였다. 하지만, 정적 웹 페이지는 사용자가 수정, 추가, 삭제 등과 같은 작업을 모두 수동으로 해야 하기 때문에 관리하기가 어렵다는 점이 존재한다. 하지만 Database의 구축이 필요 없고, 단순한 문서로만 이루어져 있기 때문에 서버 간 통신이 아주 적고, 속도가 빠르다.

 

하지만 사용자의 기호에 맞는 웹 페이지가 필요해짐에 따라 동적 웹 페이지 언어가 개발되었다. 동적 웹 페이지는 우리가 흔히 볼 수 있는 웹 페이지 들이다. 사용자가 글을 추가하거나, 삭제하고, 회원가입을 하는 등 다양한 작업을 이미 구축된 서버가 처리해 주는 것이다. 물론 다양한 기능을 제공하기 때문에 개발하는 입장에서는 조금 더 시간을 들여야 한다.

(편의성을 위해서라면 이 정도의 개발은 행복한 것 같다.)

 

웹 프로그래밍 언어는 클라이언트와 서버 측의 실행 언어로 나뉘게 된다. 여기서 다루는 JSP는 서버 측 실행 언어이다.

JSP는 자바를 기반으로 하는 웹 프로그래밍 언어이다.

JSP 이전에는 서블릿이라는 방식을 먼저 개발하였지만, 서블릿의 개발 방식은 쉽지않다. 서블릿은 HTML 코드를 JAVA코드 안에 삽입하여 프로그래밍하는 것이다.

하지만 JSP가 개발이 되며, HTML 코드안에 JAVA코드를 삽입함으로써 개발의 편리성이 증대되었다.

즉, JSP와 서블릿은 서로 완전 다른 것이 아닌 연결고리가 존재한다.

 

JSP는 서블릿 기술의 확장이다. 따라서 서블릿과 동일하게 JDBC나 JNDI, EJB 등을 포함하는 JAVA API를 모두 사용할 수 있다. 또한, JSP는 내장 객체, 태그, 표현식 등을 사용할 수 있다. (아주 편리한 부분이다.)

 

JSP는 유지관리가 용이하다. 서블릿 코드와 JSP 코드를 비교하면 알 수 있다. 서블릿은 프레젠테이션과 비즈니스 로직이 서로 섞여있지만, JSP는 각각 따로 분리가 가능하기 때문에 상대적으로 관리가 쉽다.

 

JSP는 빠른 개발이 가능하다. 서블릿은 코드를 수정, 추가, 삭제했을 경우 컴파일을 해야 하지만, JSP의 경우에는 다시 컴파일하지 않아도 된다.

 

이로써 JSP에 대한 아주 기초적인 설명이 끝이 났다. 물론 이것이 전부는 아니지만, 이제 처음 시작하는 입장에서 바라본다면, 이보다 간단할 수는 없을 것이다.

자신이 웹 서버를 구축할 수 있다니,, 놀라운 일이다. 프로그래밍은 우리의 삶에 다양한 영향을 준다.

 

다음 글에서는 JSP가 어떻게 동작하게 되는지와, 생명주기에 대해 알아보도록 하자.

 

참고: 쉽게 배우는 JSP 웹 프로그래밍 - 한빛미디어