当前位置: 技术问答>java相关
Applet初级问题
来源: 互联网 发布时间:2015-01-14
本文导语: 我想在自己的网页中抓取某个URL的数据,我试了试Applet,结果出现如下错误: java.security.AccessControlException: access denied (java.net.SocketPermission www.sohu.com resolve) 测试代码如下: //--------------------------------------------------...
我想在自己的网页中抓取某个URL的数据,我试了试Applet,结果出现如下错误:
java.security.AccessControlException: access denied (java.net.SocketPermission www.sohu.com resolve)
测试代码如下:
//---------------------------------------------------
import java.awt.Graphics;
import java.applet.Applet;
import java.net.*;
import java.io.*;
public class Applet1 extends Applet
{
String ss="";
public void init()
{
try
{
URL u=new URL("http://www.sohu.com/");
BufferedReader in=new BufferedReader(new InputStreamReader(u.openStream()));
String s_line;
while ((s_line=in.readLine())!=null)
{
ss=ss+s_line+"n";
}
}
catch (Exception ex)
{
ss=""+ex;
}
} //end init()
public void paint(Graphics g)
{
g.drawString(ss,20,200);
}
}
//---------------------------------------------------
但是我在JBuilder中通过向导生成的工程中加入了上面的抓数据那部分代码,结果却没问题,是不是需要什么设置才行?
如果在本地调试好了,放到web上会不会有问题,我听说由于安全性方面的考虑,Applet受到很大限制,不知能不能达到我的目的,如果不行,怎么实现?
我是初学者,只用过Application,没用过Applet,请大家多多指教
java.security.AccessControlException: access denied (java.net.SocketPermission www.sohu.com resolve)
测试代码如下:
//---------------------------------------------------
import java.awt.Graphics;
import java.applet.Applet;
import java.net.*;
import java.io.*;
public class Applet1 extends Applet
{
String ss="";
public void init()
{
try
{
URL u=new URL("http://www.sohu.com/");
BufferedReader in=new BufferedReader(new InputStreamReader(u.openStream()));
String s_line;
while ((s_line=in.readLine())!=null)
{
ss=ss+s_line+"n";
}
}
catch (Exception ex)
{
ss=""+ex;
}
} //end init()
public void paint(Graphics g)
{
g.drawString(ss,20,200);
}
}
//---------------------------------------------------
但是我在JBuilder中通过向导生成的工程中加入了上面的抓数据那部分代码,结果却没问题,是不是需要什么设置才行?
如果在本地调试好了,放到web上会不会有问题,我听说由于安全性方面的考虑,Applet受到很大限制,不知能不能达到我的目的,如果不行,怎么实现?
我是初学者,只用过Application,没用过Applet,请大家多多指教
|
JBuilder的安全限制比appletviewer的少,所以很多时候在JB里可以运行的东西挂在网页上不行。象你所写的那样是行不通的,不能连接除本机以外的机器,除非是Application。
|
Applet只能与它所在的Web Server建立TCP连接。
|
http://www.csdn.net/expert/topic/171/171718.shtm