可以使用show_document打开一个链接,使用browser来下载文件

解决方案 »

  1.   

    你可以通过EJB实现,我不知道Tomcat可不可以,我用的是weblogic,布置一个BEAN将文件放在BEAN中的对象中,客户端通过HOME接口可以得到这个对象就可以浏览这个文件了。
      

  2.   

    1.客户端和服务器之间的交互协议,楼主必需自己定义。如:返回客户的目录结构信息如何定义,如果有附加信息如何作标识。
    2.通过servlet浏览服务器目录信息。
       A-->put请求B-->B处理(doPut)-->按指定协议返回A-->客户端(A)得到目录结构。
    3.通过servlet提供文件下载功能。
       通过第二步得到的信息,请求服务器下载文件到客户端。
       A向服务器发送文件信息(路径+名称)-->B处理(doPost)-->取文件数据并返回给A-->客户端(A)取得文件数据
      

  3.   

    感谢GJA106(中文字符),你说的是一个思路,虽然需求可以用别的方法来做,我已经实现,请教“GJA106(中文字符)”这个交互协议应该是什么协议,目录结构信息如何定义呢?
      

  4.   

    感谢boris_yin(巴斯光年),请问你的那个Bean中放的是文件名,还是这个文件的InputStream.是字节流还是字符流,假如是stream,那么如果有多个文件,我先把它放到Hashtable中,然后再放到那个bean的对象中,在序列化后,在客户端能够用OutputStream去生成文件吗?(因为我曾经把一些数据封装到Vector,然后再通过bean的序列化传递,到客户端去取,取出来的数据已经不对了,因为多加了Vector这一层)。
      

  5.   

    1.所谓的协议--就是一串字符串而以,比如:
                                      -- data
         --20050309
           --csdn.txt
           --mytest.data
         --20050310
           --test.dbf
         --20050311
           --AceessDb.java如何通过字符串去组织这个树结构比较好解析,楼主还得你自己去定义。实在不想定义成协议,可以通过XML格式来实现(在传输时可以考虑转换成ASCII码)。2.java中实现网络传输对象比较简单。
      可以直接传递一个Hashtable而不需要再封装Bean中。
      Hashtable保存:
    名--保存文件名。
    值--保存一个Vector
        Vector第一个元素保存文件长度
        Vector第二个元素保存文件内容  取出来后对比一下,文件数据长度是否前后一致。项目中写过这样的代码,不过只用了一层Vector。
      

  6.   

    这是EJB的架构,BEAN中放的方法,或者说是对象也可以,这个对象中包含你的文件或其它信息,你在客户端通过HOME接口就可以得到这个对象,那么你说可以对你的文件进行各种操作。对于多个文件你可以在客户端传进去一个String参数或是数组,把文件名写入并返一个对象数组不就可以了吗,至于是什么流要根据你的文件而定,你得到这个对象以后就不用在封装到Vector了
      

  7.   

    boris_yin(巴斯光年) ,答非所问
      

  8.   

    你说的方法不就是session bean中加个方法,然后在客户端用Home接口的create方法,去返回一个Remote接口的对象,然后利用这个对象去调session bean中的方法,这样只能得到几个文件名。
    “在swing的客户端(在A机器上跑win2k)怎么浏览服务器(B机器上win2k或linux)的文件,或者怎么把文件下载到A上(解决问题给分,不够加分)(在A上跑swing的客户组件,在B上通过Tomcat跑servlet和JavaBean),而且B机器上的文件可能根本就不在tomcat服务器的context路径中,例如项目在E:\SampleProject下,而要取的文件可能才C:\。”,只有GJA106(中文字符)的方法挺接近,所以我只能给你10分了。