1. 出现的问题:
web开发中(eclipse环境),为本地项目添加tomcat,我们一般都会选择直接添加。在本次开发中突然遇到一个问题:因为项目涉及到文件上传,我利用MultipartFile进行上传,在后台用如下代码接收:
if(expPath!=null){ //获得文件名 String fileName = expPath.getOriginalFilename(); //文件保存路径 String basePath=req.getSession().getServletContext().getRealPath("res/ftl"); File newFile = FileUtil.createFile(basePath,"/"+fileName); expPath.transferTo(newFile); contTempLate.setFpath(fileName); }
执行完成后理应存放在 “项目根目录/res/ftl ”下,但实际却没有。
2. 找出原因:
debug过程中发现“basePath”的值为:d:workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\res/flt
打开eclipse找到tomcat选项发现:
原来项目在部署时默认用了系统的虚拟克隆路径,具体请参考:https://www.cnblogs.com/alamps/p/6278768.html
3. 解决方法:
添加tomcat时手动修改即可,有时会出现灰色无法手动设置是因为此时tomcat下已经有项目,先移除项目或者添加时先设置好tomcat在添加项目即可
有时会出现无法正常修改或者修改不生效的情况,可以查看: