Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 关于JSP和签名小程序_Java_Jsp_Applet_Signed Applet - Fatal编程技术网

Java 关于JSP和签名小程序

Java 关于JSP和签名小程序,java,jsp,applet,signed-applet,Java,Jsp,Applet,Signed Applet,以下是JSP页面小程序标记: <applet code="localfile" width=150 height=150> <param name="archive" value="localfile.jar"> </applet> 启动jsp页面时,出现以下错误: Reading certificates from 1580 http://localhost:8080/CMMAC/localfile.jar|/home/elie-m/.java/dep

以下是JSP页面小程序标记:

<applet code="localfile" width=150 height=150>
  <param name="archive" value="localfile.jar">
</applet>
启动jsp页面时,出现以下错误:

Reading certificates from 1580 http://localhost:8080/CMMAC/localfile.jar|/home/elie-m/.java/deployment/cache/6.0/18/57db752-3f3326e8.idx   
java.lang.NoClassDefFoundError:  localfile (wrong name: locf/localfile)     at 
java.lang.ClassLoader.defineClass1(Native Method)       at 
java.lang.ClassLoader.defineClass(ClassLoader.java:621)     at 
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)     at 
java.net.URLClassLoader.defineClass(URLClassLoader.java:260)    at 
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at  
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at
java.lang.reflect.Method.invoke(Method.java:597)    at          
sun.plugin2.applet.Plugin2ClassLoader.defineClassHelper(Plugin2ClassLoader.java:694)  
        at  
sun.plugin2.applet.Plugin2ClassLoader.access$400(Plugin2ClassLoader.java:63)    at 
sun.plugin2.applet.Plugin2ClassLoader$2.run(Plugin2ClassLoader.java:671)    at 
java.security.AccessController.doPrivileged(Native Method)      at     
sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(Plugin2ClassLoader.java:633)      at
sun.plugin2.applet.Applet2ClassLoader.findClass(Applet2ClassLoader.java:100)    at
java.lang.ClassLoader.loadClass(ClassLoader.java:307)       at 
java.lang.ClassLoader.loadClass(ClassLoader.java:252)       at 
sun.plugin2.applet.Plugin2ClassLoader.loadCode(Plugin2ClassLoader.java:433)     at 
sun.plugin2.applet.Plugin2Manager.createApplet(Plugin2Manager.java:2880)    at 
sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Plugin2Manager.java:1397) at
java.lang.Thread.run(Thread.java:619)
Exception:java.lang.NoClassDefFoundError: localfile (wrong name: locf/localfile)
在我接受使用小程序的权限问题后发生此错误

我不知道把.jar和.class文件放在哪里,这样客户机就可以使用applet进行读取了,我甚至无法在两周的搜索中避免这个错误。如果需要,我可以在项目中提供整个目录、文件夹/文件结构。只要问你需要什么,我就把它贴在这里

jar被签名,类被编译,但它似乎找不到我需要运行的applet类。我将jar和类文件放入WEB-INF/classes/locf/和build/WEB/文件夹中。我把它们也放在另一个web文件夹中,和build在同一个目录中


操作系统是linux Ubuntu9.10。

我从未从JSP运行过小程序,但我看到您的
applet
位于名为
locf
的包中。错误
java.lang.NoClassDefFoundError:localfile(错误名称:locf/localfile)
表明JAR应该反映该目录结构。关于这个问题,我希望是这样的:

<applet
  code="locf.localfile"
  archive="localfile.jar"
  width="150" height="150">
</applet>

,例如
LocalFile
我从未从JSP运行过小程序,但我看到您的
applet
位于名为
locf
的包中。错误
java.lang.NoClassDefFoundError:localfile(错误名称:locf/localfile)
表明JAR应该反映该目录结构。关于这个问题,我希望是这样的:

<applet
  code="locf.localfile"
  archive="localfile.jar"
  width="150" height="150">
</applet>

,例如,
LocalFile

您必须将jar放在使用archive参数指定的路径中。或者更改存档参数以匹配小程序jar的宿主位置

从上面的代码来看,applet jar应该位于Web根目录上。如果它不在那里,你只需要调整你的参数指向罐子就可以了

如果希望将归档文件保留为localfile.jar,可以使用codebase参数指定目录路径

这里有一个例子

您的JSP位于此处

<WebRoot>//myJspFolder/myjsp.jsp
//myJspFolder/myjsp.jsp
你的罐子在这里

<WebRoot>//myAppletFolder/localfile.jar
//myAppletFolder/localfile.jar
您的小程序参数将是

 <param name="code" value="locf.localfile.class" />
 <param name="codebase" value="/myAppletFolder/" />
 <param name="archive" value="localfile.jar">

或者不使用codebase参数

 <param name="code" value="locf.localfile.class" />
 <param name="archive" value="/myAppletFolder/localfile.jar">


如果加载多个JAR,则codebase参数非常有用。您可以使用代码库为每个jar提供路径的公共部分。我可以举一个例子,但我不想造成混乱。

您必须将jar放在您用archive参数指定的路径中。或者更改存档参数以匹配小程序jar的宿主位置

从上面的代码来看,applet jar应该位于Web根目录上。如果它不在那里,你只需要调整你的参数指向罐子就可以了

如果希望将归档文件保留为localfile.jar,可以使用codebase参数指定目录路径

这里有一个例子

您的JSP位于此处

<WebRoot>//myJspFolder/myjsp.jsp
//myJspFolder/myjsp.jsp
你的罐子在这里

<WebRoot>//myAppletFolder/localfile.jar
//myAppletFolder/localfile.jar
您的小程序参数将是

 <param name="code" value="locf.localfile.class" />
 <param name="codebase" value="/myAppletFolder/" />
 <param name="archive" value="localfile.jar">

或者不使用codebase参数

 <param name="code" value="locf.localfile.class" />
 <param name="archive" value="/myAppletFolder/localfile.jar">


如果加载多个JAR,则codebase参数非常有用。您可以使用代码库为每个jar提供路径的公共部分。我可以举一个例子,但我不想造成混乱。

在jsp中运行小程序没有什么特别之处,在jsp中运行小程序也没有什么特别之处。您可以参考以下内容。幸运的是你可以参考这个。祝你好运