Probleme mit einem Java-Applet

  • Themenstarter Themenstarter TimC
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
T

TimC

Gast
Hallo,

zuerst einmal: ich bin absoluter Neuling in sachen JAVA.
Jedoch brauche ich unbedingt ein Online FTP-Upload Applet.

Dazu habe ich mir folgendes Applet runtergeladen: ZUpload

Der Aufbau der "ZUpload.java" ist eigentlich relativ einfach für mich zuverstehn. Ich habe versucht mittels "javac" die ZUpload.java zu einer *.class Datei zu kompilieren.

D:\ZUpload>javac ZUpload.java
Note: ZUpload.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

Er erstellt auch eine *.class Datei (8 KB) die jedoch leider nicht funktioniert. Die *.class Datei im *.jar Archiv z.B. ist 9 KB und nicht 8 KB groß.

Hab ich was vergessen? Bitte um hilfe!


Danke u. Gruß Tim
 
ist ja nicht nur ZUpload.java
hat ja noch viel andere .class Dinge

spielen die vielleich auch eine Role?
(code nicht gelesen)

uchecked.....operation ist nicht so schlimm (momentan)

zb
List<String> l = new ArrayList<String>();
l = myGetter.getList(); //wenn von getList() nicht sicher
eine String Liste kommt gibts das...
 
Hi,

ja die anderen *.class Dateien gehören auch dazu. Muss ich das beim kompilieren mit übergeben? Wenn ja wie?

Gruß, Tim
 
wenns compiliert dann funzt.
sonst gäb es eine ClassNotFoundException...
vielleicht rufts du das Applet falsch auf im HTML
wer weis?
 
Also wenn ich die sample.html mit der ZUpload.jar öffne funktionierts einwandfrei.
Ersetze ich meine *.class Datei durch die in der *.jar Datei und öffne dann die sample.html wird nur ein Fenster mit nem rotem "X" angezeigt (sprich er kanns nicht laden).

(Die sample.html usw. befinden sich alle oben im Link)
 
C:\Documents and Settings\André\NetBeansProjects\JavaForum\src\applets\ZUpload.java:5: package net.sf.jftp.net does not exist
 
Hi,

aber in der *.jar ist doch ein Pfad der lautet: "D:\ZUpload\net\sf\jftp\net" (mit vielen *.class Dateien)
Ist das nicht das Package?
 
Wie hast du denn das Applet in die HTML-Datei eingebunden? Das Package muss eventuell auch hier angegeben werden.
 
Hi,

so:
Code:
<HTML>
<HEAD>
<TITLE>ZUpload Applet</TITLE>
</HEAD>
<BODY>
<applet code="ZUpload" Archive="ZUpload.jar" width="450" height="300" border="0">
<param name="host" value="ftp_host">
<param name="user" value="user_name">
<param name="pass" value="user_pass">
<param name="path" value="target_path">
<param name="postscript" value="url_of_script">
</applet> 

</BODY>
</HTML>

Download: www.materialordner.de/4PSA9DM2TY37hWxYv59TfM3AcQufusMo.html

Gruß, Tim
 
OK, das Applet ist richtig eingebunden, aber du musst die Applet-Parameter in der HTML-Datei noch mit sinnvollen Werten belegen.
 
Ich weiß. Das funkioniert ja auch alles. Nur möchte ich die ZUpload.class bzw. ZUpload.java gerne ein wenig abändern. Und das funkioniert irgendwie nicht.
 
Nach 10 Beiträgen bekommen wir endlich den Hinweis, dass du das Applet ändern möchtest.
DAS hat ja gedauert...
Aber nun sollen wir auch noch raten, was du machen möchtest... :roll:
 
Hm naja warum sollte ich die sonst neu kompilieren?

Aber du hast Recht hatte ich mich wohl unklar ausgedrückt. Entschuldigung!

Ändern möchte ich eigentlich nur die Beschriftungen der Buttons.

Nur wenn ich "meine" ZUpload.java dann kompiliere und durch die originale im jar-Archiv austausche funktioniert es nicht mehr (obwohl ich nur die Beschriftung der Buttons geändert habe!).
 
Du wirst das Applet (jar-Datei) wohl signieren müssen, wenn du die Jar-Datei verändert oder neu erzeugt hast.
Ein Blick in die Java-Console verrät dir, warum nichts geht.
Applets dürfen sich nur zu dem Rechner verbinden, von dem sie heruntergeladen wurden.
Zum Signieren findest du in der FAQ Hilfestellung.
 
Also die Konsole sagt mir:

java.lang.SecurityException: SHA1 digest error for ZUpload.class
at sun.security.util.ManifestEntryVerifier.verify(Unknown Source)
at java.util.jar.JarVerifier.processEntry(Unknown Source)
at java.util.jar.JarVerifier.update(Unknown Source)
at java.util.jar.JarVerifier$VerifierStream.read(Unknown Source)
at sun.misc.Resource.getBytes(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(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)

er fragt noch nicht einmal ob ich das unsignierte Teil runterladen will.

Ich vermute das es irgendwie daran liegt das er das net Package nicht findet. Kann das vielliecht jemand mal bei sich ausprobieren?
 
guck mal dort im META-Inf
unter...bei allen drei die Zahlen da an
SHA1-DIGEST
 
In der Manifestdatei werden die Schlüssel für deine Klassen gespeichert, um Manipulation zu verhindern.
Und genau das hast du ja gemacht. Du hast die ZUpload.class ausgetauscht. Der Schlüssel stimmt nicht mehr überein. Der Benutzer soll vor manipuliertem/unsigniertem Code geschützt werden. Oder warum meinst du, wird dier eine SecurityException geworfen? :roll:
Die Jar-Datei muss erneut signiert werden.
 
habe deine Batch aus der FAQ genommen und bin begeistert!!

Hat alles ohne Probleme funktioniert!

Vielen dank euch allen!!

Besonderes danke schön an dich L-ectron-X! 🙂

Gruß, Tim
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben