2010-12-02 76 views
1

這是我的jsp文件正文標記。在網頁上運行小程序時未發現異常和IO異常

<body> 
    <jsp:plugin type="applet" code="SApplet.class" 
     codebase="C:\Program Files\apache-tomcat-6.0.18\webapps\testweb\WEB-INF\classes" 
     width="400" 
     height="300" jreversion="1.6"></jsp:plugin> 


    </body> 

我想運行我的Web應用程序的小程序,但我得到以下錯誤,將一個小window.I取不上去控制檯的任何錯誤。

Java Plug-in 1.6.0_20 
Using JRE version 1.6.0_20-b02 Java HotSpot(TM) Client VM 
User home directory = C:\Documents and Settings\Sandy 
---------------------------------------------------- 
c: clear console window 
f: finalize objects on finalization queue 
g: garbage collect 
h: display this help message 
l: dump classloader list 
m: print memory usage 
o: trigger logging 
q: hide console 
r: reload policy configuration 
s: dump system and deployment properties 
t: dump thread list 
v: dump thread stack 
x: clear classloader cache 
0-5: set trace level to <n> 
---------------------------------------------------- 
load: class SApplet.class not found. 
java.lang.ClassNotFoundException: SApplet.class 
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source) 
at java.lang.ClassLoader.loadClass(Unknown Source) 
at java.lang.ClassLoader.loadClass(Unknown Source) 
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source) 
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source) 
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) 
at java.lang.Thread.run(Unknown Source) 
Caused by: java.io.IOException: open HTTP connection failed:http://localhost:8080/testweb/SApplet/class.class 
at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source) 
at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source) 
at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source) 
at java.security.AccessController.doPrivileged(Native Method) 
... 7 more 
Exception: java.lang.ClassNotFoundException: SApplet.class 
load: class SApplet.class not found. 
java.lang.ClassNotFoundException: SApplet.class 
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source) 
at java.lang.ClassLoader.loadClass(Unknown Source) 
at java.lang.ClassLoader.loadClass(Unknown Source) 
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source) 
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source) 
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) 
at java.lang.Thread.run(Unknown Source) 
Caused by: java.io.IOException: open HTTP connection failed:http://localhost:8080/testweb/SApplet/class.class 
at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source) 
at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source) 
at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source) 
at java.security.AccessController.doPrivileged(Native Method) 
... 7 more 
Exception: java.lang.ClassNotFoundException: SApplet.class 

回答

1

您的代碼庫寫錯了。它應該是一個相對的網絡路徑。

你的情況應該是像testweb/applet-classes。但是把所有的applet類放在那裏,而不是在WEB-INF下。 WEB-INF是一個應該存儲在服務器端運行的類的地方。該文件夾可能無法通過網絡訪問。 applet類是由運行在瀏覽器中的JVM下載的,所以WEB-INF可能不可見。

更好的方法是甚至將你的applet類打包成jar文件,並把它放在你的應用程序的根目錄下。在這種情況下,您的代碼庫將如下所示:codebase='myapplet.jar'

+0

我在C:\ Program Files \ apache-tomcat-6.0.18 \ webapps \ testweb – chetan 2010-12-02 12:52:27