---
title: "Problem med Applet och säkerhet"
type: "forum-thread"
url: "https://www.webforum.nu/amne/java/42112-problem-med-applet-och-säkerhet"
topic: "Java"
topic_url: "https://www.webforum.nu/amne/java"
author: "front"
published: "2002-04-20T14:17:27.000Z"
updated: "2002-04-22T13:59:55.000Z"
replies: 1
views: 250
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/java/42112-problem-med-applet-och-säkerhet"
---

# Problem med Applet och säkerhet

## #1 — front, 2002-04-20T14:17Z

Tjena

Jag håller på att göra en liten applet som ska kunna visa en bild i en panel.
Eftersom det tyvär inte går att skriva *panel.add(Image bild);*, så gjorde jag en egen klass som skulle visa en bild och kunna läggas till i en Panel.

PanelImage.java

```
import java.awt.*;

public class PanelImage extends Canvas {

  private String url1 = "C:\\Program\\jakarta-tomcat-4.0.1\\webapps\\ROOT\\online\\img\\";
  private String url2 = "http://localhost/online/img/";
  private Image bild;
  private Toolkit tk = Toolkit.getDefaultToolkit();
  public PanelImage(String s) {
    setImage(s);
  }
  public void setImage(String s) {
    bild = tk.getImage(url1 + s + ".gif");
  }
  public void paint(Graphics g) {
    g.drawImage(bild,5,5,this);
  }
}
```

Om jag tittar på sidan genom att skriva in adressen till dokumentet som startar appleten på hårddisken (C:\\Program\\jakarta-tomcat-4.0.1\\webapps\\ROOT\\online\\index.html) så fungerar koden i PanelImage.java (bilden som ska visas syns), förutsatt att jag använder url1 i PanelImage.java.
Om jag däremot ska titta på sidan genom tomcat (http://localhost/online/index.html) och använder url2 så syns inte bilden!

Jag får följande felmeddelande:

> java.security.AccessControlException: access denied (java.io.FilePermission http://localhost/online/img/baksida.gif read)
> 	at java.security.AccessControlContext.checkPermission(AccessControlContext.java:270)
> 	at java.security.AccessController.checkPermission(AccessController.java:401)
> 	at java.lang.SecurityManager.checkPermission(SecurityManager.java:542)
> 	at java.lang.SecurityManager.checkRead(SecurityManager.java:887)
> 	at sun.awt.SunToolkit.getImageFromHash(SunToolkit.java:408)
> 	at sun.awt.SunToolkit.getImage(SunToolkit.java:422)
> 	at PanelImage.setImage(PanelImage.java:13)
> 	at PanelImage.\<init\>(PanelImage.java:10)
> 	at KeffJavaWindow.\<init\>(KeffJavaWindow.java:32)
> 	at KeffJavaKlient.action(KeffJavaKlient.java:17)
> 	at java.awt.Component.handleEvent(Component.java:5262)
> 	at java.awt.Component.postEvent(Component.java:3806)
> 	at java.awt.Component.postEvent(Component.java:3816)
> 	at java.awt.Component.dispatchEventImpl(Component.java:3542)
> 	at java.awt.Component.dispatchEvent(Component.java:3367)
> 	at java.awt.EventQueue.dispatchEvent(EventQueue.java:445)
> 	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:190)
> 	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:144)
> 	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
> 	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:130)
> 	at java.awt.EventDispatchThread.run(EventDispatchThread.java:98)

Varför får jag inte se bilden? Den ligger ju på samma server, och då ska man ju vad jag förstår få ladda ner filer.
Jag har gjort en applet som visar en bild genom paint() i klassen som "extends" Applet, och då fungerar det att visa bilden.

Permalänk: https://www.webforum.nu/p/42112

## #2 — front, 2002-04-22T13:59Z

Fick det att funka nu.

Lösningen var att man skulle använda sig av getImage(URL) istället för getImage(String). :OO

Permalänk: https://www.webforum.nu/p/655432

---

Tråden på webben: https://www.webforum.nu/amne/java/42112-problem-med-applet-och-säkerhet
