Domino 9 und frühere Versionen > ND8: Entwicklung

Java Applets für Zugriff über das Web erstellen

(1/2) > >>

Daniel_Ol:
Hallo Notes-Gemeinde!

Ich versuche gerade, ein selbst entwickeltes JavaApplet im Web zum laufen zu bringen.
1. Wenn ich das Applet aus Eclipse starte, dann funktioniert es.
2. Wenn ich das Applet aus Notes starte (in einer Maske), dann funktioniert es.
3. Wenn ich das Applet aus Page im Web starte, dann läuft das Applet nicht. Folgenden Fehler wirft die Java-Debug-Konsole:

java.lang.NoClassDefFoundError: lotus/domino/JAppletBase
   at java.lang.ClassLoader.defineClass1(Native Method)
   at java.lang.ClassLoader.defineClass(Unknown Source)
   at java.security.SecureClassLoader.defineClass(Unknown Source)
   at java.net.URLClassLoader.defineClass(Unknown Source)
   at java.net.URLClassLoader.access$000(Unknown Source)
   at java.net.URLClassLoader$1.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.net.URLClassLoader.findClass(Unknown Source)
   at sun.applet.AppletClassLoader.findClass(Unknown Source)
   at java.lang.ClassLoader.loadClass(Unknown Source)
   at sun.applet.AppletClassLoader.loadClass(Unknown Source)
   at java.lang.ClassLoader.loadClass(Unknown Source)
   at sun.applet.AppletClassLoader.loadCode(Unknown Source)
   at sun.applet.AppletPanel.createApplet(Unknown Source)
   at sun.plugin.AppletViewer.createApplet(Unknown Source)
   at sun.applet.AppletPanel.runLoader(Unknown Source)
   at sun.applet.AppletPanel.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: lotus.domino.JAppletBase
   at sun.applet.AppletClassLoader.findClass(Unknown Source)
   at java.lang.ClassLoader.loadClass(Unknown Source)
   at sun.applet.AppletClassLoader.loadClass(Unknown Source)
   at java.lang.ClassLoader.loadClass(Unknown Source)
   at java.lang.ClassLoader.loadClassInternal(Unknown Source)
   ... 18 more

Ich vermute, dass ich die Jar nicht richtig erstellt habe. Ist aber nur eine Vermutung, ist das erste Mal, dass ich ein Applet fürs Web erstelle.... kann mir hier vielleicht jemand auf die Sprünge helfen?

Gruß, Daniel

m3:
Verwendet der Browser ev. eine andere/ältere JVM?

jBubbleBoy:
Warum sollte denn dein Browser die Klasse "lotus/domino/JAppletBase" kennen? Weil da wo der Browser läuft auch Notes installiert ist?
Dem ist leider nicht so.

Was soll denn das Applet können? Vielleicht kann man die nötigen Daten via Appletparameter übergeben?

Daniel_Ol:
Der Browser verwendet die gleiche JVM, die ich auch in meinem Eclipse genutzt wird.

Ausgangssituation:
Wir haben 1 Notesdatenbank in der einige 100 000 Dokumente sind. Da dann das Aufbauen von Ansichten irgendwann sehr lange dauert und wir auf einen schnellen Zugriff angewiesen sind, wird diese DB regelmässig archiviert, für jedes Jahr gibt es ein Archiv.

Was ich will:
Das Applet soll alle Dokumente eines Typs über einen definierbaren Zeitraum auslesen und wichtige Infos in eine Tabelle schreiben, so dass eine Übersicht entsteht, die sich ausdrucken lässt. Also ggf. werden auch die Archive gelesen.

Umsetzung:
In Notes habe ich das bereits einmal per Agent umgesetzt. Hat aber ab einer gewiesen Dokumentenzahl ewig gedauert und war vom Code schon recht komplex. Als Applet ist es jetzt neu programmiert und läuft in Notes problemlos und schnell (Ok, da macht das Drucken noch Schwierigkeiten, aber Applets aus Notes drucken ist ja ein Thema für sich).
Bereits jetzt werden verschiedene Werte (Zeitraum, Typ, etc.) an das Applet übergeben. Aber die Kernaufgabe des Applets ist das Durchsuchen der DBen und das zusammenstellen der Infos in der Tabelle, sowie das Anzeigen der Tabelle.

Nun soll diese Funktion auch via Browser möglich sein. Da hab ich mir gedacht, Klasse, ein Applet erzeugen und in Notes und im Web nutzen. Tja, aber wie geassgt, in Notes gehts, im Browser nicht.

Wo bekomme ich denn die lotus/domino/JAppletBase her? Muss ich evtl. die Applet.jar anders erzeugen? Muss da die notes.jar mit rein? Oder gibt es etwas besonders zu beachten, wenn man Applets baut, die via Web auf Notes zugreifen sollen?

P.S.: Der Server ist Version 8.0

Ralf_M_Petter:
Du müsstest wahrscheinlich die Notes.jar in das ext Verzeichnis der Browser JVM reinschmeissen.

Aber ich würde Applets nicht mehr verwenden. In Notes 8 hast du doch ganz andere Möglichkeiten wie Composite Applications die sich hier extrem anbieten würden.

Grüße

Ralf

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln