在java中使用系统属性时出错

时间:2011-11-01 14:13:48

标签: java properties applet system appletviewer

我是java的新手。我一直在学习applet,而且我一直在努力创建一个使用系统类来获取机器属性的简单程序。 简单来说,我正在尝试输出Windows名称,版本和架构。 我尝试过做点什么。当我尝试通过appletviewer运行它时,它会运行,但是当我尝试在服务器上运行它时会显示一些错误。代码可能出错?请帮助,因为我是新手。 下面是applet的链接。

http://ashish.club-tec.co.il/sysf.html

并且代码

import java.applet.*;
import java.awt.*;


public class sysf extends Applet
{
Label l1,l2;
String p;
public void init()
{
    l1=new Label("Operating system is ");
    l2=new Label("");
    add(l2);
    add("Center",l1);

    p=System.getProperty("user.name");
    l2.setText("Hi "+p+",your system info is as follows");
    p= System.getProperty("os.name");
    l1.setText(l1.getText()+p);
    p=System.getProperty("os.version");
    p=" version "+p+" ";
    l1.setText(l1.getText()+p);
    p=System.getProperty("os.arch");
    p=" and architecture is "+p+" ";
    l1.setText(l1.getText()+p);
 }
}

谢谢!

2 个答案:

答案 0 :(得分:0)

您需要设置自定义小程序安全策略。这是一个涵盖其中的教程,包括设置策略以启用user.home

http://geosim.cs.vt.edu/Java/MigModel/help/Policies.html

这种痛苦主要针对Applets。出于安全原因,Java对Applet的限制非常严格。如果您想学习Java,更好的方法是学习桌面JSE或开始使用servlet。

答案 1 :(得分:0)

错误是您的Applet不包含此类。

在Applet的打包中,您要么忘记包含此类,要么不更新指向Applet的Web链接以引用此类。

顺便说一下,将课程资本化通常很好。

错误输出如下

load: class sysf.class not found.
java.lang.ClassNotFoundException: sysf.class
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Exception: java.lang.ClassNotFoundException: sysf.class