„Java URLEncoder“ yra naudingumo klasė, naudojama URL koduoti (Uniform Resource Locator). Patikimumas ir saugumas užtikrinami naudojant URL kodavimą. Kai vartotojas pateikia užklausą dėl konkrečios svetainės naudodamas metodą gauti, formos parametrai ir jų reikšmės pridedami po „? prisijunkite prie URL. Tačiau problema kyla, kai vertėse, kurios nėra interpretuojamos, naudojami specialieji simboliai. Paprastai HTML tvarko kodavimo dalį automatiškai, apdorodamas specialiuosius simbolius ir konvertuodamas juos į simbolius, leidžiamus sklandžiai atlikti visas operacijas. Tačiau tai nepatvirtina tikslios kodavimo, todėl negalime pasikliauti vien HTML funkcijomis, todėl norėdami aiškiai užkoduoti URL, naudojame Java klasę URL Encoder.
Koduojant eilutę svarbu laikytis nurodytų taisyklių:
- Abėcėlės ženklai nuo „a“ iki „z“ arba nuo „A“ iki „Z“ ir skaitmenys nuo „0“ iki „9“ išlieka tokie patys.
- Raidiniai ir skaitmeniniai simboliai ir kai kurie specialieji simboliai, pvz., „*“, „_“, „-“ ir „. nekeisti.
- Visi tarpai paverčiami „+“ ženklais.
- W3C rekomenduoja naudoti „UTF-8“ kodavimo tikslais. Visi kiti simboliai yra užkoduoti vienu ar daugiau baitų, naudojant nurodytą kodavimo schemą. Jie konvertuojami į trijų simbolių eilutę, kurios forma yra %xy, kur xy reiškia šešioliktainį kodavimo simbolio atvaizdą.
1 pavyzdys:
Jei vartotojo užklausa yra tokia, kad parametro reikšmėje yra specialiųjų simbolių ir tarpų kaip
krūva ir krūva rūšiuoti
u@Java T taškas
Jei naudojama UTF-8 koduotė, kuri dažniausiai naudojama, „@“ ženklas bus konvertuojamas į „%40“, o tarpai – į „+“ ženklus. Užkoduota eilutė atrodo taip:
pilna forma ide
u%40Java+T+taškas
2 pavyzdys:
Jei vartotojo užklausa yra tokia, kad parametro reikšmėje nėra specialiųjų simbolių ir tarpų kaip
u@JavaTpoint
Užkoduota eilutė atrodo taip:
saulėtas deol amžius
u%40JavaTPaškas
Kodavimo URL
Norint užkoduoti URL, Java URLEncoder klasė pateikia kodavimo () metodą.
URLEncoder.encode( )
Metodas paverčia eilutę į Application/x-www-form-url koduotą formatą, naudojant konkrečią kodavimo schemą. Jis gauna nesaugių simbolių baitus naudodamas pateiktą kodavimo schemą.
Sintaksė:
public static String encode(String s, String enc) throws UnsupportedEncodingException
Pastaba: World Wide Web Consortium rekomenduoja naudoti UTF-8 kodavimo schemą. Priešingu atveju tai sukelia įvairius nesuderinamumus.
Parametrai:
s: Eilutė, kurią reikia išversti.
enc: Palaikomos simbolių koduotės pavadinimas, pvz., „UTF-8“.
Grąžinimai: Jis grąžina išverstą eilutę.
įmesti į sql
Metimai: UnsupportedEncodingException išmetamas, kai pavadinta kodavimo schema nepalaikoma.
UrlEncoder.java
import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; import java.net.URL; import java.net.URLEncoder; public class UrlEncoder { public static void main(String[] args) throws MalformedURLException, UnsupportedEncodingException { String baseUrl = 'https://www.javatpoint.com/'; // String to be encoded as requested by the user String query = ' u@ java T point'; System.out.println(' URL without any encoding : ') ; // creating an object of the URL class URL url = new URL(baseUrl + query) ; System.out.println( url ) ; // using the encode( ) method to encode the URL System.out.println( ' URL after encoding : ' ) ; url = new URL( baseUrl + URLEncoder.encode( query, 'UTF-8' ) ) ; System.out.println( url ) ; } }
Išvestis:
URL without any encoding: https://www.javatpoint.com/ u@ java T point URL after encoding: https://www.javatpoint.com/+u%40+java+T+point