Java中前端傳參含有“+”“=”等特殊字符處理方式
前端在進(jìn)行base64加密或者AES等加密手段的時候,生成的字符串很可能存在“+”“=”“/”等特殊字符。這些字符如果不進(jìn)行特殊處理,在進(jìn)行參數(shù)傳遞的時候,會出現(xiàn)錯誤。
比如“+”如果不經(jīng)過處理,傳到Java后臺之后,就變成空格了,“=”就直接沒了。。。。
處理方式:
在js中,對url的加密分別由三種方式:
escape("aa+aa aa")
加密后:"aa+aa%20aa"
encodeURI("aa+aa aa")
加密后:"aa+aa%20aa"
+變成%2B
encodeURIComponent("aa+aa aa")
加密后:"aa%2Baa%20aa"java加密代碼:
// 加號變成%2B,空格變成加號
System.out.println(URLEncoder.encode("aa+aa aa","UTF-8"));
aa%2Baa+aa正常情況下,前端使用encodeURIComponent("aa+=")加密之后,傳到Java后臺,直接就是可以使用的,不需要再進(jìn)行其它操作
如果發(fā)現(xiàn)不能直接使用,只需要根據(jù)實際的情況,進(jìn)行字符串替換即可,比如replace("2B%","+")。
到此這篇關(guān)于Java中前端傳參含有“+”“=”等特殊字符處理的文章就介紹到這了,更多相關(guān)java傳參特殊字符處理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot中的靜態(tài)資源加載順序優(yōu)先級
這篇文章主要介紹了springboot中的靜態(tài)資源加載順序優(yōu)先級,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09
解決Java中socket使用getInputStream()阻塞問題
這篇文章主要介紹了解決Java中socket使用getInputStream()阻塞問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12
Java Socket編程實例(三)- TCP服務(wù)端線程池
這篇文章主要講解Java Socket編程中TCP服務(wù)端線程池的實例,希望能給大家做一個參考。2016-06-06
SpringBoot 集成 ShedLock 分布式鎖的示例詳解
ShedLock是一個在分布式環(huán)境中使用的定時任務(wù)框架,用于解決在分布式環(huán)境中的多個實例的相同定時任務(wù)在同一時間點(diǎn)重復(fù)執(zhí)行的問題,本文重點(diǎn)給大家介紹SpringBoot 分布式鎖ShedLock的相關(guān)知識,感興趣的朋友一起看看吧2021-08-08

