2016-04-26 46 views
0

我开始使用一个将取代现有小程序的小程序。之前从未开发过一个applet,我想我会采用流行的HelloWorld示例。我可以通过几种不同的方式运行它:在appletviewer中,如果我将包含HelloWorld类的JAR文件放在与HTML相同的目录(即http://localhost:8080/myApp)中,也可以在浏览器中运行。当我把JAR放在一个名为HelloWorld的目录下面的myApp目录下,并将<applet>标签中的codebase参数指定为HelloWorld时,我也得到了它的工作。但是,当我尝试指定WEB-INF目录(如classeslib)时,我得到一个ClassNotFoundException。我究竟做错了什么?Java小程序ClassNotFoundException与代码库

+0

1)为什么要编写一个小程序?如果是由于老师指定它,请将它们转介给[为什么CS教师应该**停止**教Java applets](http://programmers.blogoverflow.com/2013/05/why-cs-teachers-should -stop教学-java的小应用程序/)。 2)请参阅[不支持Java插件的支持](http://www.gizmodo.com.au/2016/01/rest-in-hell-java-plug-in/)和[转移到无插件Web]( https://blogs.oracle.com/java-platform-group/entry/moving_to_a_plugin_free)。 –

+0

我希望它是为一个类的任务:)这是一个遗留应用程序... –

+0

...但我会调查使用Java Web Start的可能性,而不是(我将使用很多第三方商业软件,所以我必须看看有什么可能) –

回答

1

但是,当我尝试指定WEB-INF目录,如classeslib,我得到一个ClassNotFoundException。我究竟做错了什么?

这些目录仅适用于在JSP和servlet中使用的类/ jar(即服务器需要的东西)。他们内部的资源可供网站访问者使用。在这个意义上,“访问者”是指用户代理(即浏览器)或客户端插件(如Flash或JRE)。

您可以通过将完整的URL粘贴到Web浏览器地址栏中的Jar来确认这一点,并点击“enter”以浏览它。服务器将给出一条消息,说明'禁止'的效果。

WEB-INF是在Java Web应用程序中的文件夹的名称:

也是其扩展WEB-INF info. page见。它用于存储部署信息,如web.xml,所需的库文件和编译后的类文件。 通常无法通过网络访问。任何你想打仗,但不想公开的文件,然后web-inf是你可以保存这些文件的地方。

+0

谢谢,安德鲁。我环顾了其他有关此主题的SO问题,并且我看到WEB-INF文件夹树对applet没有限制。但我想这并非总是如此,因为第一次回答了关于这个主题的问题,我特别提到了将applet jar放在'classes'或'lib'中, –

相关问题