Codieren und Decodieren eines URL-Strings in Java

Die URL-Codierung ist im Java-Web sehr wichtig, da sie den Benutzer schützt und anfällige Angriffe wie SQL-Injection vermeidet. Wie können Sie eine URL oder ein Formular, das über ein Servlet oder ein Programm übergeben wird, das auf einem Webserver läuft, sicher codieren?

Java stellt die Klasse URLEncoder bereit, die über die Methode encode(). Diese Methode  codiert einen String.

Sie benötigen auch eine Möglichkeit zum Decodieren. Die Klasse URLDecoder hat die decode() um den mit URLEncoder.

Beispiel:

import java.io.UnsupportedEncodingException; 

public class Encode_Decode {

public static void main(String[] args) {
String url = "Dies ist ein test_[]< > ()!#^$@%~&*";
try {
String urlencode = java.net.URLEncoder.encode(url, "UTF-8");
System.out.println("Kodierung: "+urlencode);
String urldecode = java.net.URLDecoder.decode(urlencode, "UTF-8");
System.out.println("Dekodierung: "+urldecode);
} catch (UnsupportedEncodingException e) {
// TODO Automatisch generierter catch-Block
e.printStackTrace();
}
}
}
Output

Coding: This+is+a+test_%5B%5D%3C%3E%28%29%21%23%5E%24%40%25%7E%26*
Decode: Dies ist ein test_[]< > ()!#^$@%~&*
In diesem Programm wird die Variable String urlencode als Argument in der Methode URLEncoder.encoder.encoder übergeben und das Ergebnis angezeigt. Dann dekodiert es die Variable, die mit   URLDecoder.decode und zeigt die dekodierte url.

Für weitere Informationen empfehle ich die Java-Dokumentation für URLEncoder und URLDecoder.