Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Ich möchte vorzugsweise mittels Java auf eine Oracle-Datenbank Zugriff haben. Die ermittelten Daten sollen dann ausgewertet und grafisch im Browser ausgegeben werden. Dabei soll JDBC genutzt werden.
Ich wollte das ganze erst mittels Applet machen, dies hat dann aber eingeschränkte Funktionalitäten (Sandbox), wenn z.B. Datenbank und Webserver nicht auf der gleichen Umgebung laufen.
Nun stellt sich mir die Frage, was dann am besten geeignet wäre? Eine Kombination aus Servlet und JSP? Kann man dann in die JSP ein Applet einbauen und die beiden können dann ordentlich kommunizieren? Das ganze nur mittels HTML auszugeben, ist sicherlich unmöglich.
Hab mit beiden Technologien schon gearbeitet, bin aber nicht sooo bewandert, ob das mit nem Applet klappt.
Wenn die Daten nur statisch angezeigt werden sollen, braucht man nichtmal AJAX, ein Applet schon gar nicht.
Der Server erzeugt einfach Grafiken als PNG o.ä. und diese werden in HTML-Seiten angezeigt.
naja, es sollen dann aber bei Mouseover noch Tooltips angezeigt werden. Die Auswahl der grafischen Informationen soll einschränkbar sein.
Ich weiß nicht, ob es da so günstig ist, immer wieder neue png's zu erzeugen.
Wenn du gewohnt bist Applets zu benutzen, kannst du das auch weiterhin tun. Eine Kommunikation zwischen Applet und Servlet ist möglich. Ich habe sowas mal nach Anleitung aus dem Buch "Java Servlet Programmierung" gemacht. Ist aber schon ne Weile her. Google wird sicherlich auch brauchbare Hinweise zu Tage fördern.
Variante 1)
Applet im Browser +
Webdienste am Server (eigene Servlets oder irgendein SOA-Framework)
Variante 1b)
Webstart statt Applet
Variante 2)
Reine Weblösung mit und eine Render/Statstiklösung welche auch eine Imagemap zurückgibt. Damit können die Klicks auf der Grafik richtig verlinkt werden.
Variante 3)
Eine fertige Komponente eines AJAX-Frameworks verwenden:
<vbox>
<hbox>
<label value="Jahr"/>
<listbox id="jahre" rows="1" mold="select" onSelect="update(self.selectedItem.label)">
<listitem label="2006" selected="true"/>
<listitem label="2007"/>
</listbox>
</hbox>
<checkbox label="3D Chart" checked="true" onCheck="mychart.setThreeD(self.isChecked())"/>
<chart id="mychart" title="Pie Chart Demo" width="500" height="250" type="pie" threeD="true" fgAlpha="128" onClick="details(event)">
<zscript>
void update(String jahr) {
if (jahr.equals("2006")) {
model.setValue("Hardware", new Double(52303));
model.setValue("Software", new Double(12205));
model.setValue("Dienstleistungen", new Double(8205));
} else {
model.setValue("Hardware", new Double(32411));
model.setValue("Software", new Double(19787));
model.setValue("Dienstleistungen", new Double(18205));
}
mychart.title = "Umsatzanteil " + jahr;
}
void details(Event event) {
String areaid = event.getArea();
if (areaid != null) {
Area area = self.getFellow(areaid);
alert(""+area.getAttribute("entity")+": "+area.getTooltiptext());
}
}
PieModel model = new SimplePieModel();
update("2006");
mychart.setModel(model);
</zscript>
</chart>
<toolbarbutton label="More chart..." href="http://www.zkoss.org/zkdemo/test/chart.zul"/>
</vbox>
Selbstverständlich läßt sich statt dem <zscript> auch eine Javaklasse angeben (ähnlich den managed Beans von JSF).
Dort kann man das Model dann via JDBC oder Persistenseschicht füllen lassen.
Das Web/Ajaxframework ZK bietet fast alle Chartformen von JFreechart ein seiner Chartkomponente ein - siehe auch den "Link More Chart..". Tooltips werden automatisch generiert, wenn der Benutzer auf was klickt, kann ich z.B. noch eine Detailpopup dazu einblenden.