Applet中读取IP地址并显示到页面上

    在B/S模式下,有时候客户端需要获取IP地址和操作系统的环境变量,或者服务端不好获取的某些客户端环境,这时Applet就能派上用场,它是Java客户端小程序,可在客户端执行,那么得到上述值就不成问题。但是怎样将这些值显示在页面上呢?这里用到了Dom技术,将IP地址显示在页面的指定位置<div id="virtualIP"></div>。

 

import java.applet.Applet;

import org.w3c.dom.html.HTMLDivElement;
import org.w3c.dom.html.HTMLDocument;

import com.sun.java.browser.dom.DOMAccessor;
import com.sun.java.browser.dom.DOMAction;
import com.sun.java.browser.dom.DOMService;

/**
 * 页面不需要刷新来获取客户端的值
 * @author S.J
 * @version 1.0, 11/03/2009
 */
public class MyApplet extends Applet {
	
	private DOMService ds = null;
	private HTMLDocument doc = null;
	private HTMLDivElement virtualIP = null;
	private String status;
	
	public void init(){
		try{
			ds = DOMService.getService(this);
			doc = (HTMLDocument)ds.invokeAndWait(new DOMAction(){
						public Object run(DOMAccessor accessor){
							return accessor.getDocument(MyApplet.this);
						}
					});
//			获取页面上显示IP的对象
			virtualIP = (HTMLDivElement)doc.getElementById("virtualIP");
		}catch(Exception e){
			e.printStackTrace();
		}
	}
	
	public void start(){
		Thread t = new Thread(){
			public void run(){
				try{
//					每2秒钟重新获取IP并显示在页面上
					while(true){
//						根据实际情况获取真实的IP
						status = "0.0.0.0";
						virtualIP.setAttribute("innerHTML", status);
						Thread.sleep(2000);
					}
				}catch(Exception e){
					e.printStackTrace();
				}
			}
		};
		t.start();
	}

}

 

你可能感兴趣的:(java,thread,html,J#,sun)