본문 바로가기

공부하자/IT

[웹언어] JSP 소개 및 장단점

728x90
반응형


JSP 소개 및 장단점

 



JSP 소개

JSP 하면 높은 연봉을 떠올리게 되는데요. 대개 대기업이나 공기업에서 이 JSP를 쓰게 되죠. 따라서 대개 연봉이 높습니다. 그리고 높은 수준의 기술력이 필요합니다. 그래서 처음 프로그래밍을 배우면 접근이 어렵죠. 하지만 장점은 세세한 제어가 가능하므로 많은 이용자가 있을 때 잘 작동이 가능합니다. 물론 이것은 프로그래밍을 잘하고 데이터베이스가 최적화되었을 때의 이야기입니다.

 

JSP 장점

JSP의 장점은 앞서 언급한 대로 세밀한 제어를 통한 성능 발휘를 들 수 있고요. 상대적으로 높은 장벽으로 높은 연봉을 기대할 수 있다는 점입니다. 개발환경도 대개 무료로 이용이 가능하죠.

 

JSP 단점

사 실 단점은 좀 커 보이는데요. 제가 느꼈던 것은 생산성도 나머지 언어에 비해 좋지 않고 높은 기술장벽이 있다는 점입니다. 저는 JSP로 구현하였을 때 메모리 누수 등을 상당히 신경 썼어야 했는데요. 잘만 만들면 정말 좋지만 자칫 실수하거나 부주의하면 최악의 퍼포먼스를 낼 수도 있죠. 그리고 JSP에는 보통 오라클 DB를 쓰게 되는데요. 쓰임새 자체가 대용량이다 보니 오라클을 주로 사용하게 됩니다. DB가 성능이 좋은 만큼 그만큼 관리하기가 어렵더군요.

 

 

JSP HTML, DHTML 그리고 XML 에 구현되어 Web컨텐트를 동적으로 처리하는 어플리케이션을 만들기 위한 Java플랫폼 기술입니다. JSP를 사용하여 Java 언어와 몇 가지의 전용 태그를 통해 강력하면서 모든 플랫폼에 적용될 수 있는 동적 컨텐트를 쉽게 만들 수 있습니다.

1.
수행성능과 확장성
JSP는 일반적으로 HTML 태그로 구현되는 부분과 JSP태그로 구현되는 부분으로 나누어 집니다. JSP태그에 해당되는 부분은 Servlet 소스로 생성되어 처리된다.
- JSP태그의 구현에 의해 생성되는 Sevlet클래스는 최초의 요청 시에만 객체가 생성되며 그 다음 요청 시부터는 이미 생성되어 있는 객체상에서 멀티스레드로 동작
-
하나의 JSP파일에 대한 여러 클라이언트로부터의 다중 요청에 의해 멀티스레드로 동작
- 여러 스레드간의 리소스 공유가 쉬우므로 수행 성능 향상
- Java언어의 장점을 그대로 수용할 수 있고 플랫폼과 Web서버에 독립적으로 활용할 수 있다

2. Javabeans
컴포넌트의 활용
JSP Java언어를 활용하여 동적 컨텐트를 구현할 수 있다.
직접 JSP태그안에 Java소스 코드를 구현할 수도 있지만, Java언어를 알지 못하고도 구현 할 수 있도록 HTML수준의 태그를 활용하여 서버에 있는 Java객체를 활용 할 수 도 있다.
JavaBeans
Java언어로 작성된 객체로서 모듈성과 재사용성에 맞추어 어떤 "규약"에 따라 개발된 Java객체입니다. JavaBeans의 개발은 Java에서 하나의 클래스를 생성하듯이 데이터(프로퍼티)와 수행기능(동작원리)에 대하여 변수와 메서드로 나누어 약간의 규약을 첨가하여 구현한다.
어떠한 환경과 기능에서든 쉽게 적용할 수 있는 JavaBeans컴포넌트를 활용하여, 컴포넌트의 내부구조를 모르고도 쉽게 필요한 기능을 구현할 수 있다.

3.
구현의 용이성
JSP JavaBeans 지원기능을 충분히 사용하면 프레젠테이션(정보를 최종 사용자들에게 보여주는 작업)과 프로그램 구현(사용자들에게 보여주기 위해 사용되는 코드)이 완벽하게 분리될 수 있다.
지원 기능의 코드부분(프로그램)을 담당한 JavaBeans을 활용하여 JSP에서 어떠한 방식으로 접근하는가에 따라서 화면에 다양하게 표현이 가능하다. JSP에서 프레젠테이션과 프로그램 구현을 분리함으로써 얻을 수 있는 다른 효과로는 동적인 콘텐츠 기능을 수행하는 Web어플리케이션의 개발과 유지 보수의 기능을 각각 처리할 수 있다는 것
JavaBeans
외에도 Java에서 활용되는 다양한 클래스들을 JSP에서 활용할 수도 있다.

