Servlet-Applet通信

时间:2013-10-02 14:02:32

标签: java servlets applet

我在我的应用程序中成功签名并部署了一个applet。

我有一个index.html,如果我拨打/myApp

之类的电话,则会正确加载小程序

但是,如果我尝试从servlet转发到index.html,我会收到ClassNotFoundException

以下是加载applet的代码。所有这些jar都在WebContent文件夹中。

的index.html

<applet code="com.griaule.grFingerSample.FormMain"
  archive="fingerAssinado.jar,SignedGrFingerJavaAppletSampleAssinado.jar,postgresql-8.4-701.jdbc4Assinado.jar"
</applet>

我做错了什么?

1 个答案:

答案 0 :(得分:1)

HTML archive元素的<applet>属性中的任何相对路径都与当前请求URL(客户端在浏览器的地址栏中看到的URL)相关,而不是相对于物理服务器的磁盘文件系统位置负责生成HTML输出的JSP文件,正如许多初学者错误地认为的那样。

因此,如果您将相对路径修复为相对于当前请求URL正确,那么它应该可以正常工作。如有必要,您可以使用${pageContext.request.contextPath}动态打印当前上下文路径。

<c:set var="root" value="${pageContext.request.contextPath}" />
<applet ... archive="${root}/fingerAssinado.jar, ..." />

这样你可以使它相对于域根目录。

另见: