文件上传路径的tomcat配置和相关问题解决

本文介绍了一种改进的文件上传路径配置方法,通过在Tomcat的server.xml中添加Context标签来指定文件保存位置,避免了每次部署时文件丢失的问题,并讨论了其安全性考虑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘要:文件上传路径,tomcat配置

    传统方式:文件上传路径放在项目目录之下/WebRoot/WEB-INF下,这个目录是从外部的客户端通过URL是无法访问的,所以文件也是相对比较安全的。但是这样对于部署有一个很大的问题,就是将打包好的war包放到tomcat中之后,原先/WebRoot/WEB-INF下的上传文件全都被覆盖了,导致文件全部丢失,这样每次部署的时候都很麻烦。



通过在tomcat安装目录中的conf文件夹下的server.xml文件中配置一个新的context内容,这个标签添加在host标签之内。

<Context docBase="D:\test" path="/test" reloadable="true"/>

其中docBase表示的是实际的保存地址,path表示的是在tomcat中的路径标识,同时可以在java后台中使用这个配置好的path访问实际的地址,而因为这个实际地址可以是不在项目之内的,这样就可以避免每次部署的时候文件丢失的问题。

同时假设D:\test下有一个a.txt,由于配置的path变量,则可以用过localhost:8080/test/a.txt访问到。所以这种方式没有传统方式安全,不过可以通过给文件加上唯一的id前缀避免因为URL太过简单而被外部访问。


注意:设置的docBase对应的实际目录一点要存在,如果不存在,那么tomcat启动时就会出现闪退。因为有的项目可能是通过项目生成目录,这个时候就有可能出现启动tomcat时实际的地址还不存在,这样就会无法启动闪退。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值