Java中前端傳參含有“+”“=”等特殊字符處理方式
前端在進(jìn)行base64加密或者AES等加密手段的時(shí)候,生成的字符串很可能存在“+”“=”“/”等特殊字符。這些字符如果不進(jìn)行特殊處理,在進(jìn)行參數(shù)傳遞的時(shí)候,會(huì)出現(xiàn)錯(cuò)誤。
比如“+”如果不經(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ù)實(shí)際的情況,進(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)先級,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09Java語言通過三種方法實(shí)現(xiàn)隊(duì)列的示例代碼
這篇文章主要介紹了Java語言通過三種方法來實(shí)現(xiàn)隊(duì)列的實(shí)例代碼,數(shù)組模擬隊(duì)列,通過對定義的了解,發(fā)現(xiàn)隊(duì)列很像我們的數(shù)組,下面我們通過實(shí)踐給大家詳細(xì)介紹,需要的朋友可以參考下2022-02-02解決Java中socket使用getInputStream()阻塞問題
這篇文章主要介紹了解決Java中socket使用getInputStream()阻塞問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12Java Socket編程實(shí)例(三)- TCP服務(wù)端線程池
這篇文章主要講解Java Socket編程中TCP服務(wù)端線程池的實(shí)例,希望能給大家做一個(gè)參考。2016-06-06SpringBoot 集成 ShedLock 分布式鎖的示例詳解
ShedLock是一個(gè)在分布式環(huán)境中使用的定時(shí)任務(wù)框架,用于解決在分布式環(huán)境中的多個(gè)實(shí)例的相同定時(shí)任務(wù)在同一時(shí)間點(diǎn)重復(fù)執(zhí)行的問題,本文重點(diǎn)給大家介紹SpringBoot 分布式鎖ShedLock的相關(guān)知識,感興趣的朋友一起看看吧2021-08-08