# Applet mit Datenbank- und lokalem Dateizugriff



## BurningRanger (17. Aug 2007)

Hallo zusammen,

ich hab ein Applet geschrieben, dass zuerst auf eine Datenbank auf einem firmeninternen Server zugreifen und daraus Daten in eine Textdatei auf der lokalen Festplatte speichern soll. (Das Programm soll nur firmenintern von wenigen Leuten genutzt werden.)
Nun sind genau diese beiden Funktionen für Applets ja im Grunde verboten, aber man soll ein Applet wohl signieren können, damit es das doch darf.
In den meisten Beschreibungen hab ich bisher gelesen, dass es am einfachsten ist eine .jar Datei zu erstellen, die man dann mit jarsigner signiert.

Jetzt hab ich in Eclipse das Problem, dass ich beim erzeugen der .jar Datei die Main-Class nicht auswählen kann und wenn ich sie weg lasse, funktioniert nachher die Datei nicht, weil er die Main-Class nicht finden kann.
Selbst wenn ich die Main-Class anschließend von Hand in die Manifest Datei schreibe, bekomm ich den gleichen Fehler.

Kann mir irgendjemand sagen, warum Eclipse beim .jar erstellen die Main-Class nicht findet?
Oder hat jemand eine andere Idee wie ich das Applet signieren kann ohne ein .jar daraus zu machen?


----------



## Wildcard (17. Aug 2007)

Ein Applet hat keine Main class  :roll:


----------



## BurningRanger (17. Aug 2007)

Wildcard hat gesagt.:
			
		

> Ein Applet hat keine Main class  :roll:


Okay, das wusste ich nicht. Warum gibt's dann die Fehlermeldung, dass die Main-Class nicht da wär, wenn ich die .jar Datei öffnen will? Oder kann man aus dem Grund aus nem Applet kein .jar machen?


----------



## wayne0101 (17. Aug 2007)

also zum signieren gibts keinen anderen weg, als den, daß du ein jar draus machst. anscheinden gibt es in deinem eclipse damit ja auch kein problem. vielmehr hast du nachher beim ausprobieren wohl das problem. denke bitte daran, daß applets eine webumgebung benötigen um zu laufen. was ich damit sagen will ist, daß du eine homepage benötigst, welche das jar-file einbindet und die hauptklasse aufruft. die hauptklasse wäre in einer applikation diejenige, welche die main-methode beinhaltet, in einem applet ist das diejenige, welche von Applet oder JApplet erbt. die homepage die du benötigst kann ganz kurz gehalten sein, nur damit das ausprobieren klappt:


```
<html>
<head>
<title>Mein Java-Applet</title>
</head>
<body>
<applet code="Hauptklasse.class" archive="MyAppletJar.jar" width="640" height="480" alt="Java-Applet konnte nicht geladen werden">
    <param name="TestParameter" value="TestWert">
</applet>
</body>
</html>
```

ich kann dir nur empfehlen aus dem signierungsbefehl eine bat-datei zu machen. ich mache das immer so, daß diese zunächst mittels jar.exe mir das jar-file erzeugt, anschließend dieses mittels keytool.exe signiert, dann die jar-datei in den webspace verschiebt und letztlich meine webbrowser aufruft und ihm als parameter die adresse der html-seite übergibt, welche das applet lädt. auf die art muss ich unter eclipse nur mal kurz builden lassen und kann anschließend durch einen kurzen aufruf meiner bat-datei in der eingabeaufforderung fast sofort das ergebnis sehen.

viel glück

wayne


----------



## Wildcard (18. Aug 2007)

Du kannst ein Applet jar nicht ausführen, sondern nur in eine html einbetten.


----------



## Leroy42 (18. Aug 2007)

Wildcard hat gesagt.:
			
		

> ...sondern nur in eine html einbetten.


von einer html-Datei referenzieren


----------



## merlin2 (18. Aug 2007)

Leroy42 hat gesagt.:
			
		

> Wildcard hat gesagt.:
> 
> 
> 
> ...


... wodurch es in die Seite eingebettet wird.


----------



## Wildcard (18. Aug 2007)

merlin2 hat gesagt.:
			
		

> Leroy42 hat gesagt.:
> 
> 
> 
> ...


welche vom Browser dargestellt wird.


----------



## Leroy42 (18. Aug 2007)

Wildcard hat gesagt.:
			
		

> merlin2 hat gesagt.:
> 
> 
> 
> ...


und so dem User zur Verfügung steht.


----------



## keztrel (20. Aug 2007)

BurningRanger hat gesagt.:
			
		

> Jetzt hab ich in Eclipse das Problem, dass ich beim erzeugen der .jar Datei die Main-Class nicht auswählen kann...
> 
> Kann mir irgendjemand sagen, warum Eclipse beim .jar erstellen die Main-Class nicht findet?



Nur zur Info: Einfach beim Export anstatt gleich auf Finish, 2 mal auf Next klicken, dann kannst du ganz unten auch die Main-Class auswählen, auch wenn du es bei einem Applet nicht benötigst


----------



## BurningRanger (20. Aug 2007)

Vielen Dank erstmal für die Hilfe, vor allem an wayne0101 für die ausführliche Antwort.

Ich hab das mit dem jar erstellen und in eine html-Seite einbinden mittlerweile hinbekommen. Außerdem funktioniert auch der Datenbankzugriff ohne Signieren des jar. Ich benutze stattdessen die lokale System-DSN, die wir eh benutzen. Dadurch baut das Applet die Verbindung zum Datenbankserver nicht selber auf, was daher auch kein Sicherheitsrisiko mehr darstellen kann.

Jetzt brauch ich nur noch eine Möglichkeit, die Daten, die ich aus der Datenbank raus ziehe in eine Textdatei zu schreiben. Das ist für Applets ja auch verboten.
Hat da vielleicht jemand eine Idee, wie ich hier (ähnlich wie beim Datenbankproblem) die Entscheidung über den Zugriff auf die Festplatte in die Hände des lokalen Systems oder User lege, statt in die des Applets? Ich hatte da an sowas gedacht wie eine Übergabe an den Browser, der dann wie bei jedem anderen Download den Benutzer fragt, wo er's gern hin speichern möchte.


----------



## sparrow (13. Sep 2007)

Noch mal zum Ausführen eines Applets.
Man muss das Applet nicht in eine Webseite einbetten. Eclipse kann das Ding sowieso starten und beim JRE ist doch auch ein "Appletiewer" dabei.


----------

