본문 바로가기
IT || 개발공부

[JSP] 자바 빈즈에 대한 궁금증 (자바빈즈)

by saesong 2023. 2. 18.

12-4. 자바 빈즈에 대한 궁금증 (자바빈즈)

 

◆빈즈 없이도 프로그래밍이 가능하지 않을까?

최근에는 JSP를 이용한 웹 프로그래밍이 많이 확산되고 있는 듯하다. 그런 영향인지 다양한 JSP 관련 책들이 출간되고 있다. 웹 프로그래밍은 JSP 언어만으로 할 수 있는 것이 아니다. 그렇기 때문에 웹 프로그래밍 언어 중에 대체적으로 가장 까다롭게 여겨지는 분야가 바로 JSP이다. 이렇게 JSP가 다른 언어보다 좀 더 까다로울 수밖에 없는 이유 중 하나가 바로 자바빈즈(JavaBeans)라는 기술이 JSP의 중요한 부분을 이루고 있기 때문이다.

웹 프로그래밍은 특성상 쉽게 개발할 수 있어야 하고 그 결과를 개발 과정에서 바로 확인할 수 있어야 한다. 그래서 ASP, PHP 등은 아주 다양한 내장 함수 등을 지원하여 결과물을 어렵지 않게 구성하고 생성해 낼 수 있도록 하고 있다.(JSP와 비교했을 때 그렇다..)
반면 JSP는 간단히 사용할 수 있는 스크립트 내장 함수와 같은 기능적인 부분에 있어서는 다소 부족한 편이다. 왜냐하면 자바코드로 필요한 기능을 만들어 사용하도록 해 두었기 때문이다. 기본적인 처리 이외에 좀 더 세부적인 처리가 필요하다면 당연히 JSP에서 자바 코드로 스크립트릿(scriptlet) 영역 속에서 처리를 해야만 하는 것이다. 이렇게 스크립트릿을 구성하는 것은 역시 자바를 알아야 하는 일이므로 JSP를 이용한 웹 개발은 부담스러운 일이 될 수도 있다.

여기서 ASP나 PHP처럼 JSP 개발에 있어서도 내장 함수를 많이 지원하면 되지 않을까 하는 의문이 생길 수 있다. 바로 이렇게 JSP에서의 내장 함수가 사용 가능하도록 하는 것이 자바빈즈라는 기술이다. ASP나 PHP처럼 내장 함수가 아니더라도 누군가 기능을 잘 정의해서 만들어 두면 그냥 그 기능을 불러다 사용할 수 있다는 이론이다. 이렇게 되면 JSP를 이용한 웹 개발자는 굳이 어렵게 JSP 내에서 자바코드를 많이 사용하지 않고도 간단히 자바 빈즈를 통해 함수를 불러다 사용하면 되므로 쉽고 빠르게 개발할 수 있게 되는 것이다. 따라서 어떤 면에서 JSP 웹프로그래머란 JSP에서 빈즈를 호출하여 이미 작성된 빈즈의 기능을 사용할 수 있는 정도의 실력을 갖추면 되는 것이다. 마치 ASP에서 내장 함수를 규칙에 따라 사용하는 것처럼 말이다. 물론 자바빈즈는 웹 프로그래머가 개발하는 것이 아니라 자바 개발자가 개발을 하는 것이다.

이렇게 되면 결국 JSP 페이지를 개발하는 프로그래머도 훨씬 부담이 적고 쉽고도 빠르게 개발을 이루어 낼 수 있을 것이다. 바로 이러한 역할 분담을 이루어 낼 수 있다는 것이 JSP의 아주 큰 장점 중 하나이다. 하지만 안타깝게도 국내 개발자의 실정으로 JSP 페이지 개발자, 자바빈즈 개발자 이렇게 구분하여 업무가 주어지는 것은 아니다. 당연히 JSP 페이지 개발자는 세부적인 처리(자바빈즈)까지 모두 구현할 수 있기를 요구한다.
이런 상황 속에서 요즘에는 자바빈즈를 몰라도, 다시 말해 자바를 전혀 모르더라도 오직 JSP만을 이용해 개발을 시도하는 일이 많아지는 듯하다. 빠르게 개발은 해야 하고 혼자서 다 배우고 공부하기에는 다소 부담스럽기에 그런 듯하다. 하지만 교양으로 프로그래머를 하는 사람이 아니라면 어렵지만 차근차근 빈즈를 개발할 수 있도록 자바의 기초를 배우고 또한 JSP에서 간단히 빈즈를 어떻게 사용할 수 있는지 배워나가는 게 중요하다고 본다. 왜냐하면 무엇보다도 자바빈즈는 JSP에서 핵심기술이면서 흔히 말하는 '표현하는 부분(presentation)'과 구현하는 부분(Business Logic)을 나눌 수 있도록 도와주는 중요기술이기 때문이다. 이렇게 잘 정의된 구조 속에서 웹 개발을 하고자 하는 것이 바로 JavaServerPage의 핵심기술이며 앞으로 공부하는 사용자 태그와 같은 기술 또한 바로 같은 맥락에서 이해하면 된다.

댓글