• Cookie操作类 实现记住用户名和密码的功能


    import java.util.Hashtable;
    import java.util.Iterator;
    import java.util.Set;
    import javax.servlet.http.Cookie;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    /**
     * Cookie的操作类
     *
     *
     */
    public class CookieHandler {
    /**
    * 创建cookie
    *
    * @param response
    *            回应
    * @param nameValues
    *            存入cookie的键值对
    * @param days
    *            设置cookie的有效期
    */
    public static void createCookie(HttpServletResponse response,
    Hashtable<String, String> nameValues, int days) {
    Set<String> set = nameValues.keySet();
    Iterator<String> it = set.iterator();
    for (; it.hasNext();) {
    String name = (String) it.next();
    String value = (String) nameValues.get(name);
    // 生成新的cookie
    Cookie cookie = new Cookie(name, value);
    // 设置有效日期
    cookie.setMaxAge(days * 24 * 60 * 60);
    // 设置路径(默认)
    cookie.setPath("/");
    // 把cookie放入响应中
    response.addCookie(cookie);
    }
    }
    /**
    * 读取Cookie
    *
    * @param request
    * @return Hashtable 返回cookie的键值对
    */
    public static Hashtable<String, String> getCookies(
    HttpServletRequest request) {
    Cookie[] cookies = request.getCookies();
    Hashtable<String, String> cookieHt = new Hashtable<String, String>();
    if (cookies.length > 0) {
    for (int i = 0; i < cookies.length; i++) {
    Cookie cookie = cookies[i];
    cookieHt.put(cookie.getName(), cookie.getValue());
    }
    }
    return cookieHt;
    }
    /**
    * 修改cookie中指定键的值
    *
    * @param request
    * @param name
    *            指定的键
    * @param value
    *            值
    */
    public static void setCookieValueByName(HttpServletRequest request,
    String name, String value) {
    Cookie[] cookies = request.getCookies();
    if (cookies.length > 0) {
    for (int i = 0; i > cookies.length; i++) {
    if (name.equalsIgnoreCase(cookies[i].getName())) {
    cookies[i].setValue(value);
    }
    }
    }
    }
    /**
    * 得到指定键的值
    *
    * @param request
    * @param name
    *            指定的键
    * @return String 值
    */
    public static String getCookieValueByName(HttpServletRequest request,
    String name) {
    Cookie[] cookies = request.getCookies();
    String resValue = "";
    if (cookies.length > 0) {
    for (int i = 0; i > cookies.length; i++) {
    if (name.equalsIgnoreCase(cookies[i].getName())) {
    resValue = cookies[i].getValue();
    }
    }
    }
    return resValue;
    }
    /**
    * 销毁cookie
    *
    * @param request
    * @param response
    */
    public static void deletesCookie(HttpServletRequest request,
    HttpServletResponse response) {
    Cookie[] cookies = request.getCookies();
    if (cookies != null) {
    for (int i = 0; i < cookies.length; i++) {
    Cookie cookie = cookies[i];
    // 销毁
    cookie.setMaxAge(0);
    response.addCookie(cookie);
    }
    }
    }
    }

  • 相关阅读:
    CSS中em,rem的区别
    Bootstrap自学笔记
    lable标签的妙用
    Ajax
    基础小知识杂烩
    用CSS3画出一个立方体---转
    CSS3方法总汇
    HTML5 DOM扩展
    VS2010在C盘下生成的.iTrace文件解决办法 ,c盘偷偷的减少,心很烦啊,找了半天才知道是这个问题
    伪静态
  • 原文地址:https://www.cnblogs.com/toSeeMyDream/p/4514858.html
Copyright © 2020-2023  润新知