我正在使用Sign Applet上传/下载文件。但我坚持一点,请帮助我:
这是我的代码:
1 MultipartEntity mEntity = new MultipartEntity();
2 mEntity.addPart("Filedata", fileBody);
3 HttpPost httpPost = new HttpPost(uri.toString());
4 httpPost.setEntity(mEntity);
5 DefaultHttpClient client = new DefaultHttpClient(); //program stuck here...
ProxySelectorRoutePlanner routePlanner = new ProxySelectorRoutePlanner(
client.getConnectionManager().getSchemeRegistry(),
ProxySelector.getDefault());
client.setRoutePlanner(routePlanner);
response = client.execute(httpPost);
第5行程序卡住了。它不会抛出任何异常。我无法实例化DefaultHttpClient。但是当我运行它“在JavaApplication上运行”时它运行良好,当我创建一个jar并签名并通过集成在Web应用程序中在服务器上运行它时它不起作用。为什么会这样?
答案 0 :(得分:0)
你可以从控制台发布堆栈跟踪吗?你有关于签名小程序的弹出窗口吗?它是自签名还是您使用了一些RSA签名证书?
答案 1 :(得分:0)
如果不查看代码,很难给出确切的答案。它还取决于环境设置,Java版本,IE等。
一般来说,必须做到以下几点:
1.修改applet jar清单文件,如下所示:
/usr/bin/ld.gold: fatal error: /root/working/node-v5.10.1/out/Release/mksnapshot: Invalid argument
collect2: error: ld returned 1 exit status
2。标志罐。 (自己或使用权威证书)
Manifest-Version: 1.0
Application-Name: MyApplet
Codebase: *
Application-Library-Allowable-Codebase: *
Caller-Allowable-Codebase: *
Permissions: all-permissions
<?xml version="1.0" encoding="UTF-8"?>
<jnlp href="applet/applet.jnlp">
<information>
<title>myapplet</title>
<vendor>mycompany</vendor>
</information>
<resources>
<jar href="applet/myapplet.jar" download="eager" main="true" />
</resources>
<applet-desc
name="myapplet"
main-class="MyApplet"
width="1"
height="1">
</applet-desc>
<security>
<all-permissions/>
</security>
<update check="background"/>
</jnlp>
启用Java控制台(以便查看错误,如果有的话)。控制面板 - &gt; Java-&gt;高级 - &gt;启用控制台
将Java安全级别设置为“中”。 将您的站点添加到例外站点列表(控制面板 - &gt; Java-&gt;安全性)。 (如果您有证书,则不需要)。