设置可信参数和安全属性
您可以在 RIA 的 Java 网络启动协议(JNLP)文件中为富 Internet 应用程序(RIA)设置某些 Java 虚拟机参数和安全属性。对于 Servlets,还可以在<applet>
标签的java_arguments
参数中设置参数。尽管有一组 预定义的安全属性,但是您也可以通过在属性名称前添加“ jnlp.
”或“ javaws.
”来定义新的安全属性。可以使用System.getProperty
方法在 RIA 中检索属性。
考虑属性和参数演示 Servlets。在 Servlets 的 JNLP 文件appletpropsargs.jnlp中设置了以下 Java 虚拟机参数和属性。
-
-Xmx
–等于“ 256M”的安全参数集 -
sun.java2d.noddraw
–预定义的安全属性设置为“ true” -
jnlp.myProperty
–用户定义的安全属性集等于“用户定义的属性”
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="" href="">
<information>
<title>Properties and Arguments Demo Applet</title>
<vendor>Dynamic Team</vendor>
</information>
<resources>
<!-- Application Resources -->
<j2se version="1.6+"
href="http://java.sun.com/products/autodl/j2se"
<!-- secure java vm argument -->
java-vm-args="-Xmx256M"/>
<jar href="applet_PropertiesAndVMArgs.jar"
main="true" />
<!-- secure properties -->
<property name="sun.java2d.noddraw"
value="true"/>
<property name="jnlp.myProperty"
value="a user-defined property"/>
</resources>
<applet-desc
name="Properties and Arguments Demo Applet"
main-class="PropertiesArgsDemoApplet"
width="800"
height="50">
</applet-desc>
<update check="background"/>
</jnlp>
PropertiesArgsDemoApplet类使用System.getProperty
方法来检索java.version
属性和 JNLP 文件中设置的其他属性。 PropertiesArgsDemoApplet
类还显示属性。
import javax.swing.JApplet;
import javax.swing.SwingUtilities;
import javax.swing.JLabel;
public class PropertiesArgsDemoApplet extends JApplet {
public void init() {
final String javaVersion = System.getProperty("java.version");
final String swing2dNoDrawProperty = System.getProperty("sun.java2d.noddraw");
final String jnlpMyProperty = System.getProperty("jnlp.myProperty");
try {
SwingUtilities.invokeAndWait(new Runnable() {
public void run() {
createGUI(javaVersion, swing2dNoDrawProperty, jnlpMyProperty);
}
});
} catch (Exception e) {
System.err.println("createGUI didn't successfully complete");
}
}
private void createGUI(String javaVersion, String swing2dNoDrawProperty, String jnlpMyProperty) {
String text = "Properties: java.version = " + javaVersion +
", sun.java2d.noddraw = " + swing2dNoDrawProperty +
", jnlp.myProperty = " + jnlpMyProperty;
JLabel lbl = new JLabel(text);
add(lbl);
}
}
接下来显示属性和参数演示 Servlets。您还可以看到在AppletPage.html中运行的 Servlets。
A browser with JavaScript enabled is required for this page to operate properly\.
Note:
如果看不到 Servlets 正在运行,则需要至少安装Java SE 开发套件(JDK)6 更新 10版本。
Note:
如果看不到示例正在运行,则可能需要在浏览器中启用 JavaScript 解释器,以便 Deployment Toolkit 脚本能够正常运行。
下载源代码用于“属性和参数演示 Servlets”示例,以进一步进行实验。
有关 RIA 可以访问的完整系统属性集,请参见System Properties。