0

我是 Java 新手。我一直在学习小程序,我一直在尝试制作一个简单的程序,它使用系统类来获取机器的属性。简而言之,我正在尝试输出 Windows 名称、版本和架构。我试着做点什么。当我尝试通过 appletviewer 运行它时,它会运行,但是当我尝试在服务器上运行它时,它会显示一些错误。代码可能有什么问题?请帮忙,因为我是新手。这是小程序的链接。

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);
 }
}

谢谢!

4

2 回答 2

0

您需要设置自定义小程序安全策略。这是一个教程,其中包括设置允许user.home阅读的策略:

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

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

于 2011-11-01T14:20:44.593 回答
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
于 2011-11-01T14:21:05.710 回答