java - 在 Java Web 应用程序中加载 Applet 时出现 ClassNotFoundException

标签 java jsp applet classnotfoundexception

我正在尝试使用一个非常简单的小程序部署Java Web应用程序(Spring、Hibernate、Maven、Tomcat、WinXp),但是当我使用这个小程序打开jsp页面时,我看到ClassNotFountException错误。

我的项目结构(已部署):

myApp     
|--META-INF
|--WEB-INF
   |--classses
      |--ru
         |--mydomain
            |--applet
               |--FileChooserApplet.class
   |--views
      |--main.jsp
      |--index.html
|--resources

FileChooserApplet.class:

package ru.mydomain.applet;

import java.applet.Applet;

public class FileChooserApplet extends Applet {

    @Override
    public void paint(java.awt.Graphics g) {
        g.drawString("Weather is good!", 70, 70);
    }
}

ma​​in.jsp:

...
<body>
   <APPLET code="ru.mydomain.applet.FileChooserApplet.class"
           codebase="../classes" width=350 height=200></APPLET>
...
</body>
..

我尝试将代码库属性更改为:

  • “类(class)”
  • “/类”
  • “”
  • 删除该属性

但是, 如果我将相同的小程序代码添加到 index.html 并双击此文件(浏览器中的 URL 以 file:///C:/projects/myApp/target/myApp 开头/...) 然后小程序就可以工作了。

最佳答案

据我所知,小程序将无法访问 WEB-INF/classes 中的类文件。这些类只能由服务器端资源(例如 servlet)访问(而不是可下载/静态内容)。

您可以将小程序工作所需的所有类打包成jar,并将JAR 文件放在views 文件夹中。您的小程序标签将如下所示

<APPLET code="ru.mydomain.applet.FileChooserApplet.class" 
        archive="mynewjar.jar"
        width=350 height=200>
</APPLET>

单个 JAR 文件是一种更简洁的部署方式。

关于java - 在 Java Web 应用程序中加载 Applet 时出现 ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17860953/

相关文章:

java - 将 Mockito 模拟注入(inject)到通过工厂方法返回的 bean 中

jsp - 我如何知道通过 JSP 将哪行插入到 Firebird 数据库中

Java 卡转换器 : unsupported class file format of version 50. 0

java - 检测 Applet 上下文(我在 applet 中吗?)

java - 无法在 Tomcat 上运行 webapp,错误 51,尽管 java -version 是正确的,Mac OS X

java - 多态性中的初始化 block

java - PrintWriter 是否实现了 HTTPServletResponse

java - JSP 页面与标签输出分离

java - 在 Applet 中动态地将字符串从非主线程更新为主线程

java - 在 Ionic 项目中使用相机而不使用 cordova 插件?