java.net.URLDecoder.decode
在項目中碰到了個比較奇怪的問題,就是我在本地使用java.net.URLDecoder.decode(ruleName)方法解碼,沒有問題,本地的頁面也可以正常打開。但是當我把代碼移植到測試環境中去的時候,卻打不開頁面,查看后台日志也沒有報錯信息。
本地環境用的JDK1.6,tomcat用的7,測試環境JDK1.6 tomcat版本不明確
就納悶了,因為這個方法已經提示過時了,就在考慮是不是這個問題導致的,應該有可以替代的方法,然后就去查看了下JDK的API,如下
試着將代碼中的java.net.URLDecoder.decode(ruleName)修改為java.net.URLDecoder.decode(ruleName, "UTF-8");然后編譯,替換測試環境的代碼,發現問題解決了。
這應該就是JDK中有些過時的代碼在低版本的tomcat中可能失效了,所以大家在以后的編程中一定要盡量避免過時方法的使用,以規避不必要的問題。