[英]How to parse the 'Cookie' header into `javax.servlet.http.Cookie` with Spring?
我想将来自http请求的cookie标头的值解析为javax.servlet.http.Cookie
实例。
例如,请求中的Cookie
:
Cookie: HSID=AYQEVnDKrdst; Domain=.foo.com; Path=/aaa; HttpOnly
spring是否提供任何实用程序来轻松解析它? 我不想手动解析它或涉及其他一些库
WebUtils提供了一种getCookie方法-WebUtils.getCookie
Cookie cookieName=WebUtils.getCookie(request,this.COOKIE_NAME);
String cookieValue = cookieName.getValue();
Spring提供@CookieValue
作为处理程序方法参数的注释。 它既支持Cookie
作为参数类型,也支持String
和int
。
指示方法参数应绑定到HTTP cookie的注释。 在Servlet和Portlet环境中支持带注释的处理程序方法。
方法参数可以声明为
javax.servlet.http.Cookie
类型或cookie值类型(String
,int
等)。
在WebUtils#getCookie
,它使用WebUtils#getCookie
将值解析为Cookie
。
您可以在Controller方法中使用Annotation尝试:
@CookieValue("Cookie") String cookie
然后使用内置的Java parse方法:
String[] cookieValues = StringUtils.split(cookie, ";");
或使用扫描仪:
Scanner scan = new Scanner(cookie).useDelimiter(";");
while(scan.hasNext()){
...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.