什么是与JWS Java应用程序的服务器交互的最佳方式

时间:2012-07-09 05:39:10

标签: java netbeans java-web-start japplet

我在确定如何使用Java Web Start程序编写文件时遇到一些麻烦,我想将文件写入描述已上传到云服务器的文件的服务器。我还希望从客户端发送文件名和路径等数据,以便我可以在用户和云存储设施之间建立连接并将文件发送给它。

目前,当我尝试运行我的Web Start应用程序时,它工作正常并且没有错误,但只是不会将文件和文件夹写入它所驻留的服务器。例如,以下代码不起作用:

new File ("ArFile Clients\\File Data\\" 
        + user.getCompany().getName() + "\\" + user.getUsername()).mkdirs();

此目录位于服务器上,用于存储应用用户的数据。但是在运行时它只是被忽略或不被执行。

我没有使用套接字或FTP或类似的东西,云服务器有我自己使用的自定义库,我知道问题必须在于Java Web Start如何工作,我只是找不到任何涉及在服务器计算机上创建文件并从客户端计算机中提取数据的好例子(只是文件系统数据,如目录和文件)

1 个答案:

答案 0 :(得分:2)

我认为对webstart真正有用的一些解释在这里是相关的:)

首先,Web start是在客户端JVM上运行的东西。 是的,它使用jnlp文件,您应该在其中指定从属jar /其他资源的URL。 Web启动的所有内容都是读取此jnlp文件(再次在客户端),解析,找出资源存在的URL列表,并将它们下载到客户端计算机上。 实际上,这可以通过使用

中可以找到的javaws实用程序来实现

%JDK_HOME%\ bin中 夹。 就像''java''作为一个输入一系列类文件/ jar并生成一个jvm,javaws获取一个jnlp,读取它,带来资源并生成一个jvm :) 还有一些额外的东西,网络启动可以做(如自动更新),但这是一个'核心功能'。

最重要的是,如果您确实想在服务器上写一些文件,那么Web启动是一种错误的方法。

从概念上讲,一旦您的应用程序被加载并且您想要在服务器上存储文件 - 从客户端创建与服务器机器的某种连接并在那里上传您的文件。无论如何都不能用Web Start完成:)

我希望它有所帮助