이야기테크/블로그이야기

[스크랩] 애플릿과애플리케이션

명호경영컨설턴트 2008. 8. 25. 23:28
애플릿과애플리케이션 | 애 플 릿
2007.03.06 15:56

java_note
자바 애플릿
2006/10/22 오후 2:47 | java_note

자바가 순식간에 수많은 프로그래머의 환호를 받게 된 것 중 가장 중요한 요인은 폭발적으로 확
산해가는 인터넷의 월드와이드웹을 지원하는 특수한 프로그램인 애플릿을 언어 차원에서 지원
한 덕분이었다. 정적인 웹 페이지에 무한한 동적 자유를 가져다 준 자바의 꽃, 애플릿의 세계로
들어가 보자.

애플릿과 애플리케이션

자바는 두 가지 종류의 프로그램 형태를 가진다. 하나는 일반적인 응용 프로그램 즉, 애플리케
이션(Application)이고 또 하나는 작은 프로그램이라는 뜻을 가진 애플릿(Applet!)이다.
애플릿은 왜 작은 프로그램으로 불릴까? 그것은 항상 웹 페이지 안에서 자바를 지원하는 웹 브
라우저에 의해서만 실행되기 때문이다.
웹 페이지 안에서 동적으로 사용자의 입력에 반응하거나 실시간으로 변화하는 다양한 자바 프
로그램들은 모두 애플릿이며 자바로 만들어진 웹 브라우저인 핫자바를 포함하여 독자적으로 일
반 프로그램과 같이 실행될 수 있는 자바 프로그램은 모두 자바 애플리케이션이다.
자바가 일약 웹 프로그래밍 언어의 표준으로 등장하게 된 데에는 무엇보다 자바 애플릿의 매력
이 큰 영향을 미쳤다.
애플릿과 애플리케이션의 차이를 프로그래머로서 간단히 맛보기 위해서 앞에 나왔던 HelloApp
애플리케이션에 대응되는 HelloApplet! 애플릿의 소스를 보자.

HelloApplet!.java

애플릿은 웹 브라우저 안에서 실행되는 작은 프로그램이므로 웹 브라우저가 있어야 실행시켜볼
수 있다. 프로그래머를 위하여 썬 마이크로시스템즈에서 배포하는 JDK에는 애플릿만 실행시켜
주는 간단한 웹 브라우저인 애플릿뷰어(applet!viewer)가 포함되어 있다. 단순히 텍스트로 콘솔
(윈도우 95라면 도스 창)로 "Hello"라는 문자열만 출력하면 되는 애플리케이션에 비해 일단 웹 브라우저 안에서 글자를 표현해야 하는 애플릿은 그래픽으로 문자열을 그려야 한다는 점에서 훨씬 복잡하다. 물론 애플리케이션처럼 콘솔로 문자열을 출력할 수도 있지만 애플릿의 콘솔은 일반적으로 웹 브라우저 화면에 직접 보여지지 않으므로 (넷스케이프의 경우에는 자바 콘솔이라는 윈도우로 출력된다.) 이러한 애플릿에는 별로 관심이 없을 것이다. HelloApplet! 클래스가 Applet! 클래스에서 직접 상속되는 점을 눈여겨보자. 많은 복잡한 부분들은 제공되는 부모 클래스인 Applet! 클래스가 모두 처리해주므로 단지 상속만 하면 애플릿으로서의 일반 기능은 구현되는 셈이다. 그리고 HelloApp.java에 있던 main() 메소드가 없다는 점도 주목해야 한다. 나중
에 다시 설명하지만 애플릿은 몇몇 지정된 메소드를 웹 브라우저가 호출함으로써 실행되는 방식을 택하고 있다. 애플릿은 웹 페이지에 포함되는 것이므로 반드시 애플릿을 포함하도록 지시
하는 HTML 문서가 필요하다. 이 애플릿은 다음과 같이 HTML 문서 안에 포함시킨다.

    <!-- example.html //--><HTML><HEAD><TITLE>Hello Applet!</TITLE></HEAD><BODY>
    <APPLET! CODE="HelloApplet!" WIDTH=250 HEIGHT=150></APPLET!></BODY></HTML>

실행하려면 콘솔(도스창)에서 다음과 같이 한다.

applet!viewer example.html


이 애플릿처럼 그래픽으로 윈도우 위에 문자열을 그리는 자바 애플리케이션은 어떻게 만들 수
있을까? 예상할 수 있겠지만 애플릿보다는 훨씬 복잡해진다.

HelloAppwin.java

실행시켜보면

 java HelloAppWin



이 소스들이 크게 낯설지 않았다면 자바 프로그래밍 문법은 몇 시간 내에 마스터 할수 있을 것이다.

핫자바와 애플릿뷰어

