获取路径错误

作者在将程序部署到线上环境时遭遇多次崩溃,通过排查发现路径处理问题,特别是在Windows与Linux平台上的差异。在同事帮助下,使用HttpServletRequest获取正确的文件路径,解决跨平台路径处理难题。

今天程序写完了开始更到线上,更到线上后发现程序崩溃了,急哭,,,,,开始找bug,开始发先是时间的问题,修改后告诉老大再次更到线上,发现继续崩溃,最后再老大那里看了一眼服务器的报错发现原来服务器报错了。。。。。

开始修改bug

 

报错图

 

 

 

开始修改bug,,最后发现    this.getClass().getResource("/").getPath()截取的路径在windows下会出先

/D:/MyeclipseWorkspace4/HZWASv6.5/WebRoot/WEB-INF/classes/

前面会多一个   “/” 而在linux下跑的程序不会出现本身的路径就是由/usr/local............开始的。

最后经过线上程序的崩溃的洗礼后在我伟哥的帮助下将这一段改成了

HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest();
        
        String path = request.getServletContext().getRealPath(fileName);

后。。。。现在还没有更到线上不知道成功不成功。。。。。。。正在等待老大归来(滑稽护体)/。/。,/。,/

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值