在java中,是否有必要了解服务器文件目录结构?
我试图访问服务器上的远程文件只是为了学习 我的服务器很简单,如下所示:在java中,是否有必要了解服务器文件目录结构?,java,security,remote-access,Java,Security,Remote Access,我试图访问服务器上的远程文件只是为了学习 我的服务器很简单,如下所示: 这是一个基本的SpringMVC项目 它显示一个index.html,其中打印“HelloWorld”和当前服务器时间 我想做的是: 访问URL(例如,http://192.168.0.1:8080/test) 查找服务器上某个位置的index.html的绝对路径(远程文件) 打开并编辑“HelloWorld”至“嗨,John!” 我已经尝试使用HttpUrlConnection,但该类的方法与我的目的不匹配。 第二次尝试是
http://192.168.0.1:8080/test
)如何更改远程服务器计算机上的文本?基本上,我可以向您展示3种可能的方法,其中2种方法不使用代码:
index.html
index.html
REST
-界面,允许您更改文件内容。这一个需要编码,我不知道工作量是否真的符合您的目的您似乎希望在不与远程服务器进行任何“交互”的情况下更改远程文件,如REST接口或其他。如果这是如此容易做到的话,它将对系统造成巨大的安全漏洞。因此,您始终需要服务器的交互,例如通过
REST
-接口等。您不能只是键入一些Java
代码,然后神奇地修改远程文件。使用Java
可以做的唯一一件事就是通过ssh
或HTTP
访问服务器,并利用远程服务器提供的功能。这意味着您必须始终在服务器端做一些工作,才能进行这样的修改。我希望,以下几点将为您提供一些帮助,以实现您的目标:
- 不应修改应用程序中的服务器资源文件李>
- 相反,使用模板(请参阅)生成index.html文件的不同版本
- 您要显示的内容(“Hello world”或“Hi,John”)应该从数据库(MySQL、PostgreSQL、MongoDB或其他任何数据库)读取
- 如果调用方必须修改服务器内容,则应将POST请求中的内容传递给远程服务器,远程服务器将其保存在DB中或直接通过模板显示
getServletContext().getRealPath("/index.html")!
这将为您提供索引文件的引用(如果您的应用程序未打包为WAR!)。同样,请记住,不建议随意处理服务器资源文件
编辑
如果不能更改远程服务器应用程序,必须使用客户端java,请考虑使用FTP或FTPS客户端:./P>我的目的是只使用java来控制事情。1、#2可以是一个解决方案,但它需要服务器ID/PW#3需要额外的工作在服务器端,我不想。有没有办法只用java就可以做到这一点?谢谢你的回答和编辑:我认为你至少要做以下1项中的一项。向服务器进行身份验证(使用ID/PW,即使您是否使用Java进行身份验证)以写入文件2。编写一些额外的代码,让服务器为您编写文件。所以@nvrmnd回答所有可能的问题solutions@Wittaya好啊但那样的话,我的目的就有点无用了。我之所以尝试这一点,是因为我想知道黑客是如何进行重定向攻击的,并准备对此进行防御。我想这样,因为我所有的服务都不考虑这样的攻击。无论如何,谢谢你的意见。