applet的安全性要求不能建立另一个网络连接导致:java.security.AccessControlException: access denied (java.net.SocketPermission www.csunion.com resolve)建议写程序时不要省掉catch后面的语句,不方便查错,可以加上:
catch(Exception e){ e.printStackTrace();}

解决方案 »

  1.   

    java.security.AccessControlException: access denied!看来是安全方面的原因,请问怎么解决呀!
    偶刚接触JAVA网络编程,就碰上了这个问题!
    这段代码有哪位运行通过了吗?
      

  2.   

    把you.jpg放在与applet同一目录下,在本地使用appletviewer测试通过:
    import java.applet.*;
    import java.net.*;
    import java.awt.*;public class GetImage extends Applet{
      Image image = null;
      public void init() {
        String url = "file:you.jpg";
        try {
          image = getImage(new URL(url));
          System.out.println("sdfsf" + image);
        } catch(Exception e){ e.printStackTrace();System.exit(0);}
    }public void paint(Graphics g) {
      g.drawImage(image, 0, 0,this);
      }
    }
      

  3.   

    谢谢光速兔子的热心解答!
    但通过URL怎么不行呢?难道想存取网站的图片必须加上用户名和密码什么的?
      

  4.   

    办法倒是有一个——改变(追加)appletviewer的安全策略文件(赋予相应的权限),不过20分可不够哦~~~
    具体如下:
    1、用记事本或者jdk自带的policytool.exe工具生成一个新的my.polocy文件,放在c:\j2sdk1.4.2_01\jre\lib\security下(路径根据你的情况变化),内容为(引号中的路径根据你的情况做相应调整):
    grant codeBase "file:c:/myproj/*" {
      permission java.net.SocketPermission "www.csunion.com:80", "resolve";
    };
    也就是赋予你的GetImage.class文件所在目录访问www.csunion.com:80端口的权限。
    2、运行appletviewer时使用如下参数
    appletviewer -J-Djava.security.policy=c:\j2sdk1.4.2_01\jre\lib\security\my.policy Noname2.html
      

  5.   

    另外,上面说的那个policy文件不一定放在上述目录中,你可以随便放,丹药保证参数里的路径能找到它。