Applet pobranie danych z katalogu

0

Witam , mam problem ... Applet ktory czyta liste plikow z katalogu i ja wyswietla ... normalnie dziala jak przez kompilator uruchomie , ale nie dziala w przegladarce ... mam puste okno (nie ma bledu , po prostu szary pulpit) ... wiem ze nie moge pobierac danych z dyskow uzytkownikow , ale ze swojego ?
Czy chodzi o dodanie jakiejs linii kodu w html ? czy w applecie cos trzeba dodac ?

Pozdrawiam !

0

poczytaj najpierw o ograniczeniach appletow...

pozdrawiam

0
  1. Jeżeli chcesz mieć dostęp do plików na serwerze gdzie jest applet lub ogólnie na serwerze WWW, po prostu rób to przez URL

  2. Jeżeli chcesz mieć dostęp do plików na dysku, podpisz archwium jar

0

W ramach testowania ograniczeń apletów użyłem w aplecie taki kod:

        Image obrazek;
        try
        {
            obrazek=getImage(new URL("file:///c:/atos/edukacja/java/applet.gif"));
        }
        catch(Exception e)
        {
            System.out.println(e.getMessage());
            obrazek=getImage(getDocumentBase(),"Play16.gif");
        }

Testowałem ten aplet na paru komputerach (Windows XP) prywatnych i uczelnianych (z tabunem pilnujących bezpieczeństwa adminów). IE oraz Firefox odczytywały bez wahania plik z lokalnego komputera, Opera zgłasza wyjatek:
access denied (java.io.FilePermission \c:\atos\edukacja\java\applet.gif read)Które zachowanie jest zgodne z ograniczeniami apletów ?
pozdrawiam

0

Teoretycznie zachowanie Opery jest tym poprawnym. Jednak należy zastanowić się czy w konfiguracji nie zaznaczyłeś gdzieś pola "zaufaj apletom niepodpisanym" lub względnie nie nacisnąłeś kiedyś dawno temu "Nie pytaj więcej" czy czegoś w tym stylu.

0

To nie jest takie proste:

  • bardzo uważnie udzielam zgody na buszowanie po moim komputerze (na uczelnianym nawet bym nie mógł
    udzielić zgody),
  • zgodnie z dokumentacją metoda getImage() nie generuje żadnego wyjątku
  • próby odczytania czegokolwiek metodami klasy File kończą się (na wszystkich przeglądarkach) wyjątkiem
    SecurityException
    pozdrawiam
0
bogdans napisał(a)

To nie jest takie proste:

  • bardzo uważnie udzielam zgody na buszowanie po moim komputerze (na uczelnianym nawet bym nie mógł
    udzielić zgody),

ok, to odpada jeden z problemów

bogdans napisał(a)
  • zgodnie z dokumentacją metoda getImage() nie generuje żadnego wyjątku

Nie generuje wyjątku weryfikowalnego. Nie zapominaj że jest jeszcze cała hierarchia wyjątków nie weryfikowalnych o których nie mówi się w dokumentacji. Są one powodowane błędami w tworzeniu kodu, a nie nieprawidłowym zachowaniem aplikacji.

bogdans napisał(a)
  • próby odczytania czegokolwiek metodami klasy File kończą się (na wszystkich przeglądarkach) wyjątkiem
    SecurityException
    pozdrawiam

I prawidłowo, bo applet by móc korzystać z dysku musi być podpisany. Było o tym niedawno, nawet jakiś link do testowego certyfikatu suna się pojawił

0

Pozostaję przy swoim: nie jest jasne, zachowanie których przeglądarek jest zgodne z oczekiwaniami firmy Sun. Wiem, że metody klasy File powinny generować wyjątek. Napisałem, że u mnie generują by wykazać, że nie nadałem przeglądarkom specjalnych uprawnień.
pozdrawiam

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