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的内容。  |