Package com.helger.servlet
Class ServletHelper
- java.lang.Object
-
- com.helger.servlet.ServletHelper
-
@ThreadSafe public final class ServletHelper extends Object
Very basic servlet API helper- Since:
- 8.6.3
- Author:
- Philip Helger
-
-
Field Summary
Fields Modifier and Type Field Description static booleanDEFAULT_LOG_EXCEPTIONS
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static StringgetRequestContextPath(jakarta.servlet.http.HttpServletRequest aHttpRequest)Work around an exception that can occur on Tomcat 8.0.20:static StringgetRequestContextPath(jakarta.servlet.http.HttpServletRequest aHttpRequest, String sFallback)Work around an exception that can occur on Tomcat 8.0.20:static jakarta.servlet.http.Cookie[]getRequestCookies(jakarta.servlet.http.HttpServletRequest aHttpRequest)Work around an exception that can occur on Tomcat 8.0.20:static StringgetRequestPathInfo(jakarta.servlet.http.HttpServletRequest aHttpRequest)Get the path info of an request, supporting sync and async requests.static StringgetRequestQueryString(jakarta.servlet.http.HttpServletRequest aHttpRequest)Work around an exception that can occur in Jetty 9.3.13:static StringgetRequestRequestURI(jakarta.servlet.http.HttpServletRequest aHttpRequest)Get the request URI of an request, supporting sync and async requests.static StringBuffergetRequestRequestURL(jakarta.servlet.http.HttpServletRequest aHttpRequest)Get the request URL of an request, supporting sync and async requests.static StringgetRequestServletPath(jakarta.servlet.http.HttpServletRequest aHttpRequest)Get the servlet path of an request, supporting sync and async requests.static StringgetServletContextBasePath(jakarta.servlet.ServletContext aSC)Get the servlet context base path (for ".")static booleanisLogExceptions()static voidsetLogExceptions(boolean bLog)Enable or disable the logging of caught exceptions.static voidsetRequestAttribute(jakarta.servlet.ServletRequest aServletRequest, String sAttrName, Object aAttrValue)Safe version ofServletRequest.setAttribute (String, Object)to work around an error in certain Tomcat versions.static voidsetRequestCharacterEncoding(jakarta.servlet.http.HttpServletRequest aHttpRequest, String sCharset)Safely set the request character encoding.static voidsetRequestCharacterEncoding(jakarta.servlet.http.HttpServletRequest aHttpRequest, Charset aCharset)Safely set the request character encoding.
-
-
-
Field Detail
-
DEFAULT_LOG_EXCEPTIONS
public static final boolean DEFAULT_LOG_EXCEPTIONS
- See Also:
- Constant Field Values
-
-
Method Detail
-
setLogExceptions
public static void setLogExceptions(boolean bLog)
Enable or disable the logging of caught exceptions. By default they are not logged.- Parameters:
bLog-trueto enable logging,falseto disable logging.- Since:
- 8.8.2
-
isLogExceptions
public static boolean isLogExceptions()
- Returns:
trueto log exceptions,falseto omit caught exceptions.- Since:
- 8.8.2
-
setRequestAttribute
public static void setRequestAttribute(@Nonnull jakarta.servlet.ServletRequest aServletRequest, @Nonnull String sAttrName, @Nullable Object aAttrValue)
Safe version ofServletRequest.setAttribute (String, Object)to work around an error in certain Tomcat versions.java.lang.NullPointerException 1.: org.apache.catalina.connector.Request.notifyAttributeAssigned(Request.java:1493) 2.: org.apache.catalina.connector.Request.setAttribute(Request.java:1483) 3.: org.apache.catalina.connector.RequestFacade.setAttribute(RequestFacade.java:539)
- Parameters:
aServletRequest- Servlet request. May not benull.sAttrName- Attribute name. May not benull.aAttrValue- Attribute value. May benull.
-
getRequestContextPath
@Nonnull public static String getRequestContextPath(@Nullable jakarta.servlet.http.HttpServletRequest aHttpRequest)
Work around an exception that can occur on Tomcat 8.0.20:java.lang.NullPointerException: null at org.apache.catalina.connector.Request.getServletContext(Request.java:1593) ~[catalina.jar:8.0.20] at org.apache.catalina.connector.Request.getContextPath(Request.java:1910) ~[catalina.jar:8.0.20] at org.apache.catalina.connector.RequestFacade.getContextPath(RequestFacade.java:783) ~[catalina.jar:8.0.20] at com.helger.web.servlet.request.RequestLogger.getRequestFieldMap(RequestLogger.java:81) ~[ph-web-8.6.3.jar:8.6.3]
- Parameters:
aHttpRequest- Source request. May benull.- Returns:
- Empty string if request is
nullor a String specifying the portion of the request URI that indicates the context of the request
-
getRequestContextPath
@Nonnull public static String getRequestContextPath(@Nullable jakarta.servlet.http.HttpServletRequest aHttpRequest, @Nullable String sFallback)
Work around an exception that can occur on Tomcat 8.0.20:java.lang.NullPointerException: null at org.apache.catalina.connector.Request.getServletContext(Request.java:1593) ~[catalina.jar:8.0.20] at org.apache.catalina.connector.Request.getContextPath(Request.java:1910) ~[catalina.jar:8.0.20] at org.apache.catalina.connector.RequestFacade.getContextPath(RequestFacade.java:783) ~[catalina.jar:8.0.20] at com.helger.web.servlet.request.RequestLogger.getRequestFieldMap(RequestLogger.java:81) ~[ph-web-8.6.3.jar:8.6.3]
- Parameters:
aHttpRequest- Source request. May benull.sFallback- Fallback context path to use, if none could be determined from the request. May benull.- Returns:
- Empty string if request is
nullor a String specifying the portion of the request URI that indicates the context of the request - Since:
- 9.1.10
-
getRequestPathInfo
@Nonnull public static String getRequestPathInfo(@Nullable jakarta.servlet.http.HttpServletRequest aHttpRequest)
Get the path info of an request, supporting sync and async requests.- Parameters:
aHttpRequest- Source request. May benull.- Returns:
- Empty string if request is
nullor a the path info.
-
getRequestQueryString
@Nullable public static String getRequestQueryString(@Nullable jakarta.servlet.http.HttpServletRequest aHttpRequest)
Work around an exception that can occur in Jetty 9.3.13:java.lang.NullPointerException: null at org.eclipse.jetty.server.Request.getQueryString(Request.java:1119) ~[jetty-server-9.3.13.v20161014.jar:9.3.13.v20161014] at com.helger.web.servlet.request.RequestHelper.getURL(RequestHelper.java:340) ~[ph-web-8.6.2.jar:8.6.2]
- Parameters:
aHttpRequest- Source request. May benull.- Returns:
nullif request isnullor if no query string could be determined, or if none is present
-
getRequestRequestURI
@Nonnull public static String getRequestRequestURI(@Nullable jakarta.servlet.http.HttpServletRequest aHttpRequest)
Get the request URI of an request, supporting sync and async requests.- Parameters:
aHttpRequest- Source request. May benull.- Returns:
- Empty string if request is
nullor the request URI.
-
getRequestRequestURL
@Nonnull public static StringBuffer getRequestRequestURL(@Nullable jakarta.servlet.http.HttpServletRequest aHttpRequest)
Get the request URL of an request, supporting sync and async requests.- Parameters:
aHttpRequest- Source request. May benull.- Returns:
- Empty
StringBufferif request isnullor the request URL.
-
getRequestServletPath
@Nonnull public static String getRequestServletPath(@Nullable jakarta.servlet.http.HttpServletRequest aHttpRequest)
Get the servlet path of an request, supporting sync and async requests.- Parameters:
aHttpRequest- Source request. May benull.- Returns:
- Empty string if request is
nullor the servlet path. - Since:
- 8.8.0
-
getRequestCookies
@Nullable public static jakarta.servlet.http.Cookie[] getRequestCookies(@Nullable jakarta.servlet.http.HttpServletRequest aHttpRequest)
Work around an exception that can occur on Tomcat 8.0.20:java.lang.NullPointerException: null at org.apache.catalina.connector.Request.parseCookies(Request.java:2943) ~[catalina.jar:8.0.20] at org.apache.catalina.connector.Request.convertCookies(Request.java:2958) ~[catalina.jar:8.0.20] at org.apache.catalina.connector.Request.getCookies(Request.java:1987) ~[catalina.jar:8.0.20] at org.apache.catalina.connector.RequestFacade.getCookies(RequestFacade.java:662) ~[catalina.jar:8.0.20]
- Parameters:
aHttpRequest- Source request. May benull.- Returns:
- getRequestCookies
-
setRequestCharacterEncoding
public static void setRequestCharacterEncoding(@Nonnull jakarta.servlet.http.HttpServletRequest aHttpRequest, @Nullable Charset aCharset)
Safely set the request character encoding.- Parameters:
aHttpRequest- Http request to change. May not benull.aCharset- Character set to use. May benull.- Since:
- 9.1.9
-
setRequestCharacterEncoding
public static void setRequestCharacterEncoding(@Nonnull jakarta.servlet.http.HttpServletRequest aHttpRequest, @Nullable String sCharset)
Safely set the request character encoding.- Parameters:
aHttpRequest- Http request to change. May not benull.sCharset- Character set to use. May benull.- Since:
- 9.1.9
-
-