本文共 2152 字,大约阅读时间需要 7 分钟。
cookie小练习之CookieUtil类编写
具体细节见代码及注释:
package util;import java.net.URLDecoder;import java.net.URLEncoder;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * 此类实现了cookie的添加、删除、查找功能 * */public class CookieUtil { //方便设置cookie的路径 private static String appName = "/web06"; /** * 添加cookie方法 * @param name --cookie的名字 * @param value --cookie的值 * @param age --cookie的生存时间 * @param response --响应对象 */ public static void addCookie(String name,String value,int age,HttpServletResponse response){ try { //URLEncoder.encode --处理中文编码问题 Cookie c = new Cookie(name,URLEncoder.encode(value,"utf-8")); c.setMaxAge(age); //设置cookie的生存时间 c.setPath(appName); //设置cookie的路径 response.addCookie(c); } catch (Exception e) { e.printStackTrace(); } } /** * 根据cookie的名字删除cookie * @param name --要删除的cookie的名字 * @param request --请求对象 * @param response --响应对象 */ public static void deleteCookie(String name,HttpServletRequest request,HttpServletResponse response){ Cookie c1 = new Cookie(name,""); c1.setMaxAge(0); c1.setPath(appName); response.addCookie(c1); } /** * 根据cookie的名字查找cookie的值 * @param name --cookie的名字 * @param request --请求对象 * @return 返回对应的value,没有返回null */ public static String findCookie(String name,HttpServletRequest request){ String value = null; Cookie[] cookies = request.getCookies(); if(cookies != null){ for(int i=0;i测试代码:
package web;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import util.CookieUtil;public class TestCookieUtil extends HttpServlet { public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); String value = CookieUtil.findCookie("name",request); if(value != null){ out.println("value:"+value+" "); }else{ CookieUtil.addCookie("name", "zhangsan", 100, response); } out.close(); }}
转载地址:http://wzrws.baihongyu.com/