带存档的Ruby路径和applet



我正在尝试使用java applet(客户端)与ruby。当我使用localhost作为服务器运行它时,我在本地html文件中使用的声明不起作用。我看到了对.class文件的路由请求(只有一个jar),并且相对路径没有得到正确的路径。我把jar放到/public/lib中。浏览器显示localhost/publication/new作为URL。

本地html文件中的工作声明:

  <object id="applet" height=100 width=100 ><br/>
  <param name="code" value="Ciphermancer.Client.ClientApplet.class"/><br/>
  <param name="archive" value="public/lib/clientEncryption.jar" /><br/>
  <p>fails</p><br/>
  <object><br/>

xxx.html.erb文件中的声明:

  <object id="applet" height=100 width=500 type="application/x-java-applet;version=1.4.2">
  <param name="code" value="Ciphermancer.Client.ClientApplet.class"/>
  <param name="archive" value="clientEncryption.jar" />
  <p>fails</p>
  </object>

我在服务器上看到以下路由错误:开始GET "/publications/Ciphermancer/Client/ClientApplet/class.class" for 127.0.0.1…

将code参数中的".class"去掉,并添加".. "的相对路径/public/lib"导致:Started GET "/public/lib/Ciphermancer/Client/ClientApplet.class" for 127.0.0.1…java插件管理器的错误是:class not found "…public.lib.Ciphermancer.Client.ClientApplet"

在标签中添加'src="./public/lib/clientEncryption.jar"'可以正确地请求服务器,"/public/lib/clientEncryption.jar",但仍然会导致路由错误。在任何情况下,我不知道如果jar将被下载后使用。服务器显示了4次获取jar的尝试,然后是2次获取类文件的尝试。

似乎可以归结为两个问题:

  1. 允许下载jar的路由声明
  2. 一个路由声明,以避免类文件上的路由错误(不需要找到)

在macbook上运行jruby 1.7.3, java JRE 1.7.0

经过大量的寻找和尝试之后,我找到了一个解决方案,使用如上所述,但以'/'(绝对路径)开始存档路径:

 <object id="applet" height=100 width=500 type="application/x-java-applet;version=1.4.2">
<param name="code" value="Ciphermancer.Client.ClientApplet.class"/>
<param name="archive" value="/clientEncryption.jar" />
<p>fails</p>
</object>

jar放在/public中。在发现link_to_image如何基于格式工作以及图像资源放置的位置之后,它变得很简单。

已经有一些关于这个问题的讨论:
http://www.ruby-forum.com/topic/189022
http://www.ruby-forum.com/topic/154767
和其他

最新更新