当前位置: 首页 > 面试题库 >

从JavaScript调用后,Applet URLConnection.connect失败

于鸿博
2023-03-14
问题内容

我有一个带有Java Applet的网站,该Applet需要连接到我的服务器。这在JApplets @Override
init()中有效,但不适用于javascript调用的我自己的函数中。

final URL url = new URL(SERVER_URL + action);
System.out.println("url:" + url);
System.out.println("postString: " + postString);
final HttpURLConnection connection = (HttpURLConnection) url.openConnection();
if(!postString.isEmpty()) {
    connection.setRequestMethod("POST");
    connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
    connection.setRequestProperty("Content-Length", Integer.toString(postString.getBytes().length));
    connection.setUseCaches(false);
    connection.setDoInput(true);
    connection.setDoOutput(true);

    System.out.println("connecting...");
    connection.connect(); // same with connection.getOutputStream();
    System.out.println("connected");
    ....

网站:

<a href="javascript: document.applet.update();" title="update from server">Update</a>
<applet id="applet" archive="/public/Antucation-0.1.0.jar?random=3765332307555812156" code="de.antucation.controller.Controller.class" width="100%" height="800px">
<param name="colonyId" value="1">
</applet>

输出:

url:http://localhost:9000/applet/showCode
postString: colonyId=1
connecting...

我尝试通过System.out调用解决它,但是那里也没有任何反应。但是,这绝对可以:

@Override
public void init() {
    update();
}

哦,小程序当然也来自 http://localhost:9000/

我该如何解决或解决它?


问题答案:

尝试以下方法:

public void callFromJavaScript(final String param) {
    AccessController.doPrivileged( new PrivilegedAction<Void>() {
        public Void run() {
            // call code to make the connection..
            return null;
        }
    });
}


 类似资料:
  • 问题内容: 我有一系列XML文件,这些文件引用XSLT文件以在浏览器中呈现为HTML。其中一些链接会在常规页面上执行AJAX调用以请求HTML,并将其插入页面上已有的DIV中。 我想做的是从该页面调用链接的Web服务,然后接收XML,然后以与原始页面相同的方式将其处理为HTML,然后通过AJAX插入当前页面的DIV中。 我的问题是:我将如何获取Javascript下载的XML并使用Javascri

  • 问题内容: 我目前正在使用基于JavaFX的应用程序,用户可以在其中与世界地图上标记的地点进行交互。为此,我使用的方法类似于[http://captaincasa.blogspot.de/2014/01/javafx- and-osm-openstreetmap.html(1 ])中描述的方法。 但是,我面临着一个难以调试的问题,该问题与使用WebEngine的setMember()方法注入到嵌入

  • 问题内容: 我正在尝试使用MVC设计模式创建一个Web应用程序。对于GUI部分,我想使用JavaScript。并用于控制器Java Servlet。 现在,我从未真正使用过JavaScript,因此很难弄清楚如何从JavaScript调用Java Servlet,以及如何从Servlet获取响应。 有人可以帮我吗? 问题答案: 因此,您想将Ajax调用激发到servlet吗?为此,您需要JavaS

  • 我正在中运行下面的脚本(测试用例)。第一次启动GroovyConsole时,它可以正常运行。它打开FF,运行场景,然后在退出浏览器时关闭FF。 但是,当我再次从相同的GroovyConsole运行相同的脚本时,我会得到。它首先调用方法,然后在调用测试用例中的方法时,调用······ GEB:0.9.0 Groovy:2.0.5 FF:14.0.1 JDK:1.6.0_37 64位 gebconfi

  • 问题内容: 我创建了一个C ++类,应该通过以下方式调用:http : //docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/invocation.html#wp9502。 我没有使其正常工作,所以我遵循了:http : //www.coderanch.com/t/525082/CPP/create-JVM-native-code- c

  • 根据文件,结构如下: char*GR_NAME 组的名称。 /tmp#java-cp.:jna-4.5.1.jar测试root Hello,线程“main”java.lang.IllegalArgumentException:在com.sun.jna.pointer.ReadArray(pointer.java:538)在com.sun.jna.pointer.GetValue(pointer.j