URL和URI的理解(getResource().getPath()获取的路径自动编码)

个人理解,仅供参考,多多指教(URL   URI 表示对应的对象)。

   问题

    

    在获取项目的根目录时,一开始直接用getResource()的方法得到URL的对象,然后去getPath()。在我自己的电脑上测试没什么问题。但是提交到服务器上测试时,通过getPath()获取到的路径却乱码了。百思不得其解。

    后来用getResource()的带的URL对象.toURI()获取到URI对象,再getPath(),得到的路径就是完整的路径了。

   原因

    URL.getPath() 会经过application/x-www- form-urlencoded编码,所以如果你服务器上的路径中有特殊的字符&%或者空格,那么会自动帮你编码。而URI.getPath()不会帮你编码,直接返回对应的路径。

   延伸:

   为什么URL.getPath() 会自动进行编码,而URI不会?这就要谈到URL和URI的区别了。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值