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

