Do Not Think!!!

Posted
Filed under 01010101
참고 URL : http://www.javaworld.com/javaworld/javatips/jw-javatip101.html

서로 다른 애플릿끼리 통신을 하기 위해서는 몇가지 조건이 필요합니다.
  • 같은 서버 & 같은 디렉토리에 있는 애플릿이야 합니다.
  • 같은 브라우저 & 같은 페이지에 있는 애플릿이어야 합니다.

하지만 몇가지 트릭을 사용하면 서로 다른 브라우저에 있는 애플맀끼리 소켓이나 RMI를 이용하지 않고 통신을 할 수 있습니다.

  1. 기본적으로 같은 페이지 내의 다른 애플릿끼리 통신이 가능합니다.
  2. 같은 페이지의 다른 애플릿은 같은 runtime environment(jre)에서 실행됩니다.
  3. 다른 페이지의 다른 애플릿은 다른 runtime environment에서 실행됩니다.
  4. 하지만, 서로 다른 페이지의 다른 애플릿이라도 codebase가 같다면 같은 runtime environment에서 실행됩니다.
  5. 같은 runtime environment에서 실행되는 서로 다른 애플릿은 static fields/structures를 이용해서 서로 통신할 수 있습니다.

즉, 서로 다른 페이지에 있는 애플릿이라도, 같은 codebase에서 실행된다면, 같은 runtime environment에서 실행되기 때문에, static fields/structures를 이용하여 통실 할 수 있습니다.


다음 HTML 예제에서 codebase의 value 부분을 맞춰주면 됩니다.

applet codebase 설정하기 (Language : html4strict)
<applet id="" name="" code="" archive="" width="" height="">
    <param name="codebase" value="Applet/"></param>
</applet>