Servlet-Cookie的使用与删除
发布日期:2021-06-30 18:40:53 浏览次数:4 分类:技术文章

本文共 2545 字,大约阅读时间需要 8 分钟。

1、Cookie的使用

/** * @author CSDN_LQR * @TODO *  *       一、 Cookie默认是会话级Cookie,即当浏览器关闭时自动删除 *  *       二、可以使用maxAge来改变Cookie的存活时间 *  *       1、负值:cookie的数据存在浏览器缓存中(默认是-1),当浏览器关闭即删除 *  *       2、0:cookie马上删除(浏览器都不用关闭)。路径要保持一致,否则可能删错。 *  *       3、正值:缓存的时间(持久化到磁盘上),是指关闭浏览器后该cookie的存活时间 *  *       三、path的默认值是Cookie的那个程序 的访问路径 *  *       1、比如:http://localhost:8080/cookieDemo/servlet/demo1 写的Cookie *  *       path就是:/cookieDemo/servlet/ 看当前创建cookie的资源(servlet)文件路径 *  *       2、浏览器在访问服务器另外资源时,根据访问的路径来决定 是否带着Cookie到服务器 *  *       3、当前访问的路径如果是以cookie的path开关的路径,浏览器就带,否则不带 *  *       如果另一个servlet的访问路径是http://localhost:8080/cookieDemo/demo2,path是/ *       cookieDemo/而不是/cookieDemo/servlet/,所以不会携带cookie *  */public class CookieDemo1 extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); // 遍历所有的cookies,得到指定的cookies并显示到网页 Cookie[] cookies = request.getCookies(); for (int i = 0; cookies != null && i < cookies.length; i++) { if ("lastAcceptTime".equals(cookies[i].getName())) { long time = Long.parseLong(cookies[i].getValue()); out.write("您上次的访问时间是:" + new Date(time).toLocaleString()); } } // 将当前的时间保存到cookie中 Cookie ck = new Cookie("lastAcceptTime", System.currentTimeMillis() + ""); // 设置cookie的存活时间,单位:秒 ck.setMaxAge(10); // ck.setPath(request.getContextPath());// /应用名 ck.setPath("/");// 与上面的效果一致,让所有访问地址以path开头的servlet共享该cookie,即这种情况浏览器都携带 response.addCookie(ck); // 删除cookie out.print("clear"); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); }}

2、Cookie的删除

/** * @author CSDN_LQR * @TODO 删除Cookie *  *       只是删除cookie本地文件,浏览器缓存中还是有的(需要关闭浏览器) *  */public class CookieDemo2 extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Cookie ck = new Cookie("lastAcceptTime", ""); ck.setPath("/");// 路径一定要正确,否则可能会删错对象 ck.setMaxAge(0); response.addCookie(ck); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); }}

转载地址:https://linqiarui.blog.csdn.net/article/details/52831284 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Servlet-HttpSession常用方法及状态
下一篇:Servlet-request之与请求正文相关的方法

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年05月04日 07时28分29秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章