크로스 브라우징

1. 브라우저 구별.
switch(navigator.appName.charAt(0)){
case 'N': // Natscape

break;
case 'O': // Opera

break;
case 'M': // Microsoft Internet Explorer

break;
}


appName의 풀네임으로 처리할 경우 - 주석처리된 부분으로 if else하면 될듯.

2. 사용하려는 값만을 체크.
if(document.all){

}else if(document.getElementById('name')){

}


참조 :
크로스 브라우징을 위한 function 코드 작성시 팁

3. 그외 세부 항목

가. 페이지 새로고침
if(navigator.appName.charAt(0) == 'N')	// 'N' Natscape
window.location.replace(null);
else if(navigator.appName.charAt(0) == 'M') // 'M' Microsoft Internet Exploer
window.location.replace();


by 조상현 | 2008/02/11 14:28 | 트랙백 | 덧글(0)

rmi 사용하기

# 서버측

1. 원격지의 클래스와의 매개체로 Remote를 상속받은 Interface를 정의한다.
  • public interface 원격매개체 extends Remote{
  • 이런저런 메소드;
  • }
2. UnicastRemoteObject를 상속받은 클래스를 정의한다.
  • public class 클래스A extends UnicastRemoteObject implements 원격매개체{
  • }
원격지와 로컬 모두를 상속받을 필요는 없으며 rmiregistry 를 실행하여 port를 열어둘 서버측에만 해당한다.

3. Naming 클래스를 통해 Remote Object Registry에 클래스를 등록한다.

  • Naming.rebind("클래스A_Name", 클래스A);

이때 Naming.rebind에서 정의한 클래스명을통해 원격지에서 rmi://~/클래스A_Name 으로 접근하게 된다.


# 클라이언트 측

1. 원격지의 클래스와의 매개체로 Remote를 상속받은 Interface를 정의한다. (서버측의 인터페이스와 같다.)
  • public interface 원격매개체 extends Remote{
  • 이런저런 메소드;
  • }
2. 클래스를 정의한다.
  • public class 클래스B{
  • }
3. Naming.lookup을 통해 rmi주소로 접근한다.
  • public class 클래스B{
  • 아무런메소드(){
  • String url = "rmi://210.115.167.55/클래스A_Name";
  • 원격매개체 abc = (원격매개체)Naming.lookup(url);
  • abc.이런저런메소드();
  • }
  • }

# 컴파일

1. javac를 통해 위에서 작성한 소스를 컴파일한다.
  • javac 클래스A.java
2. rmic 컴파일러를 통해 위의 클래스A.class를 또 한번 컴파일한다.
  • rmic 클래스A
rmic를 통해서 클래스A_Stub.class와 클래스A_Skeleton이 (jdk1.5이하) 생성된다.

3. 클라이언트측도 컴파일해준다.
  • javac 클래스B

# 실행

1. 서버측에서 Remote Object Registry를 먼저 실행 하여 포트를 열어둔다.
  • rmiregistry [port] // default port:1099
2. 서버측 클래스를 실행한다.
  • java 클래스A
Exception.
  • RemoteException occurred in server thread; nested exception is :
  •  ...
http://pllab.kw.ac.kr/j2seAPI/guide/rmi/codebase.html 참조.

3. 클라이언트측 클래스를 실행한다.
  • java 클래스B

by 조상현 | 2007/11/21 15:25 | Java | 트랙백(1) | 덧글(0)

◀ 이전 페이지다음 페이지 ▶