Aplet - pobieranie danych z innego serwera

0

Witam,

Czy istnieje możliwośc pobrania danych (plik xml, itd) z innego serwera niż jest umieszczony aplet?
Napisałem prosty kod dla testów, niestety nie działa:

import java.awt.*;
import javax.swing.*;
import java.io.*;
import java.net.*;
import java.util.Scanner;


public class Main extends JApplet
{
    public void start()
    {
        Container content = getContentPane();
        String url = getParameter("url");

        try
        {
            URLConnection urlc = new URL(url).openConnection();

            BufferedReader br = new BufferedReader(new InputStreamReader(urlc.getInputStream()));
            String line = "";
            String line2 = "";

            while((line = br.readLine()) != null)
            {
                line2 += line;
            }

            JLabel etykieta = new JLabel(line2);
            content.add(etykieta);
        }
        catch(IOException e)
        {
            e.printStackTrace();
        }
    }
}

Proszę o ewentualne wskazówki jesli to mozliwe,
pozdrawiam

0

Napisz co nie dziala, jaki wyjatek.
Zakladam ze cos z SecurityException - poszukaj na forum lub ogolnie o podpisywaniu appletow.

0

Trzeba cos pogrzebac przy ustawieniach bezpieczenstwa, bo chyba normalnie nie jest to mozliwe.

0

Oto błąd który wyskakuje:

Java Plug-in 1.6.0_20
Using JRE version 1.6.0_20-b02 Java HotSpot(TM) Client VM
User home directory = C:\Users\Marek
----------------------------------------------------
c:   clear console window
f:   finalize objects on finalization queue
g:   garbage collect
h:   display this help message
l:   dump classloader list
m:   print memory usage
o:   trigger logging
q:   hide console
r:   reload policy configuration
s:   dump system and deployment properties
t:   dump thread list
v:   dump thread stack
x:   clear classloader cache
0-5: set trace level to <n>
----------------------------------------------------


java.security.AccessControlException: access denied (java.net.SocketPermission nbp.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 Main.start(Main.java:25)
	at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Exception: java.security.AccessControlException: access denied (java.net.SocketPermission nbp.pl:80 connect,resolve)
0

Już Ci @::. napisał, podpisz aplet. Na forum jest kilkanaście (kilkadziesiąt ?) postów na temat podpisywania apletów.

0

Ano podpisz - jak uzywasz netbeans to wlącz sobie web starta i tam daj self sign - do testów oczywiście.

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