Java小程序可以';t访问同一Web服务器上的非公共文件

Java小程序可以';t访问同一Web服务器上的非公共文件,java,applet,webserver,file-access,Java,Applet,Webserver,File Access,我正在为一位客户创建一个Java小程序,遇到了一个问题,我需要读取/写入他们web服务器上的文件,但在任何情况下,该文件都不能公开访问 Java小程序和文件都在同一台服务器上,如果需要,我可以将文件和.jar文件放在同一个文件夹中,但我尝试了几种不同的配置,包括将它们放在同一个文件夹中以及使用 test = WorkbookFactory.create(new File("test.xlsx")) 我试着写出文件的完整路径,但似乎没有任何效果 我得到的错误是: Caused by: java.

我正在为一位客户创建一个Java小程序,遇到了一个问题,我需要读取/写入他们web服务器上的文件,但在任何情况下,该文件都不能公开访问

Java小程序和文件都在同一台服务器上,如果需要,我可以将文件和.jar文件放在同一个文件夹中,但我尝试了几种不同的配置,包括将它们放在同一个文件夹中以及使用

test = WorkbookFactory.create(new File("test.xlsx"))
我试着写出文件的完整路径,但似乎没有任何效果

我得到的错误是:

Caused by: java.security.AccessControlException: access denied ("java.io.FilePermission" "test.xlsx" "read")

在同一台服务器上读/写无法公开查看的文件的最佳方式是什么?

您似乎对Java小程序的工作原理有一个基本的误解。它们不是在服务器上运行,而是在客户机上运行,在web浏览器中运行。如果客户端的web浏览器无法访问该文件,则小程序也无法访问。

小程序无法在服务器上读取或写入文件,因为Java代码在客户端(即,在web浏览器本身)上运行。实现所需功能的最佳方法是创建一个servlet(或其他服务器端代码模块)来写入文件,并实施某种安全性。然后小程序可以与该servlet通信,并且以您喜欢的任何方式保护对该文件的访问。例如,嵌入小程序的页面可能包含生成的唯一键,小程序将使用该键访问servlet。

我猜就是这样的。我必须研究另一种方法来做他们想做的事。谢谢