Problem z korzystaniem z zasobów appletu / JAVA

Problem z korzystaniem z zasobów appletu / JAVA
MW
  • Rejestracja:około 12 lat
  • Ostatnio:około 12 lat
  • Postów:2
0

Cześć!
Mam problem z wczytaniem plików .xml z pliku .jar na serwerze oferującym darmowy hosting. Nie chcę używać właściwych nazw, dlatego posłużę się uproszczeniem:

Moje hipotetyczne konto to "xyz" na serwerze "abc.pl". Moją domeną jest więc "xyz.abc.pl"

W kodzie programu odczytuję plik następującą linijką kodu:
Kopiuj
Document document = dbuilder.parse(new URL("http://xyz.abc.pl/dane.xml").openStream());
Niestety wyskakuje komunikat z błędem: "securityException" - "illegarl URL redirect". Aplet się nawet nie inicjializuje, nie jest to wyjątek który obsługuje sam program. Jak widać powyżej, staram się stosować do "Java Applet Same-Origin Policy" i wczytywać pliki tylko z tej samej domeny na której umieszczony jest aplet (plik .jar). Plik .jar jest oznaczony :

http://docs.oracle.com/javase/1.4.2/docs/tooldocs/solaris/jarsigner.html
bawiłem się również z Pack200:
http://docs.oracle.com/javase/1.5.0/docs/tooldocs/share/pack200.html
Jednak nie znalazłem rozwiązania. Dodam, że gdy uruchamiam aplet na serwerze wirtualnym który stawiam za pomoca Apache, aplet działą jak należy (oczywiście wtedy powyższy URL zmieniam na: http://localhost/aplet/dane.xml )

Jestem początkujący w JAVA (bardzo początkujący), proszę o wyrozumiałość i pomoc. Co źle robię? 

Dzięki!

podaję link: http://michal111michal.cba.pl/aplet.html

edytowany 1x, ostatnio: MichalWit
bogdans
Na pewno podpisałeś plik jar? Byłoby łatwiej zdiagnozować gdybyś dał link do strony z apletem. Jeśli plik XML zawiera wrażliwe dane, to podmień go chwilowo na jakiś neutralny plik.
MW
Na pewno podpisałem, co prawda robiłem to pierwszy raz, ale wynikowy tekst brzmi: " The signer certificate will expire within six month.", więc nie mam podstaw, aby sądzić, że zrobiłem to nieprawidłowo. powyższą linijkę kodu zamieniłem na: " Document document = dbuilder.parse(new URL("http://" + getCodeBase().getHost() + "/dane.xml").openStream()); " aby być pewnym, że nie robie błędu w URL, klasa oczywiście dziedziczy po Applet.
bogdans
Moderator
  • Rejestracja:prawie 17 lat
  • Ostatnio:prawie 5 lat
0

Masz chyba błędną konfiguracje przeglądarki, u mnie aplet działa (prawie).

Kopiuj
michal111michal.cba.pl
laduje
laduje
laduje
ileCiasteczek: 5
ileSlow: 5
http://michal111michal.cba.pl/dane.xml
java.io.FileNotFoundException: http://michal111michal.cba.pl/dane.xml
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
	at java.net.URL.openStream(Unknown Source)
	at Okienko.<init>(Okienko.java:98)
	at Snake.init(Snake.java:116)
	at com.sun.deploy.uitoolkit.impl.awt.AWTAppletAdapter.init(Unknown Source)
	at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
MW
  • Rejestracja:około 12 lat
  • Ostatnio:około 12 lat
  • Postów:2
0

Z czego korzystasz? Ja używam Chrome. Wiesz może gdzie mogę ową opcję zmienić?

bogdans
Moderator
  • Rejestracja:prawie 17 lat
  • Ostatnio:prawie 5 lat
1

U mnie w Chromie też działa. Spróbuj zaktualizować Javę, była jakaś dziura i przeglądarki blokowały aplety. Ja mam 1.7.0.17


To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
MW
Ok działa. Faktycznie trzeba było zaktualizować Javę. Wielkie dzięki za pomoc :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.