cookie的使用一般用来携带用户信息做身份验证,这里做一些简单的使用cookie,不结合业务,如下:这里没有做cookie的加密处理,一般设置cookie的时候需要加密,加密规则如md5,base64等等。
public class cookieUtils {
public static cookie[] getcookies(HttpServletRequest request){
cookie[] cookies = request.getcookies();
return cookies;
}
public static void setcookie(HttpServletRequest request, HttpServletResponse response,String cookieName,String cookievalue,Integer time){
cookie cookie=new cookie(cookieName,cookievalue);
//设置过期时间
if(time>0){
cookie.setMaxAge(time);
}
//可在同一应用服务器内共享
cookie.setPath("/");
//设置跨域共享cookie,tomcat8.0之前以.开头,8.0之后就不需要了
//cookie.setDomain("demo.com");
response.addcookie(cookie);
}
public static void deletecookie(HttpServletRequest request, HttpServletResponse response,String cookieName){
cookie[] cookies = request.getcookies();
if(null!=cookies) {
for (cookie cookie : cookies) {
if (cookie.getName().equals(cookieName)) {
cookie.setValue(null);
cookie.setMaxAge(0);// 立即销毁cookie
cookie.setPath("/");
System.out.println("被删除的cookie名字为:" + cookie.getName());
response.addcookie(cookie);
break;
}
}
}
}
public static void updatecookie(HttpServletRequest request, HttpServletResponse response,String cookieName,String cookievalue,Integer time){
cookie[] cookies = request.getcookies();
if(null!=cookies) {
for(cookie cookie : cookies){
if(cookie.getName().equals(cookieName)){
cookie.setValue(cookievalue);
cookie.setPath("/");
cookie.setMaxAge(time);
response.addcookie(cookie);
break;
}
}
}
}
public static String getcookieByName(HttpServletRequest request,String cookieName){
cookie[] cookies = request.getcookies();
if(null!=cookies) {
for(cookie cookie : cookies){
if(cookie.getName().equals(cookieName)){
return cookie.getValue();
}
}
}
return "";
}
}
简单测试:
@RestController
@RequestMapping("/cookie")
@Slf4j
public class cookieController {
@GetMapping("/getcookies")
public void getcookies(HttpServletRequest request){
cookie[] cookies = cookieUtils.getcookies(request);
for(int i=0;i
测试结果:



