六、JSP——Cookie
来源:互联网 发布:linux 大文件中查找 编辑:程序博客网 时间:2024/06/05 09:07
- Cookie
- 保存用户状态的机制
- Cookie介绍
- 应用
- 一cookie的创建与使用
- 创建cookie步骤
- 获取cookie
- 常用方法
- 二使用cookie实现登入记录的例子
- 三session和cookie对比
- Cookie
Cookie
保存用户状态的机制
- session
- cookie
Cookie介绍:
称为“小甜饼”,是Web服务器中保存在客户端的一系列文本信息
应用:
- 典型应用1:判断注册用户是否已经登入网站
- 典型应用2:“购物车”的处理
作用:
1.对特定对象的追踪
2.保存用户网页浏览记录与习惯
3.简化登入
风险:容易泄漏用户信息
一、cookie的创建与使用
创建cookie步骤
创建Cookie对象:
Cookie newCookie=new Cookie(String key,Object value);
写入Cookie对象:
response.addCookie(newCookie);
读取Cookie对象:
Cookie[ ] cookies=request.getCookie( );
获取cookie
通过request.getCookies()方法获取cookie的内容,cookie的内容是数组
<!--获取cookie-->Cookie[] cookies = request.getCookies();<!--循环遍历输出cookies-->for(Cookie c:cookies){ system.out.println(c.getName()+" ,"+c.getValue());}
常用方法
setMaxAge(int expiry);//设置Cookie有效时间,以秒为单位getMaxAge();//获取cookie的有效时间,以秒为单位setValue(String value);//在cookie创建后,对cookie进行赋值getValue();//获取cookie的值getName();//获取cookie的名称
二、使用cookie实现登入记录的例子
1.创建login.jsp
<%@ page language="java" import="java.util.*,java.net.*" pageEncoding="UTF-8"%><body>//登入勾选cookie后将用户名和密码保留在登入框中 <% String username=""; String password=""; Cookie[] cookies = request.getCookies(); if (cookies != null && cookies.length > 0) { for (Cookie c : cookies) { if (c.getName().equals("username")) { username=URLDecoder.decode(c.getValue(), "utf-8"); } if(c.getName().equals("password")){ password=URLDecoder.decode(c.getValue(), "utf-8"); } } } %> <form action="dologin.jsp" method="post"> 用户:<input type="text" name="username" value="<%=username %>"> <br> 密码:<input type="password" name="password" value="<%=password %>"> <br> <br> <input type="checkbox" checked="checked" name="usecookie">十天内记住我的登录状态 <br> <input type="submit" value="登入"> </form></body>
2.创建dologin.jsp
<body> <%request.setCharacterEncoding("utf-8"); %> <% String[] cookie = request.getParameterValues("usecookie"); if (cookie != null && cookie.length>0) { //获取表单用户名和密码,URLEcoder编码cookie的中文字符串为UTF-8 String username = URLEncoder.encode(request.getParameter("username"),"utf-8"); String password = URLEncoder.encode(request.getParameter("password"),"utf-8"); //将信息保存在cookie中 Cookie usernameCookie = new Cookie("username", username); Cookie passwordCookie = new Cookie("password", password); //设置Cookie的有效时间 usernameCookie.setMaxAge(864000); passwordCookie.setMaxAge(864000); response.addCookie(usernameCookie); response.addCookie(passwordCookie); } else { //获取cookie的内容 Cookie[] cookies = request.getCookies(); if (cookies != null && cookies.length > 0) { //循环遍历查找cookie中的username和password for (Cookie c : cookies) { //如果c.getName()获取cookie的名称和username if (c.getName().equals("username")|| c.getName().equals("password")) { c.setMaxAge(0);//将生命期限设置成0秒失效 response.addCookie(c);//将c保存在cookie } } } } %> <a href="user.jsp">查看用户信息</a> </body>
3.创建user.jsp
<body> <% request.setCharacterEncoding("utf-8"); String username=""; String password=""; Cookie[] cookies = request.getCookies(); if (cookies != null && cookies.length > 0) { for (Cookie c : cookies) { if (c.getName().equals("username")) { //URLDecoder方法解码成ut-8 username=URLDecoder.decode(c.getValue(),"utf-8"); } if(c.getName().equals("password")){ password=URLDecoder.decode(c.getValue(),"utf-8"); } } } %> 用户名:<%=username %> 密码:<%=password %> </body>
三、session和cookie对比
阅读全文
0 0
- 六、JSP——Cookie
- JSP(3)—Cookie和Session
- JSP学习笔记(六):cookie的读写
- J2EE技术(六)——JSP
- JSP基础(六)——JSP的动作元素
- SERVLETJSP学习(六)—— 状态管理-cookie
- jsp学习的简单代码(6)——cookie
- 回看JSP——Cookie的用法
- JSP —— 内置对象 Cookie 与 Session
- JSP基础(八)——使用Cookie记录信息
- JSP(4)—Cookie创建及简单案例(自动登录)
- jsp cookie
- jsp cookie
- Jsp cookie
- jsp:Cookie
- jsp cookie
- jsp cookie
- JSP cookie
- Jconsole初体验
- 正定矩阵
- Android APP秒开
- [日推荐]『小谈吧』一种新的开会方式
- 627. Swap Salary
- 六、JSP——Cookie
- python requests用接口爬拉钩网职位信息
- Redundant Paths POJ
- Leetcode#190. Reverse Bits (反向位&位运算)
- Window.open()方法参数详解
- 如何在WPF或者C#中打开外部资源:System.Diagnostics.Process.Start()
- Count and Say
- 二分
- 做题