Class URLEncoder
java.lang.Object
org.apache.catalina.util.URLEncoder
- All Implemented Interfaces:
Cloneable
This class is very similar to the java.net.URLEncoder class. Unfortunately, with java.net.URLEncoder there is no way
to specify to the java.net.URLEncoder which characters should NOT be encoded. This code was moved from
DefaultServlet.java
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final URLEncoderPre-configured encoder for URI paths.static final URLEncoderPre-configured encoder for query strings. -
Constructor Summary
ConstructorsConstructorDescriptionConstructs a new URLEncoder with alphanumeric characters as safe. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddSafeCharacter(char c) Marks the given character as safe (not requiring encoding).clone()URL encodes the provided path using the given character set.voidremoveSafeCharacter(char c) Removes the given character from the set of safe characters.voidsetEncodeSpaceAsPlus(boolean encodeSpaceAsPlus) Sets whether space characters should be encoded as '+' instead of '%20'.
-
Field Details
-
DEFAULT
Pre-configured encoder for URI paths. -
QUERY
Pre-configured encoder for query strings.
-
-
Constructor Details
-
URLEncoder
public URLEncoder()Constructs a new URLEncoder with alphanumeric characters as safe.
-
-
Method Details
-
addSafeCharacter
public void addSafeCharacter(char c) Marks the given character as safe (not requiring encoding).- Parameters:
c- the character
-
removeSafeCharacter
public void removeSafeCharacter(char c) Removes the given character from the set of safe characters.- Parameters:
c- the character
-
setEncodeSpaceAsPlus
public void setEncodeSpaceAsPlus(boolean encodeSpaceAsPlus) Sets whether space characters should be encoded as '+' instead of '%20'.- Parameters:
encodeSpaceAsPlus- true to use '+' for spaces
-
encode
-
clone
-