通过JSP从WEB-INF / classes加载Java小程序

时间:2010-05-01 12:51:18

标签: jsp applet loading

我从WEB-INF / classes目录加载applet时遇到了问题。 applet的主要类(MainApplet.class)在包aaa中,但是在加载时我得到了异常 抛出java.lang.ClassNotFoundException。我哪里错了?我的jsp在Web Pages目录中。

< jsp:plugin type="applet" code="aaa/MainApplet.class" jreversion="1.6" width="700" height="500" >

提前感谢您的回复!

2 个答案:

答案 0 :(得分:2)

而是将Applet特定的类打包到JAR文件中,并将此JAR文件放在 public webcontent中。 /WEB-INF文件夹无法公开访问。只有这样,客户端才能立即将包含所有类的JAR文件下载到本地环境中并执行applet。我还想使用遗留<object>上方的<jsp:plugin>标记。 E.g:

<object type="application/x-java-applet" width="300" height="200">
    <param name="archive" value="AppletJAR.jar">
    <param name="code" value="com.example.AppletClass">
</object>

有关更详细的示例,请参阅this Sun article

答案 1 :(得分:1)

让我们考虑一下如何运作。 applet在浏览器中执行。也就是说,浏览器需要以某种方式下载您的类文件。 Web应用程序的类路径中的类通常不能被浏览器访问;浏览器需要这些类生成的HTML,而不是类本身。

底线:Applet类和Web应用程序类在不同的机器上执行,因此位于不同的类路径中。

要解决您的问题,请阅读jsp:plugin的文档,尤其是codebase属性。