2个问题:Applet引用其他包(.jar);Applet中运行页面脚本(JavaScript)

gugamfk 2005-04-15 10:18:09
一、Applet引用其他包

我的Applet代码如下:

<applet code="com.zjjw.hpms.fa.gui.FAMenuApplet" archive="/hpms_fa/applets/FAMenuBar.jar" width="100%" height="100%">
<param name="target" value="content">
<param name="url-base" value="http://localhost:80/hpms_fa">
<param name="tree-src-path" value="/tree_src.xml">
</applet>

但,我的FAMenuApplet引用了dom4j(dom4j.jar),结果浏览器运行时提示:

java.lang.NoClassDefFoundError: org/dom4j/DocumentException
at com.zjjw.hpms.fa.gui.FAMenuApplet.generateTreeMode(FAMenuApplet.java:159)
at com.zjjw.hpms.fa.gui.FAMenuApplet.init(FAMenuApplet.java:44)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

如何把dom4j.jar也能自动的被浏览器找到并下载?
不要告诉我把dom4j.jar都编译到我的FAMenuBar.jar中,最好是能在<Applet>标签中写点什么就行的。

二、Applet中运行页面脚本(JavaScript)

我的Applet中有个按钮,我想单击按钮实现(或调用)java script中的history.back();
...全文
312 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
gugamfk 2005-04-15
  • 打赏
  • 举报
回复
哦,最后还有个问题。

tomcatjava(小鱼儿)说:
-----------------------------------------------------------------
| 3)定义applet的时候要加“MAYSCRIPT”标记
|
| <APPLET codeBase="./" code=tmin_JS width=80 height=25 MAYSCRIPT>
-----------------------------------------------------------------

加上“MAYSCRIPT”是干什么用的?我没加也好使。
gugamfk 2005-04-15
  • 打赏
  • 举报
回复
多谢各位,解决问题了,发分。
thrive_li 2005-04-15
  • 打赏
  • 举报
回复
呵呵如此这搬
tomcatjava 2005-04-15
  • 打赏
  • 举报
回复
第二个问题:
下面的例子将说明在applet中去调用javascript函数 。 一、applet源代码(tmin_JS.java)

// Importations
import java.awt.Graphics ;
import java.awt.Event ;

// LiveConnect... for JavaScript
import netscape.javascript.JSObject ;//这个类在$(java_home)/jar/lib/plugin.jar中

public class tmin_JS extends java.applet.Applet {
// Variables

// Initialisation de l'applet
public void init() { // Methode init()
}

// Dessiner l'applet
public void paint(Graphics g) { // Methode paint()
g.drawString("Click here...", 5, 10) ;
}

// Mouse down
public boolean mouseDown(Event e, int x, int y) {
try { // create JSObject
JSObject.getWindow (this).eval ("javascript:ale
rt('tmin_JS click " +
" x=" + x + " y=" + y + "')") ;
}
catch (Exception ex) { // Error on create JSObject
showStatus( "Error call javascript err=" + ex );
}
return true ;
}

}

二、注意的地方

(1)在调用javascipt函数的时候,要加这行:

JSObject.getWindow (this).eval ("javascript:... ") ;

(2)要将JSObject引用进来:

import netscape.javascript.JSObject ;

(3)定义applet的时候要加“MAYSCRIPT”标记

<APPLET codeBase="./" code=tmin_JS width=80 height=25 MAYSCRIPT>
gtlang78 2005-04-15
  • 打赏
  • 举报
回复
一、把所有用到的jar文件的路径都写到archive参数里,用逗号分开
archive="test1.jar,test2.jar"
二、没用过,不会
Pushlet 是一个开源的 Comet 框架,Pushlet 使用了观察者模式:客户端发送请求,订阅感兴趣的事件;服务器端为每个客户端分配一个会话 ID 作为标记,事件源会把新产生的事件以多播的方式发送到订阅者的事件队列里。 server端向浏览器client发送通知这种通讯模式在J2EE应用很常见,通常使 Pushlet服务器端Java类UML图 Pushlet服务器端Java类UML图 用采用RMI、CORBA或者自定义TCP/IP信息的applet来实现。这些技术往往由于复杂而产生诸多不利之处:技术难以实现、存在防火墙限制(因为需要打开非HTTP的通讯端口)、需要额外的server开发和维护。并且除了刷新整个页面或者完全采用applet展示内容之外,很难找到别的方法将client端applet的状态和浏览器的页面内容集成在一起。 Pushlet是一种comet实现:在Servlet机制下,数据从server端的Java对象直接推送(push)到(动态)HTML页面,而无需任何Java applet或者插件的帮助。它使server端可以周期性地更新client的web页面,这与传统的request/response方式相悖。浏览器client为兼容JavaScript1.4版本以上的浏览器(如Internet Explorer、FireFox),并使用JavaScript/Dynamic HTML特性。而底层实现使用一个servlet通过Http连接到JavaScript所在的浏览器,并将数据推送到后者。有关JavaScript版本的知识请参看Mozilla开发心提供的《JavaScript核心参考》和Stephen Chapman编写的《What Version of Javascript》。 这种机制是轻量级的,它使用server端的servlet连接管理、线程工具、javax.servlet API,并通过标准Java特性Object的wait()和notify()实现的生产者/消费者机制。原则上,Pushlet框架能够运行在任何支持servlet的server上、防火墙的后面。当在client使用JavaScript/DHTML时,Pushlet提供了通过脚本快速建立应用、使用HTML/CSS特性集成和布局新内容的便利方法。

62,629

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