Aplet nie działa - pomocy ...

0

Witam....

Naprawde szukałem i znalazłem - jak podpisać aplet. Lecz wszystkie próby na nic.

Aplet działa z poziomu NetBeans.
Ściaga plik z serwera FTP na dysk, odczytuje dane, wyświetla.

Ale jako aplet nie.

wiem, że muszę podpisać aplet. Robię to i nic. Dalej nie działa.

Niech ktoś napisze jak podpisać aplet aby ten mógł zapisać plik na dysku lokalnym i pobrać z niego dane...

Dzieki z Góry ..

0

A jaki błąd pojawia się w przeglądarce?

0

No właśnie nic się nie pojawia. Przeglądarka wyświetla aplet ale nic się nie dzieje.

jak sprawdzić jaki błąd pojawia się ?? tego nie wiem. Jestem laikiem ale muszę napisać ten program jakoś.

to jest kod:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         

    try {

        ftp = new FileTransferClient();
        ftp.setRemoteHost("ftp.jcom.pl");
        ftp.setUserName("jcom_6128871");
        ftp.setPassword("bodek1");
        ftp.connect();
        ftp.downloadFile("C://"+file, file);
        ftp.disconnect();

        book = Workbook.getWorkbook(new File("C://" + file));
        arkusz = book.getSheet("Arkusz1");
    } catch (Exception e) {e.printStackTrace(); }

    Cell komorka = arkusz.getCell(1, 1);
    String nazwa = komorka.getContents();

    jTextField1.setText(nazwa);
           
    book.close();

    
}                                        

Ten kod działa, jak uruchomię to w NetBeans.
A w przeglądarce juz nie.

Jak sprawdzić te błędy o których mówisz??

0

W FF Narzędzia>JavaConsole W IE jakoś podobnie. Skopiuj to co tam jest napisane.

0

To chyba to :)

java.lang.SecurityException: cannot verify signature block file META-INF/BODEK
at sun.security.util.SignatureFileVerifier.processImpl(Unknown Source)
at sun.security.util.SignatureFileVerifier.process(Unknown Source)
at java.util.jar.JarVerifier.processEntry(Unknown Source)
at java.util.jar.JarVerifier.update(Unknown Source)
at java.util.jar.JarFile.initializeVerifier(Unknown Source)
at java.util.jar.JarFile.ensureInitialization(Unknown Source)
at java.util.jar.JarFile.getCodeSources(Unknown Source)
at java.util.jar.JavaUtilJarAccessImpl.getCodeSources(Unknown Source)
at com.sun.deploy.cache.DeployCacheJarAccessImpl.getCodeSources(Unknown Source)
at com.sun.deploy.security.CPCallbackHandler$ParentCallback.openClassPathElement(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.getJarFile(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.access$800(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.ensureOpen(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$JarLoader.<init>(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
at com.sun.deploy.security.DeployURLClassPath.getResource(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Exception: java.lang.SecurityException: cannot verify signature block file META-INF/BODEK

0

Opisz jak dokładnie podpisywałeś ten plik. Tak step by step co wpisywałeś w linii poleceń.

0

keytool -genkey -keystore mojeklucze -alias moje
keytool -selfcert -alias moje -keystore mojeklucze
jarsigner -keystore mojeklucze jakisTam.jar moje

tyle że zamiast "moje" jest "bodek", a "jakiśtam.jar" to "01_APP" jar.

Jesteś w stanie mi pomóc?? :)

Podpisany aplet musi przecież śmigać, co nie?? :))

0

Ja podpisuję tak

keytool -genkey -keystore mojeklucze -alias moje
jarsigner -keystore mojeklucze jakisTam.jar moje

Przeglądarka wymaga wówczas zgody na uruchomienie apletu, bo podpis nie ma certyfikatu żadnej znanej firmy.

0

Podpisywałem różnymi kombinacjami.
W sposób, że przeglądarka wymagała zgody też, ale i to nie skutkowało.

Kurcze, co ja robię źle...

Wam takie aplety działają ?? Możecie robić operacje na plikach, gdy przeglądarka wymaga zgody??

Może ja podeslę Wam ten aplet i sami spróbujecie bo powoli rozkładam ręce, a nie chciałbym się tak łatwo poddawać na samym początku...

Sposób, który jest wyżej też próbowałem i przeglądarka żądała zgody. Niestety aplet nie działał poprawnie - w ogóle nie robił nic z plikiem (((

Co jeszcze można zrobić ??

0

Podeślij aplet. Wysyłam Ci swój adres mailem.

0

oj dzieci dzieci...a ten wasz applet to zaraz jeszcze będzie miał loda robić...tak, już se wskażesz C:/ i myślisz że zadziała. Tzn ten błąd jakiś dziwny jest ale zanim zaczniemy się wgłębiać w aspekty uprawnień i podpisywania kodu spróbuj tak:

File plikNaHDD= new File(System.getProperty("java.io.tmpdir") + "/" + name);

Stworzy się plik a katalogu tempw document and settings/bla bla bla-jeżeli Twój applet go stworzy to ok-dajesz do niego dane z ftp i git a jak nie to będziemy wiedzieć ze coś nie tak.

W netbeans aplet ma nieograniczone uprawnienia i jest odpalany przez javaw-nie możesz oczekiwać że jak w netbeans działa to w przegląarce też.

pozdro

0

A co do podpisywania to daj se spokój w fazie testów w keytoolem-podpisuj w bezpośrednio w netbeans-włączasz we właściwośćiach projektu opcje self sign (wybierz wcześniej aplet description)-wiesz o co chodzi?

0

Umieściłem aplet na stronie

<applet width="600" height="450" code="APP_01" archive="01_app.jar,jxl.jar,edtftpj.jar">
</applet>

podpisałem wszystkie trzy jary i działa (Ala ma Kota 01-09-2010).

0

BO - Działa :)))))) ja Tobie dziękuję bardzo :))
Po dodaniu tych bibliotek do kodu HTML i podpisaniu ich - Działa :)))

Teraz nawet zaczeło działać ładowanie tego pliku do "InputStream" :)) co wczesniej też nie działało :))

Dzięki ogromne :))

Widać nie wystarczy być obeznany w JAVA. trzeba znać też HTML :))))

Nigdzie wczesniej nie znalazłem info, że trzeba dodać te biblioteki do kodu HTML.

Jeszcze raz dzięgi ogromne :)))

Pozdrawiam :)))

1 użytkowników online, w tym zalogowanych: 0, gości: 1