0

我们有一个使用 Java WebStart 部署的应用程序。有一个显示一些 HTML 内容的 JEditorPane。该 HTML 还包含图像。如果服务器因为实际资源被移动而返回 HTTP 3xx 状态代码,则会显示 WebStart 安全对话框。此对话框要求用户确认是否应允许应用程序从某个主机获取数据。

一个非常简单的示例应用程序:

package test;

import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;

public class Main extends JFrame {

public Main() {

    JEditorPane p = new JEditorPane();
    p.setContentType("text/html");
    p.setEditable(false);
    p.setText("<html><img src=\"XXXX\" /></html>");

    add(p);

    setLocationRelativeTo(null);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setSize(500, 500);
    setVisible(true);
}


public static void main(String[] args) {
    SwingUtilities.invokeLater(new Runnable() {

        @Override
        public void run() {
            new Main();
        }
    });
}

}

XXXX -> http://www.hon.ch/HONcode/Seal/HONConduct432264.jpg 安全对话框出现

XXXX -> http://www.uni-due.de/imperia/md/images/cms/ude-logo.png 没有安全对话框出现

JNLP 文件:

<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="6.0+" codebase="." href="xxx.jnlp">
<information>
    <title>xxx</title>
    <vendor>xxx</vendor>
</information>
<security>
    <all-permissions/>
</security>
<update check="always" policy="always" />
<resources>
    <java version="1.7+" java-vm-args="-Xmx150m" />
    <jar href="xxx-signed.jar" main="true" />
</resources>
<application-desc main-class="test.Main">
</application-desc>
</jnlp>

有没有一种简单的方法可以禁用这些安全对话框?如果不是,我们必须通过我们的应用程序后端获取图像。

4

0 回答 0