研究了半天<applet>和<object>标签的用法,虽然还没弄太明白,但总算没有被XX认为的所误导。
对于<applet>标签
1. <APPLET CODE="HelloApplet.class" CODEBASE="D:/aaa" WIDTH=1000 HEIHT=1500></APPLET>
这种方式只能用于单纯的用浏览器浏览的方式,无需部署在应用服务器上。Codebase指定code所在的绝对路径。
2. <APPLET CODE="cn.com.cx.HelloApplet" CODEBASE="./st_classes" WIDTH=1000 HEIHT=1500></APPLET>
这是部署在应用服务器上的方式。Codebase指定相对于应用目录的路径,值得注意的是code所指定的文件名不要加“.class”后缀,因为所有的”.”都会被解释为“/”成为路径。这是class文件没被打成包的方式。若class文件被打成jar包,则看如下方式:
3. <APPLET CODE="cn.com.cx.HelloApplet" CODEBASE="./lib" ARCHIVE="cx.jar"WIDTH=1000 HEIHT=1500></APPLET>
Achive属性指定jar文件名称
4. <APPLET CODE="cn.com.cx.HelloApplet" WIDTH=500 HEIGHT=500 codebase="<%=request.getContextPath()%>" archive="lib/cx.jar">
</APPLET>
在Jsp文件中使用request.getContextPath()也是可以的。此外,<applet>也好<object>也好,属性都可以放在<param>标签里。如下:
5. <APPLET WIDTH=500 HEIGHT=500>
<param name="code" value="cn.com.cx.HelloApplet">
<param name="codebase" value="<%=request.getContextPath()%>">
<param name="archive" value="lib/cx.jar">
</APPLET>
对于<Object>标签
1.
<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"codebase="https://java.sun.com/update/1.5.0/jinstall-1_5_0_12-windows-i586.cab#Version=1,5,0,12"WIDTH = 100% HEIGHT= 100%NAME=jpfvApplet >
<PARAM NAME =CODEVALUE = cn.com.cx.JApplet.MyApplet >
<PARAM NAME = CODEBASE VALUE= "<%=request.getContextPath()%>">
<PARAM NAME ="CACHE_ARCHIVE"VALUE="lib/cx.jar">
</OBJECT>
Classid属性及name分别为“CODE”“CODEBASE”“CACHE_ARCHIVE”的<param>是必须有的。其中code属性是applet文件名;codebase+cache_archive是applet的class文件所在jar文件的路径。
2.
<object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"width="320" height= "40"codebase="http://java.sun.com/products/plugin/1.2.2/jinstall-1_2_2-win.cab#Version=1,2,2,0">
<param name="java_code"value="cn.com.cx.HelloApplet.class">
<param name="java_codebase"value="<%=request.getContextPath()%>/st_classes">
<param name="type" value="application/x-java-applet;">
<param name="name" value="HelloWord!">
<comment>
<EMBED type="application/x-java-applet;" width="320" height="40"pluginspage="http://java.sun.com/products/plugin/java_code="cn.com.cx.HelloApplet.class" java_codebase="."name="HelloWord!"/>
<noembed> 出错了!!! </noembed>
</comment>
</object>
3.
<jsp:plugin type="applet" codebase="./st_classes"height="40" width="320"code="cn.com.cx.HelloApplet.class">
<jsp:params>
<jsp:param name="name"value="HelloWord!" />
</jsp:params>
<jsp:fallback>出错了!!!</jsp:fallback>
</jsp:plugin>
使用 jsp:plugin 标签,方式 2 基本上是 3 被 tomcat 编译后的结果。