##########################################################################
-Servlet
기술을 활용한 수행 흐름으로 수행 성능이 뛰어나다.
-
플랫폼과 Web서버에 독립적으로 구현이 가능하다.
-
컴포넌트를 활용하여 프레젠테이션부분과 프로그램 구현(기능)부분을 분리하여 개발할 수 있다.
##########################################################################

 

 

◎ JSP (Java Server Pages)
 Sun Microsystems사에서 만든 웹 언어
 순수한 자바를 기반으로 한 스크립트 언어
 기존의 HTML에 프로그램 언어를 사용할 수 있게 하는 기술로써 컴파일 등의 역할을 서버 측에서 담당하는 방식

◎ 
정적 페이지
 단순히 client server 측에 서비스를 요청하는 경우에 이미 만들어져 있는 페이지를 그대로 전송


 

 

 


<HTML 서비스 구성과 흐름>





동적 페이지
 JSP script 사용 시에는 client server 측에 서비스를 요청 할 때에 server 측에서 실시간으로 작업을 처리해 client에게 서비스를 제공
- JSP script compile & servlet
적재
- database
연동
등을 통하여 출력된 결과 전송


<JSP 서비스 구성과 흐름>




자바와 JSP의 특징

 

ㆍ자바의 특징                                                 JSP의 특징 
- 단순함                                                         - JAVA의 장점을 그대로 사용
-
객체지향 언어                                               - 다양한 servlet 간의 데이터 공유
-
분산 네트워크 환경에 적합                              - 많은 사용자의 원활한 접속처리
-
뛰어난 보안성                                               - 세계적인 업체의 강력한 지원
-
플랫폼에 독립적                                            - Servlet, EJB 등의 기술과 융합
-
다중 쓰레드 기능 제공

 

 

 

 

 

 

 - Servlet(서블릿) :

  Servlet Sun Microsystems사에서 발표한 기술로서 Java라는 언어를 기반으로 만들어진 동적 웹페이지를 작성할 수 있도록 지원한다. 쓰레드 기반으로 사용자의 요청을 받아들이므로 동시에 다수의 사용자를 받아들이더라도 서버의 응답속도가 많이 떨어지지 않는 다는 장점에도 불구하고, Servlet Java 프로그램을 작성하는 형식 같은 방식으로 웹 페이지를 작성해서 Java를 미리 학습하지 않으면 작성하기가 어렵다는 단점을 가지고 있다.

 

 - JSP(Java Server Pages) :

   JSP Servlet과 마찬가지로 Java언어를 기반으로 하지만 ASP, PHP와 같이 서버에서 실행되는 스크립트언어 방식으로 동적인 웹 페이지를 작성해서 Servlet의 장점은 그대로 갖추고 작성하기가 쉽다는 장점이 더해진 것이다. 또한 Servlet에서 문제가 되었던 표현부와 구현부 분리의 어려움이 해결됨으로써 작성이 더욱 편해졌다. 또한 JSP2.0이 되면서 JSTL을 완전히 지원하고, 사용자정의 태그의 작성이 더욱 쉬워짐에 따라 코드의 가독성이 좋아지고, 프로그램의 작성 및 유지 보수가 더욱 쉬워지게 되었다.

 

 

JSP (java server page)

 : JAVA를 기반으로 하는 SUN사에서 개발한 언어이며 주로 은행이나 중요회사에 많이 쓰이면 보완성이 뛰어나다는 점입니다. 하지만 코딩이 어렵고 ASP에 비해 코드량이 1.5배가량 되며 동작 가능한 곳은 리눅스와 윈도우즈 모두 가능하며 지원하는 데이터베이스도 다양하고 지원합니다

자바용 웹 언어인 TOMCAT이나 RESIN, JSERV에서 서버를 운영할 수가 있습니다. JVM(Java Visual Machine)이라는 프로그램이 운영체제 위에 설치되면 기종을 가리지 않고 사용할 수 있기 때문에 코딩이 어려워도 요즘 많이 쓰이는 추세입니다. 확장자는 .jsp를 쓰시면 됩니다.

 

 

 

반응형