views:

36

answers:

2

Hi SO,

I am building a Java Applet that is running local that needs to access a couple of images on my webserver. How can i load images from a given webserver in java?

+1  A: 

Use Image i = getAppletContext().getImage(new URL("...."));. Note that per the default Applet security policy, you will be able to access only URLs that reside on the same host as the applet.

Tassos Bassoukos
That is my problem, while coding and testing i need to be able to fetch images from my real server. How can I edit the security policy?
Lars Hansen
Lars: You might want to add this extra clarification to your question, too.
Sami Koivu
A: 

If you wish to access images on another server, you need to edit the java.policy of the JRE that your browser java plug-in is using. For example, on a windows machine with Java 6, this will normally be:

%PROGRAM FILES%\Java\jre6\lib\security\java.policy

For example, to give socket permissions for connecting to an image server, to applets originating from localhost, you'd add something like this to the java policy file:

grant codeBase "http://localhost/-" {
      permission java.net.SocketPermission "imgserver.company.com", "connect, resolve";
};

Where imgserver.company.com is the server your applet needs to connect to in order to fetch the images.

DISCLAIMER: Careful when editing the java policy for your browser, because potentially you could be giving more permissions to not just your own applet, but to other, malicious applets.

Sami Koivu