文章背景:
使用Java Applet技术开发小应用程序,并最终将其部署到网页上,使其能够实现从数据库中读取节点、链路数据,并根据数据绘制拓扑图的功能。绘制图像的过程应用jgraph开源软件实现。
技术要点:
1、在页面上部署Java Applet应用程序,并调用jgraph.jar包
<applet archive="AppletDemo.jar,jgraph.jar" code="org/nlsde/draw/applet/AppletDemo.class" codebase="./" width="660" height="560"></applet>
|
在此将网页文件和AppletDemo.jar放在同一个目录下,由于需要引用第三方的jgraph.jar包,因此在archive属性中一并写上jgraph.jar
2、Java Applet应用程序访问数据库
由于Java Applet应用程序本身的策略限制,在默认情况下应用程序只能以http协议访问运行此Java Applet应用程序的主机;而修改策略,需要加入数字签名,并且浏览器会提示安全问题。因此在本次开发中,使用Java Applet访问Servlet的流行方法来解决读取数据库的问题。
Java Applet应用程序和Servlet进行交互,可以直接在两者间传递支持序列化的对象(Serializable)。在Servlet端,只需要响应doGet事件,并将处理结果以ObjectStream的形式返回即可:
DefaultGraphCell[] alCells = org.nlsde.draw.data.CellHandler.getAllCells();
ObjectOutputStream out = new ObjectOutputStream(response
.getOutputStream());
out.writeObject(alCells);
|
在Java Applet端,发起数据请求和接受结果如下:
URL url = new URL(getCodeBase() + "/servlet/GetAllCells");
URLConnection urlConn = url.openConnection();
InputStream in = urlConn.getInputStream();
|