zoukankan      html  css  js  c++  java
  • 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);
    }
    }
    }
    }

  • 相关阅读:
    对健康的一些思考
    对提问的一些思考
    UVA 10118 Free Candies(免费糖果)(dp记忆化搜索)
    UVA 10285 Longest Run on a Snowboard(最长的滑雪路径)(dp记忆化搜索)
    UVA 12186 Another Crisis(工人的请愿书)(树形dp)
    UVA 10003 Cutting Sticks(切木棍)(dp)
    UVA 11584 Partitioning by Palindromes(划分成回文串)(dp)
    【洛谷P1144】最短路计数【最短路】
    【洛谷P1144】最短路计数【最短路】
    【洛谷P1144】最短路计数【最短路】
  • 原文地址:https://www.cnblogs.com/toSeeMyDream/p/4514858.html
Copyright © 2011-2022 走看看