用JSP技术创造自己的VRML世界

作者: BUILDER.COM
Thursday, September 12 2002 10:56 AM

 
JSP
 

 

为了正确导入程序包(Java.sql*),需要建立数据库联接。
<%@ page import="java.sql.*" %>

下面是用来联接Oracle数据库的字符串。
<%
String driver = "oracle.jdbc.driver.OracleDriver";
String dburl  = "jdbc:oracle:thin:@faustus:1521:intra";
String dbuid = "spheres";
String dbpwd = "spheres";
%>

在这个例子中SQL(结构化查询语言)代码非常简单——返回表中数据:
String sql = "SELECT * FROM spheres";

一旦建立联接,下面的代码就会把数据库中所有的记录循环访问一遍并显示虚拟球。代码如下:
int count = 0;
while(rs.next()) {
color = rs.getString("color");
radius = rs.getString("radius");
%>
DEF sphere<%=count%> Transform {
translation <%=count*15%> 0 0
children [
Shape {
appearance Appearance {
material Material {
diffuseColor <%=color%> }
}
geometry Sphere {
radius <%=radius%>
} } ] }
<%
count++;
}


注意从数据库获得的数据是如何插入VRML中的。<%=color%><%=radius%>这两行VRML代码从数据库获得设定的颜色和半径值并将其显示出来。

转换过程用一个整数(count)来控制,它在循环中跟踪被访问的记录数,并控制在x轴方向每隔15单位显示一个虚拟球。

变量count还有另外一个用处。当产生虚拟球对象时,我们给它们命名为sphere1、sphere2……以此类推。这样,我们就可以用count在VRML中这样命名对象:
DEF sphere<%=count%>

清单C为文件db.jsp的内容。

=
<<上一页【VRML球】      下一页【整合JSP和VRML的另一种途径】>>