类 ServletUtils
- java.lang.Object
-
- ai.yue.library.web.util.servlet.ServletUtils
-
public class ServletUtils extends java.lang.ObjectServlet相关工具类封装
源自 hutool-extra 增强- 从以下版本开始:
- 2019年8月14日
- 作者:
- ylyue
-
-
字段概要
字段 修饰符和类型 字段 说明 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)设定返回给客户端的Cookiestatic voidaddCookie(java.lang.String name, java.lang.String value, int maxAgeInSeconds)设定返回给客户端的Cookie
Path: "/"
No Domainstatic voidaddCookie(java.lang.String name, java.lang.String value, int maxAgeInSeconds, java.lang.String path, java.lang.String domain)设定返回给客户端的Cookiestatic voidaddCookie(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(java.lang.String... otherHeaderNames)获取客户端IPstatic java.lang.StringgetClientIPByHeader(java.lang.String... headerNames)获取客户端IPstatic javax.servlet.http.CookiegetCookie(java.lang.String name)获得指定的Cookiestatic java.lang.StringgetHeader(java.lang.String name, java.lang.String charsetName)获得请求header中的信息static java.lang.StringgetHeader(java.lang.String name, java.nio.charset.Charset charset)获得请求header中的信息static java.lang.StringgetHeaderIgnoreCase(java.lang.String nameIgnoreCase)忽略大小写获得请求header中的信息static java.util.Map<java.lang.String,java.lang.String>getHeaderMap()获取请求所有的头(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()获得PrintWriterstatic booleanisGetMethod()是否为GET请求static booleanisIE()客户浏览器是否为IEstatic booleanisMultipart()是否为Multipart类型表单,此类型表单用于文件上传static booleanisPostMethod()是否为POST请求static voidprintRequest()打印请求报文static java.util.Map<java.lang.String,javax.servlet.http.Cookie>readCookieMap()将cookie封装到Map里面static voidsetHeader(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(java.io.File file)返回文件给客户端static voidwrite(java.io.InputStream in)返回数据给客户端static voidwrite(java.io.InputStream in, int bufferSize)返回数据给客户端static voidwrite(java.io.InputStream in, java.lang.String contentType)返回数据给客户端static voidwrite(java.io.InputStream in, java.lang.String contentType, java.lang.String fileName)返回数据给客户端static voidwrite(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(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伪造。- 参数:
otherHeaderNames- 其他自定义头文件,通常在Http服务器(例如Nginx)中配置- 返回:
- IP地址
-
getClientIPByHeader
public static java.lang.String getClientIPByHeader(java.lang.String... headerNames)
获取客户端IPheaderNames参数用于自定义检测的Header
需要注意的是,使用此方法获取的客户IP地址必须在Http服务器(例如Nginx)中配置头信息,否则容易造成IP伪造。- 参数:
headerNames- 自定义头,通常在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()
获取请求所有的头(header)信息- 返回:
- header值
- 从以下版本开始:
- 4.6.2
-
getHeaderIgnoreCase
public static java.lang.String getHeaderIgnoreCase(java.lang.String nameIgnoreCase)
忽略大小写获得请求header中的信息- 参数:
nameIgnoreCase- 忽略大小写头信息的KEY- 返回:
- header值
-
getHeader
public static java.lang.String getHeader(java.lang.String name, java.lang.String charsetName)获得请求header中的信息- 参数:
name- 头信息的KEYcharsetName- 字符集- 返回:
- header值
-
getHeader
public static java.lang.String getHeader(java.lang.String name, java.nio.charset.Charset charset)获得请求header中的信息- 参数:
name- 头信息的KEYcharset- 字符集- 返回:
- header值
- 从以下版本开始:
- 4.6.2
-
isIE
public static boolean isIE()
客户浏览器是否为IE- 返回:
- 客户浏览器是否为IE
-
isGetMethod
public static boolean isGetMethod()
是否为GET请求- 返回:
- 是否为GET请求
-
isPostMethod
public static boolean isPostMethod()
是否为POST请求- 返回:
- 是否为POST请求
-
isMultipart
public static boolean isMultipart()
是否为Multipart类型表单,此类型表单用于文件上传- 返回:
- 是否为Multipart类型表单,此类型表单用于文件上传
-
getCookie
public static javax.servlet.http.Cookie getCookie(java.lang.String name)
获得指定的Cookie- 参数:
name- cookie名- 返回:
- Cookie对象
-
readCookieMap
public static java.util.Map<java.lang.String,javax.servlet.http.Cookie> readCookieMap()
将cookie封装到Map里面- 返回:
- Cookie map
-
addCookie
public static void addCookie(javax.servlet.http.Cookie cookie)
设定返回给客户端的Cookie- 参数:
cookie- Servlet Cookie对象
-
addCookie
public static void addCookie(java.lang.String name, java.lang.String value)设定返回给客户端的Cookie- 参数:
name- Cookie名value- Cookie值
-
addCookie
public static void addCookie(java.lang.String name, java.lang.String value, int maxAgeInSeconds, java.lang.String path, java.lang.String domain)设定返回给客户端的Cookie- 参数:
name- 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 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存在的秒数.
-
getWriter
public static java.io.PrintWriter getWriter() throws cn.hutool.core.io.IORuntimeException获得PrintWriter- 返回:
- 获得PrintWriter
- 抛出:
cn.hutool.core.io.IORuntimeException- IO异常
-
write
public static void write(java.lang.String text, java.lang.String contentType)返回数据给客户端- 参数:
text- 返回的内容contentType- 返回的类型
-
write
public static void write(java.io.File file)
返回文件给客户端- 参数:
file- 写出的文件对象- 从以下版本开始:
- 4.1.15
-
write
public static void write(java.io.InputStream in, java.lang.String contentType, java.lang.String fileName)返回数据给客户端- 参数:
in- 需要返回客户端的内容contentType- 返回的类型fileName- 文件名- 从以下版本开始:
- 4.1.15
-
write
public static void write(java.io.InputStream in, java.lang.String contentType)返回数据给客户端- 参数:
in- 需要返回客户端的内容contentType- 返回的类型
-
write
public static void write(java.io.InputStream in)
返回数据给客户端- 参数:
in- 需要返回客户端的内容
-
write
public static void write(java.io.InputStream in, int bufferSize)返回数据给客户端- 参数:
in- 需要返回客户端的内容bufferSize- 缓存大小
-
setHeader
public static void setHeader(java.lang.String name, java.lang.Object value)设置响应的Header- 参数:
name- 名value- 值,可以是String,Date, int
-
-