Localhost i aplet

0

Witam

Proszę wybaczyć lamerskie pytanie ale co mam zrobić jesli mój applet umieszczony na stronie www, wyrzuca okienko o pozwolenie i działa ok, a tymczasem na localu nawet nie zapyta tylko sie uruchamia a co wazniejsze uruchamia się tak, że nie ma uprawnień przez co nie działa.

Jednym z jego zadań jest połączenie sie ze strona internetową. W konsoli widać:

java.security.AccessControlException: access denied (java.net.SocketPermission www.onet.pl:80 connect,resolve)

0

Prosze wybaczyć, źle napisałem. Nie tylko na localhoście. Po uploadzie na serwer nadal to samo. Nie pojawia się okienko z pytaniem czy uruchomić applet, a w konsoli widac błąd:

java.security.AccessControlException: access denied (java.net.SocketPermission www.onet.pl:80 connect,resolve)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkConnect(Unknown Source)
at sun.plugin2.applet.Applet2SecurityManager.checkConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.<init>(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at skryptNaZaliczenie.pobierzStrone(skryptNaZaliczenie.java:831)
at skryptNaZaliczenie.init(skryptNaZaliczenie.java:306)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Natomiast kod do którego odnosi się błąd to:

URL url = new URL("http://www.onet.pl/");
HttpURLConnection c = (HttpURLConnection)url.openConnection();
c.setRequestMethod("GET");
c.setRequestProperty("User-Agent", "(...)");
InputStream i = c.getInputStream(); //<---- to linia 831

Bardzo prosze o pomoc w znalezieniu problemu.

0

Podpisz aplet, a dokładniej jara w którym jest ten aplet.

0

Thx za odpowiedź.

Czy podpisanie to jedyne wyjście?
Chodzi mi tylko o to by zachowywyał się jak większosc apletów w sieci - wyrzucił okienko z zapytaniem i zrobił co ma zrobić. Nie ma uzyskiwać dostepu do zaawansowych funkcji np. do sytemu plików uzytkownika takze myslę że taki unsigned applet powinien wysatrczyc.

0

Niepodpisany aplet może się łączyć tylko z serwerem, z którego jest pobierany. Ty się łączysz z innym, bez podpisania się nie obędzie. Możesz podpisać sam, ponieważ nie jesteś "znaną firmą potwierdzającą", to użytkownik zostanie poproszony o wyrażenie zgody na uruchomienie apletu.

0

Nie, nie musisz podpisywac - jest inna droga.
Mozesz poprosic wszystkich userow ktorzy beda uruchamiali ten apliat aby w swojej JRE w pliku JRE_HOME/lib/security/java.policy dodali wpis ze aplet z Twojej stronki mogl sie laczyc z onetem, wzglednie nadali wszystkie uprawnienia kazdemu apletowi. Powodzenia z tym zadaniem.

Bez sarkazmu - podpisanie apletu nie jest takie trudne, dasz rade.

0

Dziękuję. Podpisałem.

A gdybyście mieli jeszcze kapkę cierpliwości powiedzcie mi proszę jak mam umieścic aplet na www (wiem że google jest ale mi po prostu nie działają tamte rozwiazania):

Aplet buduję w NetBeans dlatego mam:
/build/classes/Klasa.class
/dist/MojJar.jar

Kiedy dam:
<quote><applet archive="/sciezka/do/dist/MojJar.jar" code="Klasa.class"</quote>
otrzymuję błąd, że nie znalazło takiej klasy

0

A jak jest położony plik jar względem pliku html? Jeżeli są w tym samym katalogu to archive="MyJar.jar".

0

<quote=Denzel Waszington>Kiedy dam:

<applet archive="/sciezka/do/dist/MojJar.jar" code="Klasa.class"</quote>
otrzymuję błąd, że nie znalazło takiej klasy

Powinno zadziałać jakoś tak:
<applet codebase="/sciezka/do/dist/" archive="MojJar.jar" code="package_name/Klasa.class" ...

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