我们有一个在 JDeveloper 11g (11.1.2.4.0) 中编程的 ADF Web 应用程序,它是从一个 10g (10.1.3.5.0) 项目迁移过来的
在应用程序中,有时我们需要调用位于 public_html/applet 文件夹中的 Java Applet。jar 显示在 Application Navigator 中 ViewController 的 Web-Content 选项卡中,就像在 10g 中一样。
小程序标签如下所示:
<applet height="100" width="100"
code="applet.SetupApplet" archive="applet/SSetupApplet.jar">
<param name="debug" value="true"/>
我还尝试使用 Java 部署小程序脚本调用小程序
<trh:script source="http://java.com/js/deployJava.js"></trh:script>
<trh:script>
var attributes = {code:'applet.SetupApplet',
archive:'applet/SSetupApplet.jar'};
var parameters = {} ;
var version = '1.6' ;
deployJava.runApplet(attributes, parameters, version);
</trh:script>
当我导航到具有此标记的 login.jspx 页面时,它会弹出 Java 控制台打开,但实际上并没有运行小程序(或显示允许使用小程序的提示)。相反,小程序显示错误并且应用程序错误显示NullPointerException
;Java 控制台中没有显示错误。我已经仔细检查了路径并且它是正确的(路径不正确,我得到一个ClassNotFoundException
)。在应用程序服务器日志中,我看到以下错误:
<Warning> <Socket> <BEA-000449> <Closing socket as no data read from it on IPADDRESS during the configured idle timeout of 5 secs>
我在applet 文件夹的ADF Faces 上下文之外创建了一个普通的.jsp 文件。使用相同的小程序标签导航到它确实使 Java 小程序在没有套接字错误的情况下运行。10g 中的相同代码可以正常工作。
有什么我想念的吗?