zoukankan      html  css  js  c++  java
  • Cookie工具类

      1 import javax.servlet.http.Cookie;
      2 import javax.servlet.http.HttpServletRequest;
      3 import javax.servlet.http.HttpServletResponse;
      4 import java.io.UnsupportedEncodingException;
      5 import java.net.URLDecoder;
      6 import java.net.URLEncoder;
      7 
      8 /**
      9  * Cookie工具类
     10  */
     11 public class CookieUtil {
     12     /**
     13      * 设置 Cookie(生成时间为1天)
     14      * @param name 名称
     15      * @param value 值
     16      */
     17     public static void setCookie(HttpServletResponse response, String name, String value) {
     18         setCookie(response, name, value, 60*60*24);
     19     }
     20 
     21     /**
     22      * 设置 Cookie
     23      * @param name 名称
     24      * @param value 值
     25      */
     26     public static void setCookie(HttpServletResponse response, String name, String value, String path) {
     27         setCookie(response, name, value, path, 60*60*24);
     28     }
     29 
     30     /**
     31      * 设置 Cookie
     32      * @param name 名称
     33      * @param value 值
     34      * @param maxAge 生存时间(单位秒)
     35      */
     36     public static void setCookie(HttpServletResponse response, String name, String value, int maxAge) {
     37         setCookie(response, name, value, "/", maxAge);
     38     }
     39 
     40     /**
     41      * 设置 Cookie
     42      * @param name 名称
     43      * @param value 值
     44      * @param maxAge 生存时间(单位秒)
     45      */
     46     public static void setCookie(HttpServletResponse response, String name, String value, String path, int maxAge) {
     47         Cookie cookie = new Cookie(name, null);
     48         cookie.setPath(path);
     49         cookie.setMaxAge(maxAge);
     50         try {
     51             cookie.setValue(URLEncoder.encode(value, "utf-8"));
     52         } catch (UnsupportedEncodingException e) {
     53             e.printStackTrace();
     54         }
     55         response.addCookie(cookie);
     56     }
     57 
     58     /**
     59      * 获得指定Cookie的值
     60      * @param name 名称
     61      * @return 62      */
     63     public static String getCookie(HttpServletRequest request, String name) {
     64         return getCookie(request, null, name, false);
     65     }
     66     /**
     67      * 获得指定Cookie的值,并删除。
     68      * @param name 名称
     69      * @return 70      */
     71     public static String getCookie(HttpServletRequest request, HttpServletResponse response, String name) {
     72         return getCookie(request, response, name, true);
     73     }
     74     /**
     75      * 获得指定Cookie的值
     76      * @param request 请求对象
     77      * @param response 响应对象
     78      * @param name 名字
     79      * @param isRemove 是否移除
     80      * @return 81      */
     82     public static String getCookie(HttpServletRequest request, HttpServletResponse response, String name, boolean isRemove) {
     83         String value = null;
     84         Cookie[] cookies = request.getCookies();
     85         if (cookies != null) {
     86             for (Cookie cookie : cookies) {
     87                 if (cookie.getName().equals(name)) {
     88                     try {
     89                         value = URLDecoder.decode(cookie.getValue(), "utf-8");
     90                     } catch (UnsupportedEncodingException e) {
     91                         e.printStackTrace();
     92                     }
     93                     if (isRemove) {
     94                         cookie.setMaxAge(0);
     95                         response.addCookie(cookie);
     96                     }
     97                 }
     98             }
     99         }
    100         return value;
    101     }
    102 }

    IT技术和行业交流群 417691667

  • 相关阅读:
    JS 获取网页内容高度 和 网页可视高度 支持IE6789 Firefox Chrome
    JS 回车快捷键登陆页面 兼容火狐和IE
    如何设置span宽度
    实现三行布局页面自适应不同分辨率下的屏幕高度
    电脑个别网站打不开 POSTMAN可以请求通
    克隆DataTable
    Microsoft Visual SourceSafe 6.0 关联VS
    asp.net 网站设置访问超时时长
    sql server management studio(ssms)连接多个数据库注意事项
    ASP.NET Core 开发中间件(StaticFiles)使用
  • 原文地址:https://www.cnblogs.com/sun-rain/p/5723851.html
Copyright © 2011-2022 走看看