Eigene VRML-Welten mit JSP erstellen

Es wird eine Datenbank-Verbindung verwendet, um das richtige Paket zu importieren (Java.sql.*).


<%@ page import="java.sql.*" %>

Hier die für die Verbindung zur Oracle-Datenbank verwendeten Strings:


<%
String driver = "oracle.jdbc.driver.OracleDriver";
String dburl  = "jdbc:oracle:thin:@faustus:1521:intra";
String dbuid = "spheres";
String dbpwd = "spheres";
%>

In diesem Fall ist die SQL-Abfrage ziemlich einfach – es müssen nur sämtliche in der Tabelle enthaltenen Daten wiedergegeben werden:


String sql = "SELECT * FROM spheres";

Nach dem Erstellen des ResultSet durchläuft der Code sämtliche Einträge und zeigt so viele Kugeln an, wie in der Datenbank als Einträge vorhanden sind. Hier der Durchlauf:


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++;
}

Beachten Sie, wie die Werte der Datenbank in VRML übernommen werden. Zwei der Strings, für Farbe und Radius, werden auf die Werte aus der Datenbank gesetzt und anschließend im VRML-Code als <%=color%> und <%=radius%> wiedergegeben.

Die Übertragung wird durch einen Ganzzahlindex (Count) gesteuert, der die Anzahl der Einträge registriert und die Kugel bei jeder Wiederholung des Durchlaufs um 15 auf der x-Achse verschiebt.

Die Variable Count hat noch einen anderen Zweck. Da wir Kugel-Objekte generieren, nennen wir diese DEF Kugel1, DEF Kugel2 usw. Dies geschieht durch Einsetzen des Count-Werts in die Definition des VRML-Knotens.


DEF sphere<%=count%>

Listing C enthält die komplette Abfolge von db.jsp.

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Eigene VRML-Welten mit JSP erstellen

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *