1. import java.io.UnsupportedEncodingException;
    2. import java.net.URLDecoder;
    3. import java.util.ArrayList;
    4. import java.util.List;
    5. import javax.servlet.http.Cookie;
    6. import javax.servlet.http.HttpServletRequest;
    7. import javax.servlet.http.HttpServletResponse;
    8. import org.springframework.web.context.request.RequestContextHolder;
    9. import org.springframework.web.context.request.ServletRequestAttributes;
    10. public class CookieUtils {
    11. /**
    12. * 删除Cookie
    13. * @param cookieName
    14. */
    15. public static void deleteCookie(String cookieName) {
    16. HttpServletResponse response = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse();
    17. Cookie deleteCookie = new Cookie(cookieName, "");
    18. deleteCookie.setPath("/");
    19. deleteCookie.setMaxAge(0);
    20. deleteCookie.setDomain("javaex.com");
    21. response.addCookie(deleteCookie);
    22. }
    23. /**
    24. * 删除Cookie
    25. * @param token
    26. * @param response
    27. */
    28. public static void deleteCookie(String cookieName, HttpServletResponse response) {
    29. Cookie deleteCookie = new Cookie(cookieName, "");
    30. deleteCookie.setPath("/");
    31. deleteCookie.setMaxAge(0);
    32. deleteCookie.setDomain("javaex.com");
    33. response.addCookie(deleteCookie);
    34. }
    35. /**
    36. * 设置Cookie
    37. * @param cookieName
    38. * @param token
    39. */
    40. public static void setCookie(String cookieName, String token) {
    41. HttpServletResponse response = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse();
    42. Cookie addCookie = new Cookie(cookieName, token);
    43. addCookie.setMaxAge(1 * 24 * 60 * 60);
    44. addCookie.setPath("/");
    45. addCookie.setDomain("javaex.com");
    46. response.addCookie(addCookie);
    47. }
    48. /**
    49. * 获取Cookie
    50. * @param cookieName
    51. * @return
    52. */
    53. public static String getCookie(String cookieName) {
    54. HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
    55. HttpServletResponse response = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse();
    56. Cookie[] cookieArr = request.getCookies();
    57. if (cookieArr!=null && cookieArr.length>0) {
    58. for (int i=0; i<cookieArr.length; i++) {
    59. Cookie cookie = cookieArr[i];
    60. if (cookie.getName().equals(cookieName)) {
    61. try {
    62. return URLDecoder.decode(cookie.getValue(), "UTF-8");
    63. } catch (UnsupportedEncodingException e) {
    64. deleteCookie(cookieName, response);
    65. break;
    66. }
    67. }
    68. }
    69. }
    70. return "";
    71. }
    72. /**
    73. * 获取Cookie
    74. * @return
    75. */
    76. public static List<String> getCookieList() {
    77. List<String> cookieList = new ArrayList<>();
    78. HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
    79. Cookie[] cookies = request.getCookies();
    80. if (cookies == null || cookies.length == 0) {
    81. return cookieList;
    82. }
    83. for (Cookie cookie : cookies) {
    84. cookieList.add(cookie.getName() + "=" + cookie.getValue());
    85. }
    86. return cookieList;
    87. }
    88. }