"JSP"의 두 판 사이의 차이
2번째 줄: | 2번째 줄: | ||
== 개요 == | == 개요 == | ||
− | '''JSP'''<!---JSP--->는 서블릿을 이용하여 웹페이를 직접적으로 제어하여 모양이나 내용을 변환하는 기술이다. 자바를 개발한 썬마이크로시스템즈에서는 이 | + | '''JSP'''<!---JSP--->는 서블릿을 이용하여 웹페이를 직접적으로 제어하여 모양이나 내용을 변환하는 기술이다. 자바를 개발한 썬마이크로시스템즈에서는 이 기술은 서블릿 응용 프로그램 인터페이스(API)라고 표현하며 JSP는 마이크로소프트의 ASP의 기술과 유사하다. ASP는 페이지가 사용자에게 전송되기 전에 스크립트 인터프리터에 의해 해석될 스크립트를 포함시키지만 JSP는 웹서버에 의해서 실행되는 [[자바]]프로그램을 호출하고 자바 서브릿과 연결된 [[HTML]]페이지는 .JSP라는 파일 이름이 붙는다. [[Servlet]] 기술의 확장으로 사용자가 입력한 코드에 따라 페이지를 생성한다. |
== 탄생배경 == | == 탄생배경 == | ||
− | JSP가 탄생하게된 계기는 [[마이크로소프트사]]에서 출시한 웹 개발스크립트 엔진인 [[ASP]](Active Server Page)에 대응하기 위해 1999년 썬마이크로시스템즈(Sun Microsystems)에서 발표한 Java Server Page 라는 스크립트 엔진이다. WAS(Web Application Server)는 클라이언트의 웹 브라우저로부터 JSP에 대한 요청이 오면 JSP코드를 [[Servlet]]코드로 변환 후 컴파일하여 실행하게 된다.<ref> 이강원 〈[https://terms.naver.com/entry.nhn?docId=3478416&cid=58439&categoryId=58439 JSP]〉, 《지형 공간정보체계 용어사전》,구미서관 , 2016-01-03</ref> | + | JSP가 탄생하게된 계기는 [[마이크로소프트사]]에서 출시한 웹 개발스크립트 엔진인 [[ASP]](Active Server Page)에 대응하기 위해 1999년 썬마이크로시스템즈(Sun Microsystems)에서 발표한 Java Server Page 라는 스크립트 엔진이다. [[WAS]](Web Application Server)는 클라이언트의 웹 브라우저로부터 JSP에 대한 요청이 오면 JSP코드를 [[Servlet]]코드로 변환 후 컴파일하여 실행하게 된다.<ref> 이강원 , 〈[https://terms.naver.com/entry.nhn?docId=3478416&cid=58439&categoryId=58439 JSP]〉, 《지형 공간정보체계 용어사전》,구미서관 , 2016-01-03</ref> |
== JSP동작과정 == | == JSP동작과정 == | ||
21번째 줄: | 21번째 줄: | ||
=== 프로그램구현의 용이성 === | === 프로그램구현의 용이성 === | ||
− | + | 자바 서버 페이지의 기능을 충분히 활용하면 프로그램을 구현하는 세션과 사용자에게 정보를 출력하는 세션을 분리하여 처리할 수 있다. 프로그래밍을 담당한 JavaBeans을 이용하여 코드를 어떠하게 작성하느냐에 따라 다양한 효과를 얻을 수 있다. 이 외에도 웹 애플리케이션 개발과 유지 보수를 각각 따로 처리할 수 있고 Java에서 활용되는 여러 클래스 또한 JSP에서 사용할 수 있다. | |
− | == | + | == 장점 == |
− | + | 공공기관에서 쓰일 만큼 보안성이 뛰어나고 다양한 기능을 가지고 있다. 기존 자바의 이식성을 가지고 있어 윈도우에서만 운용이 가능한 ASP와는 달리 유닉스, 리눅스, 윈도우 뿐만 아니라 다른 플랫폼에서도 폭 넓게 운용이 가능하다. 또한 다양한 레퍼런스를 가지고 있어 대규모 시스템과 서버에 적합한 자바의 지원를 받을 수 있다.<ref>별똥별로맨스 , 〈[https://wwst.tistory.com/19 서버 개발언어 JSP PHP ASP의 비교]〉 , 《티스토리 블로그》 , 2016-05-03</ref> | |
− | |||
− | |||
− | |||
+ | == 단점 == | ||
+ | 가격이 비싸고 개발기간이 오래 걸린다. | ||
{{각주}} | {{각주}} | ||
== 참고자료 == | == 참고자료 == | ||
+ | * 한국정보통신기술협회 - http://word.tta.or.kr/main.do | ||
* KimWhale , 〈[https://beansberries.tistory.com/entry/JSP-%EC%86%8C%EA%B0%9C-%EB%B0%8F-%EC%9E%A5%EB%8B%A8%EC%A0%90 (웹언어) JSP소개 및 장단점]〉, 《티스토리블로그》 , 2013 | * KimWhale , 〈[https://beansberries.tistory.com/entry/JSP-%EC%86%8C%EA%B0%9C-%EB%B0%8F-%EC%9E%A5%EB%8B%A8%EC%A0%90 (웹언어) JSP소개 및 장단점]〉, 《티스토리블로그》 , 2013 | ||
* 이강원 , 〈[https://terms.naver.com/entry.nhn?docId=3478416&cid=58439&categoryId=58439 JSP]〉, 《지형 공간정보체계 용어사전》,구미서관 , 2016-01-03 | * 이강원 , 〈[https://terms.naver.com/entry.nhn?docId=3478416&cid=58439&categoryId=58439 JSP]〉, 《지형 공간정보체계 용어사전》,구미서관 , 2016-01-03 | ||
− | * Gren , 〈[https://blog.naver.com/fed-gren/221307393634 JSP - 탄생 배경 및 Life cycle]〉, | + | * Gren , 〈[https://blog.naver.com/fed-gren/221307393634 JSP - 탄생 배경 및 Life cycle]〉, 《네이버 블로그》, 2018-06-26 |
+ | * RoaZium , 〈[https://roazium.tistory.com/13 <정보>ASP, PHP, JSP 장단점]〉 , 《티스토리 블로그》 , 2018-06-26 | ||
* heejeong Kwon , 〈[https://gmlwjd9405.github.io/2018/11/03/jsp.html <Web> JSP란(Java Server Pages)]〉, 《github》, 2018-11-03 | * heejeong Kwon , 〈[https://gmlwjd9405.github.io/2018/11/03/jsp.html <Web> JSP란(Java Server Pages)]〉, 《github》, 2018-11-03 | ||
− | {{프로그래밍| | + | |
+ | == 같이 보기 == | ||
+ | * [[프로그래밍 언어]] | ||
+ | * [[스크립트 언어]] | ||
+ | * [[자바]] | ||
+ | * [[자바스크립트]] | ||
+ | |||
+ | {{프로그래밍|검토 필요}} | ||
[[분류:프로그래밍 언어]] | [[분류:프로그래밍 언어]] | ||
[[분류:스크립트 언어]] | [[분류:스크립트 언어]] |
2019년 6월 27일 (목) 11:11 판
JSP는 자바 서버 페이지(JavaServer Pages)의 약자로서, HTML 페이지 안에 자바(Java) 코드를 직접 삽입하여 웹서버에서 동적으로 웹 페이지를 생성하여 웹브라우저가 표현할 수 있도록 전달해 주는 스크립트 프로그래밍 언어이다. 미국 썬 마이크로시스템즈사가 처음 개발했고, 2010년 오라클(Oracle)사에 인수되었다. HTML 문서 안에 <% ... %> 기호를 쓰고 그 안에 자바 코드를 삽입하는 방식으로 사용한다. 서블릿(Servlet)은 자바 소스 코드 안에 HTML을 삽입하지만, JSP는 반대로 HTML 문서 안에 자바 코드를 삽입한다. 한편 자바스크립트(JavaScript)는 사용자의 개인 PC에 설치된 웹브라우저에서 실행되지만, JSP는 웹서버에서 실행되어 그 결과값만 사용자의 웹브라우저에 전달된다는 차이점이 있다.
목차
개요
JSP는 서블릿을 이용하여 웹페이를 직접적으로 제어하여 모양이나 내용을 변환하는 기술이다. 자바를 개발한 썬마이크로시스템즈에서는 이 기술은 서블릿 응용 프로그램 인터페이스(API)라고 표현하며 JSP는 마이크로소프트의 ASP의 기술과 유사하다. ASP는 페이지가 사용자에게 전송되기 전에 스크립트 인터프리터에 의해 해석될 스크립트를 포함시키지만 JSP는 웹서버에 의해서 실행되는 자바프로그램을 호출하고 자바 서브릿과 연결된 HTML페이지는 .JSP라는 파일 이름이 붙는다. Servlet 기술의 확장으로 사용자가 입력한 코드에 따라 페이지를 생성한다.
탄생배경
JSP가 탄생하게된 계기는 마이크로소프트사에서 출시한 웹 개발스크립트 엔진인 ASP(Active Server Page)에 대응하기 위해 1999년 썬마이크로시스템즈(Sun Microsystems)에서 발표한 Java Server Page 라는 스크립트 엔진이다. WAS(Web Application Server)는 클라이언트의 웹 브라우저로부터 JSP에 대한 요청이 오면 JSP코드를 Servlet코드로 변환 후 컴파일하여 실행하게 된다.[1]
JSP동작과정
JSP코드는 백그라운드에서 맞는 Servlet코드로 변환된다.
- JSP 실행 시 WAS에서 내부의 JSP파일을 Java Servlet(.java)로 변환한다.
- WAS는 변환한 Servlet을 실행시켜 사용자가 원하는 기능을 제공한다.
- 명령 수행 후 생성된 데이터는 웹페이지와 함께 클라이언트에게 보여진다.[2]
특징
성능과 확장성
JSP는 HTML 태그로 구현되는 부분과 JSP태그로 구현되는 부분으로 나누어지는데 JSP 태그에 포함되는 부분은 백그라운드에서 맞는 Servlet 소스로 생성되어 처리된다. JSP태그로 생성되는 Servlet클래스는 처음 요청 시에는 객체가 생성되며 두 번째 요청 시에는 처음 생성된 객체에서 멀티스레드로 동작하게 된다. 하나의 JSP파일에 대해서 여러 사용자의 다중 요청에 대해 멀티스레드로 동작할 수 있다. 여러 스레드끼리 쉽게 리소스를 공유할 수 있어 성능이 향상된다. 기존의 Java의 장점을 가져오면서 웹 서버에 독립적으로 운용할 수 있다.
Javabeans 컴포넌트의 활용
JSP는 Java언어를 활용해서 동적인 컨텐츠를 구현할 수 있는데 직접적으로 태그안에 Java의 소스 코드를 구현해도 되지만 Java언어를 알지 못해도 HTML수준의 기본 태그를 활용하여 서버 내부에 있는 Java 객체를 활용 할 수도 있다. 이것은 Java언러로 작성된 객체로 모듈성과 재사용성에 맞추어져 개발되었다. JavaBeans의 개발은 Java에서 클래스를 만들듯이 데이터와 동작원리에 대해 변수와 메서드로 나누고 약간의 규약을 첨부해서 구현한다. 컴포넌트의 내부구조를 모르고도 JavaBeans컴포넌트를 활용하여 원하는 기능을 구현할 수 있다.
프로그램구현의 용이성
자바 서버 페이지의 기능을 충분히 활용하면 프로그램을 구현하는 세션과 사용자에게 정보를 출력하는 세션을 분리하여 처리할 수 있다. 프로그래밍을 담당한 JavaBeans을 이용하여 코드를 어떠하게 작성하느냐에 따라 다양한 효과를 얻을 수 있다. 이 외에도 웹 애플리케이션 개발과 유지 보수를 각각 따로 처리할 수 있고 Java에서 활용되는 여러 클래스 또한 JSP에서 사용할 수 있다.
장점
공공기관에서 쓰일 만큼 보안성이 뛰어나고 다양한 기능을 가지고 있다. 기존 자바의 이식성을 가지고 있어 윈도우에서만 운용이 가능한 ASP와는 달리 유닉스, 리눅스, 윈도우 뿐만 아니라 다른 플랫폼에서도 폭 넓게 운용이 가능하다. 또한 다양한 레퍼런스를 가지고 있어 대규모 시스템과 서버에 적합한 자바의 지원를 받을 수 있다.[3]
단점
가격이 비싸고 개발기간이 오래 걸린다.
각주
- ↑ 이강원 , 〈JSP〉, 《지형 공간정보체계 용어사전》,구미서관 , 2016-01-03
- ↑ heejeong Kwon , 〈<Web> JSP란(Java Server Pages)〉, 《github》, 2018-11-03
- ↑ 별똥별로맨스 , 〈서버 개발언어 JSP PHP ASP의 비교〉 , 《티스토리 블로그》 , 2016-05-03
참고자료
- 한국정보통신기술협회 - http://word.tta.or.kr/main.do
- KimWhale , 〈(웹언어) JSP소개 및 장단점〉, 《티스토리블로그》 , 2013
- 이강원 , 〈JSP〉, 《지형 공간정보체계 용어사전》,구미서관 , 2016-01-03
- Gren , 〈JSP - 탄생 배경 및 Life cycle〉, 《네이버 블로그》, 2018-06-26
- RoaZium , 〈<정보>ASP, PHP, JSP 장단점〉 , 《티스토리 블로그》 , 2018-06-26
- heejeong Kwon , 〈<Web> JSP란(Java Server Pages)〉, 《github》, 2018-11-03
같이 보기