无法在签名小程序中枚举DefaultHttpClient

时间:2013-12-23 13:07:18

标签: java applet

我正在使用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应用程序中在服务器上运行它时它不起作用。为什么会这样?

2 个答案:

答案 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。标志罐。 (自己或使用权威证书)

  1. 创建如下所示的jnlp文件:
  2. Manifest-Version: 1.0
    Application-Name: MyApplet
    Codebase: *
    Application-Library-Allowable-Codebase: *
    Caller-Allowable-Codebase: *
    Permissions: all-permissions
    

    1. 动态添加您的applet,如下所示:
    2. <?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>

      1. 启用Java控制台(以便查看错误,如果有的话)。控制面板 - &gt; Java-&gt;高级 - &gt;启用控制台

      2. 将Java安全级别设置为“中”。 将您的站点添加到例外站点列表(控制面板 - &gt; Java-&gt;安全性)。 (如果您有证书,则不需要)。