解决在servlet 中使用 request.getSession().getServletContext().getRealPath("/upload" ); 获取不到 tomcat 服务器目录

在处理文件上传时,发现使用`request.getSession().getServletContext().getRealPath("/upload")`获取到的路径不是期望的Tomcat webapps目录。解决方法包括删除并重新配置servlet,确保文件保存在Tomcat的webapps下对应的项目目录。

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

在实现文件的上传下载时,设置上传文件的保存地址目录使用的方法是:

request.getServletContext().getRealPath("/upload");

需要注意的是,upload文件夹是放在创建的项目所在目录,而不是项目的发布路径。如果我们要去查看上传的文件,需要去工作空间的 metadata目录中寻找项目发布目录(路径为:workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\chapter16\upload);

但是显然,这并不是我们想要的。我想要将项目的发布路径更改到Tomcat中,通过Tomcat的webapps目录寻找项目。

解决方法:

1. 先在编辑器界面将现有 servlet 删除
在这里插入图片描述
2. 双击旋转 tomcat 7.0 版本新建 servlet,结果如下图
在这里插入图片描述
3. 双击后,更改配置如下图所示。
在这里插入图片描述
4. 保存后在启动项目,此时保存的upload文件夹放在了Tomcat的webapps目录下的对应项目中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值