类 ServletUtils
- java.lang.Object
-
- ai.yue.library.base.util.servlet.ServletUtils
-
public class ServletUtils extends java.lang.ObjectServlet相关工具类封装
源自 hutool-extra 增强- 从以下版本开始:
- 2019年8月14日
- 作者:
- 孙金川
-
-
字段概要
字段 修饰符和类型 字段 说明 static java.lang.StringHTTP_TCP_NAMEstatic java.lang.StringHTTPS_TCP_NAMEstatic java.lang.StringMETHOD_DELETEstatic java.lang.StringMETHOD_GETstatic java.lang.StringMETHOD_HEADstatic java.lang.StringMETHOD_OPTIONSstatic java.lang.StringMETHOD_POSTstatic java.lang.StringMETHOD_PUTstatic java.lang.StringMETHOD_TRACEstatic java.lang.StringPOINTCUTHttpAspect请求切入点
-
构造器概要
构造器 构造器 说明 ServletUtils()
-
方法概要
所有方法 静态方法 具体方法 修饰符和类型 方法 说明 static voidaddCookie(java.lang.String name, java.lang.String value, int maxAgeInSeconds)设定返回给客户端的Cookie
Path: "/"
No Domainstatic voidaddCookie(javax.servlet.http.HttpServletResponse response, java.lang.String name, java.lang.String value)设定返回给客户端的Cookiestatic voidaddCookie(javax.servlet.http.HttpServletResponse response, java.lang.String name, java.lang.String value, int maxAgeInSeconds)设定返回给客户端的Cookie
Path: "/"
No Domainstatic voidaddCookie(javax.servlet.http.HttpServletResponse response, java.lang.String name, java.lang.String value, int maxAgeInSeconds, java.lang.String path, java.lang.String domain)设定返回给客户端的Cookiestatic voidaddCookie(javax.servlet.http.HttpServletResponse response, javax.servlet.http.Cookie cookie)设定返回给客户端的Cookiestatic <T> TfillBean(javax.servlet.ServletRequest request, T bean, boolean isIgnoreError)ServletRequest 参数转Beanstatic <T> TfillBean(javax.servlet.ServletRequest request, T bean, cn.hutool.core.bean.copier.CopyOptions copyOptions)ServletRequest 参数转Beanstatic java.lang.StringgetBody(javax.servlet.ServletRequest request)获取请求体
调用该方法后,getParam方法将失效static byte[]getBodyBytes(javax.servlet.ServletRequest request)获取请求体byte[]
调用该方法后,getParam方法将失效static java.lang.StringgetClientIP()获取客户端IPstatic java.lang.StringgetClientIP(javax.servlet.http.HttpServletRequest request, java.lang.String... otherHeaderNames)获取客户端IPstatic java.lang.StringgetClientIPByHeader(javax.servlet.http.HttpServletRequest request, java.lang.String... headerNames)获取客户端IPstatic javax.servlet.http.CookiegetCookie(java.lang.String name)获得指定的Cookiestatic javax.servlet.http.CookiegetCookie(javax.servlet.http.HttpServletRequest httpServletRequest, java.lang.String name)获得指定的Cookiestatic java.lang.StringgetHeader(javax.servlet.http.HttpServletRequest request, java.lang.String name, java.lang.String charsetName)获得请求header中的信息static java.lang.StringgetHeader(javax.servlet.http.HttpServletRequest request, java.lang.String name, java.nio.charset.Charset charset)获得请求header中的信息static java.lang.StringgetHeaderIgnoreCase(javax.servlet.http.HttpServletRequest request, java.lang.String nameIgnoreCase)忽略大小写获得请求header中的信息static java.util.Map<java.lang.String,java.lang.String>getHeaderMap(javax.servlet.http.HttpServletRequest request)获取请求所有的头(header)信息static MultipartFormDatagetMultipart()获得multipart/form-data 表单内容
包括文件和普通表单数据
在同一次请求中,此方法只能被执行一次!static java.util.Map<java.lang.String,java.lang.String>getParamMap(javax.servlet.ServletRequest request)获得所有请求参数static java.util.Map<java.lang.String,java.lang.String[]>getParams(javax.servlet.ServletRequest request)获得所有请求参数static javax.servlet.http.HttpServletRequestgetRequest()获得当前请求上下文中的HttpServletRequeststatic org.springframework.web.context.request.ServletRequestAttributesgetRequestAttributes()获得当前请求上下文中的ServletRequestAttributesstatic javax.servlet.http.HttpServletResponsegetResponse()获得当前请求上下文中的HttpServletResponsestatic java.lang.StringgetServerURL()获得当前请求的服务器的URL地址static javax.servlet.http.HttpSessiongetSession()获得当前请求HttpSessionstatic java.io.PrintWritergetWriter(javax.servlet.http.HttpServletResponse response)获得PrintWriterstatic booleanisGetMethod(javax.servlet.http.HttpServletRequest request)是否为GET请求static booleanisIE(javax.servlet.http.HttpServletRequest request)客户浏览器是否为IEstatic booleanisMultipart(javax.servlet.http.HttpServletRequest request)是否为Multipart类型表单,此类型表单用于文件上传static booleanisPostMethod(javax.servlet.http.HttpServletRequest request)是否为POST请求static voidprintRequest()打印请求报文static java.util.Map<java.lang.String,javax.servlet.http.Cookie>readCookieMap(javax.servlet.http.HttpServletRequest httpServletRequest)将cookie封装到Map里面static voidsetHeader(javax.servlet.http.HttpServletResponse response, java.lang.String name, java.lang.Object value)设置响应的Headerstatic <T> TtoBean(javax.servlet.ServletRequest request, java.lang.Class<T> beanClass, boolean isIgnoreError)ServletRequest 参数转Beanstatic voidwrite(javax.servlet.http.HttpServletResponse response, java.io.File file)返回文件给客户端static voidwrite(javax.servlet.http.HttpServletResponse response, java.io.InputStream in)返回数据给客户端static voidwrite(javax.servlet.http.HttpServletResponse response, java.io.InputStream in, int bufferSize)返回数据给客户端static voidwrite(javax.servlet.http.HttpServletResponse response, java.io.InputStream in, java.lang.String contentType)返回数据给客户端static voidwrite(javax.servlet.http.HttpServletResponse response, java.io.InputStream in, java.lang.String contentType, java.lang.String fileName)返回数据给客户端static voidwrite(javax.servlet.http.HttpServletResponse response, java.lang.String text, java.lang.String contentType)返回数据给客户端
-
-
-
字段详细资料
-
METHOD_DELETE
public static final java.lang.String METHOD_DELETE
- 另请参阅:
- 常量字段值
-
METHOD_HEAD
public static final java.lang.String METHOD_HEAD
- 另请参阅:
- 常量字段值
-
METHOD_GET
public static final java.lang.String METHOD_GET
- 另请参阅:
- 常量字段值
-
METHOD_OPTIONS
public static final java.lang.String METHOD_OPTIONS
- 另请参阅:
- 常量字段值
-
METHOD_POST
public static final java.lang.String METHOD_POST
- 另请参阅:
- 常量字段值
-
METHOD_PUT
public static final java.lang.String METHOD_PUT
- 另请参阅:
- 常量字段值
-
METHOD_TRACE
public static final java.lang.String METHOD_TRACE
- 另请参阅:
- 常量字段值
-
HTTP_TCP_NAME
public static final java.lang.String HTTP_TCP_NAME
- 另请参阅:
- 常量字段值
-
HTTPS_TCP_NAME
public static final java.lang.String HTTPS_TCP_NAME
- 另请参阅:
- 常量字段值
-
POINTCUT
public static final java.lang.String POINTCUT
HttpAspect请求切入点- 另请参阅:
- 常量字段值
-
-
方法详细资料
-
getRequestAttributes
public static org.springframework.web.context.request.ServletRequestAttributes getRequestAttributes()
获得当前请求上下文中的ServletRequestAttributes- 返回:
- ServletRequestAttributes
-
getRequest
public static javax.servlet.http.HttpServletRequest getRequest()
获得当前请求上下文中的HttpServletRequest- 返回:
- HttpServletRequest
-
getResponse
public static javax.servlet.http.HttpServletResponse getResponse()
获得当前请求上下文中的HttpServletResponse- 返回:
- HttpServletResponse
-
getSession
public static javax.servlet.http.HttpSession getSession()
获得当前请求HttpSession- 返回:
- HttpSession
-
getServerURL
public static java.lang.String getServerURL()
获得当前请求的服务器的URL地址示例一:http://localhost:8080
示例二:http://localhost:8080/projectName- 返回:
- 当前请求的服务器的URL地址
-
printRequest
public static void printRequest()
打印请求报文注意:打印不包括:异步请求内容、数据流
-
getParams
public static java.util.Map<java.lang.String,java.lang.String[]> getParams(javax.servlet.ServletRequest request)
获得所有请求参数- 参数:
request- 请求对象ServletRequest- 返回:
- Map
-
getParamMap
public static java.util.Map<java.lang.String,java.lang.String> getParamMap(javax.servlet.ServletRequest request)
获得所有请求参数- 参数:
request- 请求对象ServletRequest- 返回:
- Map
-
getBody
public static java.lang.String getBody(javax.servlet.ServletRequest request)
获取请求体
调用该方法后,getParam方法将失效- 参数:
request-ServletRequest- 返回:
- 获得请求体
- 从以下版本开始:
- 4.0.2
-
getBodyBytes
public static byte[] getBodyBytes(javax.servlet.ServletRequest request)
获取请求体byte[]
调用该方法后,getParam方法将失效- 参数:
request-ServletRequest- 返回:
- 获得请求体byte[]
- 从以下版本开始:
- 4.0.2
-
fillBean
public static <T> T fillBean(javax.servlet.ServletRequest request, T bean, cn.hutool.core.bean.copier.CopyOptions copyOptions)ServletRequest 参数转Bean- 类型参数:
T- Bean类型- 参数:
request- ServletRequestbean- BeancopyOptions- 注入时的设置- 返回:
- Bean
- 从以下版本开始:
- 3.0.4
-
fillBean
public static <T> T fillBean(javax.servlet.ServletRequest request, T bean, boolean isIgnoreError)ServletRequest 参数转Bean- 类型参数:
T- Bean类型- 参数:
request-ServletRequestbean- BeanisIgnoreError- 是否忽略注入错误- 返回:
- Bean
-
toBean
public static <T> T toBean(javax.servlet.ServletRequest request, java.lang.Class<T> beanClass, boolean isIgnoreError)ServletRequest 参数转Bean- 类型参数:
T- Bean类型- 参数:
request- ServletRequestbeanClass- Bean ClassisIgnoreError- 是否忽略注入错误- 返回:
- Bean
-
getClientIP
public static java.lang.String getClientIP()
获取客户端IP默认检测的Header:
1、X-Forwarded-For 2、X-Real-IP 3、Proxy-Client-IP 4、WL-Proxy-Client-IP
需要注意的是,使用此方法获取的客户IP地址必须在Http服务器(例如Nginx)中配置头信息,否则容易造成IP伪造。
- 返回:
- IP地址
-
getClientIP
public static java.lang.String getClientIP(javax.servlet.http.HttpServletRequest request, java.lang.String... otherHeaderNames)获取客户端IP默认检测的Header:
1、X-Forwarded-For 2、X-Real-IP 3、Proxy-Client-IP 4、WL-Proxy-Client-IP
otherHeaderNames参数用于自定义检测的Header
需要注意的是,使用此方法获取的客户IP地址必须在Http服务器(例如Nginx)中配置头信息,否则容易造成IP伪造。- 参数:
request- 请求对象HttpServletRequestotherHeaderNames- 其他自定义头文件,通常在Http服务器(例如Nginx)中配置- 返回:
- IP地址
-
getClientIPByHeader
public static java.lang.String getClientIPByHeader(javax.servlet.http.HttpServletRequest request, java.lang.String... headerNames)获取客户端IPheaderNames参数用于自定义检测的Header
需要注意的是,使用此方法获取的客户IP地址必须在Http服务器(例如Nginx)中配置头信息,否则容易造成IP伪造。- 参数:
request- 请求对象HttpServletRequestheaderNames- 自定义头,通常在Http服务器(例如Nginx)中配置- 返回:
- IP地址
- 从以下版本开始:
- 4.4.1
-
getMultipart
public static MultipartFormData getMultipart() throws cn.hutool.core.io.IORuntimeException
获得multipart/form-data 表单内容
包括文件和普通表单数据
在同一次请求中,此方法只能被执行一次!- 返回:
- MultiPart表单
- 抛出:
cn.hutool.core.io.IORuntimeException- IO异常- 从以下版本开始:
- 4.0.2
-
getHeaderMap
public static java.util.Map<java.lang.String,java.lang.String> getHeaderMap(javax.servlet.http.HttpServletRequest request)
获取请求所有的头(header)信息- 参数:
request- 请求对象HttpServletRequest- 返回:
- header值
-
getHeaderIgnoreCase
public static final java.lang.String getHeaderIgnoreCase(javax.servlet.http.HttpServletRequest request, java.lang.String nameIgnoreCase)忽略大小写获得请求header中的信息- 参数:
request- 请求对象HttpServletRequestnameIgnoreCase- 忽略大小写头信息的KEY- 返回:
- header值
-
getHeader
public static java.lang.String getHeader(javax.servlet.http.HttpServletRequest request, java.lang.String name, java.lang.String charsetName)获得请求header中的信息- 参数:
request- 请求对象HttpServletRequestname- 头信息的KEYcharsetName- 字符集- 返回:
- header值
-
getHeader
public static java.lang.String getHeader(javax.servlet.http.HttpServletRequest request, java.lang.String name, java.nio.charset.Charset charset)获得请求header中的信息- 参数:
request- 请求对象HttpServletRequestname- 头信息的KEYcharset- 字符集- 返回:
- header值
-
isIE
public static boolean isIE(javax.servlet.http.HttpServletRequest request)
客户浏览器是否为IE- 参数:
request- 请求对象HttpServletRequest- 返回:
- 客户浏览器是否为IE
-
isGetMethod
public static boolean isGetMethod(javax.servlet.http.HttpServletRequest request)
是否为GET请求- 参数:
request- 请求对象HttpServletRequest- 返回:
- 是否为GET请求
-
isPostMethod
public static boolean isPostMethod(javax.servlet.http.HttpServletRequest request)
是否为POST请求- 参数:
request- 请求对象HttpServletRequest- 返回:
- 是否为POST请求
-
isMultipart
public static boolean isMultipart(javax.servlet.http.HttpServletRequest request)
是否为Multipart类型表单,此类型表单用于文件上传- 参数:
request- 请求对象HttpServletRequest- 返回:
- 是否为Multipart类型表单,此类型表单用于文件上传
-
getCookie
public static final javax.servlet.http.Cookie getCookie(java.lang.String name)
获得指定的Cookie- 参数:
name- cookie名- 返回:
- Cookie对象
-
getCookie
public static final javax.servlet.http.Cookie getCookie(javax.servlet.http.HttpServletRequest httpServletRequest, java.lang.String name)获得指定的Cookie- 参数:
httpServletRequest-HttpServletRequestname- cookie名- 返回:
- Cookie对象
-
readCookieMap
public static final java.util.Map<java.lang.String,javax.servlet.http.Cookie> readCookieMap(javax.servlet.http.HttpServletRequest httpServletRequest)
将cookie封装到Map里面- 参数:
httpServletRequest-HttpServletRequest- 返回:
- Cookie map
-
addCookie
public static final void addCookie(javax.servlet.http.HttpServletResponse response, javax.servlet.http.Cookie cookie)设定返回给客户端的Cookie- 参数:
response- 响应对象HttpServletResponsecookie- Servlet Cookie对象
-
addCookie
public static final void addCookie(javax.servlet.http.HttpServletResponse response, java.lang.String name, java.lang.String value)设定返回给客户端的Cookie- 参数:
response- 响应对象HttpServletResponsename- Cookie名value- Cookie值
-
addCookie
public static final void addCookie(javax.servlet.http.HttpServletResponse response, java.lang.String name, java.lang.String value, int maxAgeInSeconds, java.lang.String path, java.lang.String domain)设定返回给客户端的Cookie- 参数:
response- 响应对象HttpServletResponsename- cookie名value- cookie值maxAgeInSeconds- -1: 关闭浏览器清除Cookie. 0: 立即清除Cookie. >0 : Cookie存在的秒数.path- Cookie的有效路径domain- the domain name within which this cookie is visible; form is according to RFC 2109
-
addCookie
public static final void addCookie(java.lang.String name, java.lang.String value, int maxAgeInSeconds)设定返回给客户端的Cookie
Path: "/"
No Domain- 参数:
name- cookie名value- cookie值maxAgeInSeconds- -1: 关闭浏览器清除Cookie. 0: 立即清除Cookie. >0 : Cookie存在的秒数.
-
addCookie
public static final void addCookie(javax.servlet.http.HttpServletResponse response, java.lang.String name, java.lang.String value, int maxAgeInSeconds)设定返回给客户端的Cookie
Path: "/"
No Domain- 参数:
response- 响应对象HttpServletResponsename- cookie名value- cookie值maxAgeInSeconds- -1: 关闭浏览器清除Cookie. 0: 立即清除Cookie. >0 : Cookie存在的秒数.
-
getWriter
public static java.io.PrintWriter getWriter(javax.servlet.http.HttpServletResponse response) throws cn.hutool.core.io.IORuntimeException获得PrintWriter- 参数:
response- 响应对象HttpServletResponse- 返回:
- 获得PrintWriter
- 抛出:
cn.hutool.core.io.IORuntimeException- IO异常
-
write
public static void write(javax.servlet.http.HttpServletResponse response, java.lang.String text, java.lang.String contentType)返回数据给客户端- 参数:
response- 响应对象HttpServletResponsetext- 返回的内容contentType- 返回的类型
-
write
public static void write(javax.servlet.http.HttpServletResponse response, java.io.File file)返回文件给客户端- 参数:
response- 响应对象HttpServletResponsefile- 写出的文件对象- 从以下版本开始:
- 4.1.15
-
write
public static void write(javax.servlet.http.HttpServletResponse response, java.io.InputStream in, java.lang.String contentType, java.lang.String fileName)返回数据给客户端- 参数:
response- 响应对象HttpServletResponsein- 需要返回客户端的内容contentType- 返回的类型fileName- 文件名- 从以下版本开始:
- 4.1.15
-
write
public static void write(javax.servlet.http.HttpServletResponse response, java.io.InputStream in, java.lang.String contentType)返回数据给客户端- 参数:
response- 响应对象HttpServletResponsein- 需要返回客户端的内容contentType- 返回的类型
-
write
public static void write(javax.servlet.http.HttpServletResponse response, java.io.InputStream in)返回数据给客户端- 参数:
response- 响应对象HttpServletResponsein- 需要返回客户端的内容
-
write
public static void write(javax.servlet.http.HttpServletResponse response, java.io.InputStream in, int bufferSize)返回数据给客户端- 参数:
response- 响应对象HttpServletResponsein- 需要返回客户端的内容bufferSize- 缓存大小
-
setHeader
public static void setHeader(javax.servlet.http.HttpServletResponse response, java.lang.String name, java.lang.Object value)设置响应的Header- 参数:
response- 响应对象HttpServletResponsename- 名value- 值,可以是String,Date, int
-
-