애플릿을 보여주는 것? 그것은 뜨거운 자바이다.
뜨거운 자바? 핫자바(HotJava). 선 마이크로시스템즈에서 만든 최초의 자바 애플릿 지원 브라
우저가 바로 핫자바이다. 95년 한 해, 자바의 열풍을 몰고 왔던 주역이다. 자바 초기, JDK 1.0 알
파 버전 단계(95년 하반기)에서 자바를 지원했던 유일한 브라우저이며 이후 JDK 1.0 베타 버전
이 나오면서 넷스케이프에게 자바 지원 브라우저의 자리를 내어주었다. 원래 JDK와 함께 배포
되었으나 베타 버전 이후 애플릿만을 보여주는 아주 작은 브라우저인 애플릿뷰어만이 JDK에 포
함되고 핫자바는 별도의 프로그램으로 존재하게 된다. 핫자바는 100% 자바 언어로 만들어진 웹 브라우저로 자바의 무한한 가능성을 웹을 통해 처음으로 예시하였다. 핫자바를 통해 자바 애플
릿이라는 새로운 개념-웹을 통한 프로그램 실행, 플랫폼에 얽매이지 않는 프로그램-을 인터넷
가족들에게 선뵈었으며 이에 매료된 많은 프로그래머들이 자바 프로그래밍의 길로 합류하였다.
그리고 그 무한한 잠재력을 깨달은 여러 업체들이 앞다투어 자바를 채택하고 그 잠재력을 구현
하기 위해 경쟁하는 계기를 제공하였다. (참고: 초기 단계의 JDK 알파 버전은 애플릿에
<APPLET!> 태그를 사용하지 않고 <APP>라는 태그를 사용하였다. 이후 HTML 표준 문법을 따
르기 위해 베타 버전부터 <APPLET!> 태그를 제안하였다. 초기 단계의 핫자바는 JDK 1.0 알파
버전을 따랐으므로 <APP> 태그만을 지원하였다. 지금의 핫자바는 물론 <APPLET!> 태그를 지
원한다.)


HTML 문서에 애플릿 설치하기

애플릿 프로그래밍에 앞서 자신의 홈페이지에 공개된 수많은 애플릿들을 입주시키는 방법을 알
아보자. 수많은 애플릿들이
가멜론 사이트
에 링크되어 있고 일부는 소스까지 공개되어 있다. 꼭 한 번 들러보길 바란다. 이들 중 마음 에 드는 것을 골라 자신의 홈페이지로 이주시켜 보자.
애플릿을 홈페이지에 설치하려면 <applet!> 태그에 대해 정확한 이해가 필요하다.
핫자바 1.0 알파 버전이 지원하던 JDK 1.0 알파 버전에서는 HTML 태그가 <applet!>이 아니라
<app>였다.
<app> 태그는 다음과 같이 하나의 태그 안에 모든 속성을 기입하는 형식을 택하였다. 현재의
웹 브라우저는 <app> 태그를 지원하지 않으므로 관심을 둘 필요는 없다.

<app class="클래스 이름" [src="클래스가 존재하는 URL" align="애플릿의 문단 정렬 방식" 
height="픽셀 단위로 된 애플릿 초기 높이" width="픽셀 단위로 된 애플릿 초기 폭" "그 외
해당 애플릿이 필요로 하는 속성"="속성의 값" ... ]>

[ ] 안의 부분은 생략이 가능하다.
예) <app class="ImageLoopItem" img="images/jon" pause=0>

<applet!> 태그는 이것과 상당히 다르다. <applet!> 태그는 HTML 명령의 규격을 준수하여 <applet!>으로 시작해 서 </applet!>으로 끝난다. 그리고 각 애플릿이 필요로 하는 속성은 별도로 <param> 태그를 이용하여 속성값을 주게 되어 있다.
<applet!> 태그의 형식은 다음과 같다.

<applet! code="클래스 이름" width="픽셀 단위의 애플릿 폭" height="픽셀 단위의 애플릿 
높이" [codebase="애플릿이 존재하는 기반 URL" alt="텍스트 전용 브라우저에서 대신 사용하는
텍스트" name="별명-같은 문서에서는 이 이름으로 사용할 수 있다" align="애플릿 정렬 방식"
vspace="세로 방향의 여백 align 값이 left나 right일 때만 사용" hspace="가로 방향의 여백
align 값이 left나 right일 때만 사용"]>
<param name="속성 이름" value="속성 값">
<param ...>
...
</applet!>

[ ] 안의 부분은 생략이 가능하다.
예) <applet! code="Blink.class" width=400 height=150>
<param name="lbl" value="즐거운 자바 프로그래밍이 되기를">
<param name="speed" value="4">
</applet!
출처 : 항상 따듯함을 줄수있는 사람이..
글쓴이 : barama61 원글보기
메모 :

'이야기테크 > 블로그이야기' 카테고리의 다른 글

[스크랩] 인터넷으로...  (0) 2008.08.26
[스크랩] 애플릿  (0) 2008.08.25
[스크랩] 애플릿 배우기  (0) 2008.08.25
[스크랩] 네이버계정에 올리는법  (0) 2008.08.25
[스크랩] 따라하기  (0) 2008.08.25