Tomcat的servletContext.getRealPath(String s ) 问题

servletContext.getRealPath(“文件名”) 只是进行了简单的路径拼接而已。 得到的返回值 就是out文件夹里的Tomcat 的war包路径 加上 输入的路径而已。不管这个路径存在不存在 都会返回。

为什么要用servletContext.getRealPath?

因为,如要要去(读取或者操作等等)WEB项目中的文件;这个文件不是放在原码里的。他是放在字节码文件里的。在 工程名/out/artifacts/虚拟路径 _war_exploded里的。如果是真实路径的话是没问题的,这时候是不能用相对路径的;因为启动环境在tomcat手中, 默认都是相对于tomcat/bin目录中,Tomcat会自动去他的bin目录下去寻找。 所以不能用相对路径, 只能选择用绝对路径
我们也不知道tomcat放在那里, 只有tomcat他自己知道,Tomcat自动保存了这个WEB模块的真实路径。用.getRealPath("/a.txt");这个方法自动在前边添加了这个模块的真实路径,拼接成了文件的真实路径。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值