最近,做了个大数量文件批量上传的组件,还是真不好做,所用到的东西都没接触过,还好,总算弄出来了。
我们是使用ftp协议进行文件的上传,当然上传及下载的方法都是在网上找的开源的代码,据说这种东东多是老外写的,改改就可以用
客户端是使用applet来调用的,那就简单了解下吧
定义:
Applet(小应用程序)采用Java创建的基于HTML的程序。浏览器将其暂时下载到用户的硬盘上,并在Web页打开时在本地运行。一般的Applet只能通过appletviewer或者浏览器来运行,一般的Java程序通过继承Applet类也可以嵌入网页运行。
我们采用的就是继承applet类嵌入网页运行的
--------------------------------------------------------------------------------------------------------------------------------------------
Applet运行状态 Applet类中的四种基本方法用来控制其运行状态:init()、start()、stop()、destroy()
init()方法
这个方法主要是为Applet的正常运行做一些初始化工作。当一个Applet被系统调用时,系统首先调用的就是该方法。通常可以在该方法中完成从网页向Applet传递参数,添加用户界面的基本组件等操作。
start()方法
系统在调用完init()方法之后,将自动调用start()方法。而且,每当用户离开包含该Applet的主页后又再返回时,系统又会再执行一遍start()方法。这就意味着start()方法可以被多次执行,而不像init()方法。因此,可把只希望执行一遍的代码放在init()方法中。可以在start()方法中开始一个线程,如继续一个动画、声音等。
stop()方法
这个方法在用户离开Applet所在页面时执行,因此,它也是可以被多次执行的。它使你可以在用户并不注意Applet的时候,停止一些耗用系统资源的工作以免影响系统的运行速度,且并不需要人为地去调用该方法。如果Applet中不包含动画、声音等程序,通常也不必实现该方法。
destroy()方法
与对象的finalize()方法不同,Java在浏览器关闭的时候才调用该方法。Applet是嵌在HTML文件中的,所以destroty()方法不关心何时Applet被关闭,它在浏览器关闭的时候自动执行。在destroy()方法中一般可以要求收回占用的非内存独立资源。(如果在Applet仍在运行时浏览器被关闭,系统将先执行stop()方法,再执行destroy()方法。
以上的这几个方法中可以都重写也可以只重写其中的某个
--------------------------------------------------------------------------------------------------------------------------------------------
applet中调用js方法
需要在java工程中引入plugin.jar,
调用方式
try
{
JSObject.getWindow(this).eval("javascript:setMyTitle('"+this.mgr.getTitle()+"')");
}
catch(Exception e)
{
System.out.println("所在的页面中没有名为setMyTitle(title)的脚本函数"+e);
}
--------------------------------------------------------------------------------------------------------------------------------------------
页面中调用applet的方式
<applet code="ZUpload.class" name="ftp"
id="ftp" archive="<%=path %>/CPCNS_FTP.jar" width="680" height="480px">
<param name="cunChuLuLing" value="${cunChuLuJing}">
<param name="fenLeiHao" value="${fenLeiHao}">
<param name="guanLianBiaoShi" value="${guanLianBiaoShi}">
<param name="wenJianDangHao" value="${wenJianDangHao}">
</applet>
其中【code】是调用的applet的类(包括路径)
【archive 】是applet工程jar包的引用
param 是要传入applet的参数
在applet中通过方法getParameter("");方法取得