我正在使用eclipse和tomcat进行开发。 似乎用户只能访问WebContent
文件夹中的文件。
现在我需要在servlet中动态创建一个文件,但是我怎样才能获得WebContent
文件夹的真实路径?
我试过getServletContext().getRealPath("")
,但它返回日食工作区的道路,我的项目不是路径,它是这样的D:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\
,
而我想这样的事情D:\git\Monitor\WebContent
任何人都知道该如何解决?〜非常感谢servlet如何创建用户可以直接访问的文件
0
A
回答
0
我以另一种方式找到了老师的帮助解决方案。 由于我无法获得WebContent
的真实路径,因此我可以修改server.xml
以为本地路径创建可读的前端。此配置文件位于Servers
文件夹中。 server.xml
的底部是这样的。
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
<Context docBase="Monitor" path="/Monitor" reloadable="true" source="org.eclipse.jst.jee.server:Monitor"/>
</Host>
而且我加了一个Context
节点,则是这样的
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
<Context docBase="Monitor" path="/Monitor" reloadable="true" source="org.eclipse.jst.jee.server:Monitor"/>
<Context docBase="D:\environment\apache-tomcat-9.0.0.M21-dev\user\logs" path="/Monitor/logs" reloadable="true" debug="" crossContext="true"></Context>
</Host>
这样一来,我可以在servlet文件写入D:\environment\apache-tomcat-9.0.0.M21-dev\user\logs
,并在前端使用URL localhost:8080/Monitor/logs/fileName
获取文件〜
0
你不能那样做。 Web应用程序(WAR文件)可以部署为未提取,即作为压缩存档文件。
一般的解决方法是编写一个servlet,即让最终用户下载生成的文件。通过这种方式,你可以将你的文件放在服务器FS的任何地方...
相关问题
- 1. 如何创建可以被任何用户访问的文件?
- 2. Joomla:如何在可以直接访问的组件内创建文件?
- 3. 如何直接访问文件夹和访问Excel文件
- 4. 如何使用servlet创建csv文件?
- 5. 我可以访问我用USB创建的文件吗
- 6. UWP - 包中有文件夹,我可以访问创建文件?
- 7. iPhone Sdk可以直接访问SQL Server
- 8. 我可以访问没有直接
- 9. JSP EL可以直接访问属性
- 10. 直接用户访问的安全Tomcat Webapps文件夹
- 11. 直接访问备用资源文件
- 12. 使脚本可以访问文件,但不能访问用户
- 13. 如何使用servlet创建新帐户
- 14. 如何创建和使用两个头文件。可以根据页面访问
- 15. 阻止用户直接访问jsp文件
- 16. 直接访问较旧的MDB文件
- 17. C++中的直接文件访问?
- 18. 防止直接访问URL的文件?
- 19. 如何直接访问g ++文本文件的某个部分?
- 20. 如何禁用直接访问的iFrame
- 21. 如何防止用户直接在网站根目录访问文件
- 22. 使用getSystemResource访问servlet中的文件
- 23. 阻止用户直接访问页面
- 24. 如何授予访问权限以创建新文件?
- 25. 如何直接链接到我可以更改的文件?
- 26. 如何防止用户直接访问我的html页面
- 27. 任何用户都可以访问%APPDATA%文件夹吗
- 28. C#创建一个文件,以便只有创建该文件的用户才能访问它
- 29. java可以访问使用CreateEvent创建的全局事件
- 30. 在Yii2中,我可以在视图下创建文件并直接访问它吗?
但是'Webcontent'文件夹中的html文件可以通过像'http:// localhost:8080/Monitor/html/index.html'这样的url访问。 – disinuo
所以我认为关键问题是获取'WebContent'的真实路径,以便servlet可以向其写入文件。 – disinuo
Eclipse的'WebContent'成为WAR存档的根。你不能写信给那里......设置一个配置属性,它包含一个安全可写的路径来存储你的文件。这取决于你的服务器的环境.... –