青岛建韩国网站的公司,天猫商城网官网,电子商城网站建设参考文献,评论啦 wordpress怎么出来个友言3.1 Cookie
【案例1 记住密码】 实现效果 当勾选“记住密码”复选框时#xff0c;下次访问登录页面#xff0c;会自动记住账号#xff0c;密码信息。 【案例2 上次访问时间】 实现效果 首次登录#xff0c;显示“欢迎您#xff0c;XXX” 下次登录#xff0c;显示“欢迎您…3.1 Cookie
【案例1 记住密码】 实现效果 当勾选“记住密码”复选框时下次访问登录页面会自动记住账号密码信息。 【案例2 上次访问时间】 实现效果 首次登录显示“欢迎您XXX” 下次登录显示“欢迎您XXX,您上次登录时间为 yyyy年MM月dd日 hh:mm:ss” 1. 概念 Cookie是客户端会话技术将数据保存在客户端以保留了各种跟踪信息。
2. 识别用户包括三个步骤
1服务器脚本向浏览器发送一组 Cookie。例如姓名、年龄或识别号码等。
2浏览器将这些信息存储在本地计算机上以备将来使用。
3当下一次浏览器向 Web 服务器发送任何请求时浏览器会把这些 Cookie 信息发送到服务器服务器将使用这些信息来识别用户。
3. 通过 Servlet 设置 Cookie 包括三个步骤
(1) 创建一个 Cookie 对象您可以调用带有 cookie 名称和 cookie 值的 Cookie 构造函数cookie 名称和 cookie 值都是字符串。
Cookie cookie new Cookie(key,value);
请记住无论是名字还是值都不应该包含空格或以下任何字符
[ ] ( ) , / ? : ;
(2) 设置最大生存周期您可以使用 setMaxAge 方法来指定 cookie 能够保持有效的时间以秒为单位。
下面将设置一个最长有效期为 24 小时的 cookie。
cookie.setMaxAge(60*60*24);
setMaxAge的参数有如下三种情况 正数将Cookie数据写到硬盘的文件中。持久化存储并指定cookie存活时间时间到后cookie文件自动失效 负数默认值当浏览器关闭后Cookie数据被销毁 零删除cookie信息
(3) 发送 Cookie 到 HTTP 响应头
您可以使用 response.addCookie 来添加 HTTP 响应头中的 Cookie如下所示
response.addCookie(cookie);
4.通过 Servlet 读取 Cookie
要读取 Cookie您需要通过调用 HttpServletRequest 的 getCookies( ) 方法创建一个 javax.servlet.http.Cookie 对象的数组。然后循环遍历数组并使用 getName() 和 getValue() 方法来访问每个 cookie 和关联的值。
Cookie[] cookies request.getCookies();
for (Cookie cookie : cookies) {if (cookie.getName().equals(username)){username cookie.getValue();}if (cookie.getName().equals(password)){password cookie.getValue();}
}
5.通过 Servlet 删除 Cookie
删除 Cookie 是非常简单的。如果您想删除一个 cookie那么您只需要按照以下三个步骤进行
1读取一个现有的 cookie并把它存储在 Cookie 对象中。
2使用 setMaxAge() 方法设置 cookie 的年龄为零来删除现有的 cookie。
3把这个 cookie 添加到响应头。
//JSP Cookie 保存中文内容需要对中文进行编码与解码方法如下
String str java.net.URLEncoder.encode(中文UTF-8); //编码
String str java.net.URLDecoder.decode(编码后的字符串,UTF-8); // 解码
3.2 Session
【案例1 登录、退出系统案例】 实现效果 1.登录系统后可在各个页面可以显示登录用户名。 2.当退出系统后访问非登录页面显示“请登录”超链接。 创建/获取Session删除Session会话数据 【案例2 购物车案例】 实现效果 1. 2. 概念Session是服务端会话技术将数据保存在服务端以保留了各种跟踪信息。 提供了一种跨多个页面请求或访问网站时识别用户以及存储有关用户信息的方式。
使用步骤
常用方法
1获取Session HttpSession session request.getSession();
2设置属性 session.setAttribute(key,value);
3获取属性 Object value session.getAttribute(key);--根据情况进行类型转换
4删除属性 session.removeAttribute(key);
5销毁session session.invalidate();
3.3 隐藏的表单域
3.4 URL重写
指的是将Session的会话标识号以参数的形式附加在超链接的URL地址后面。
在HttpServletResponse接口中定义了两个用于完成URL重写的方法
1encodeURL(String url):用于对超链接和form的action中设置的url重写。
2encodeRedirectURL(String url): 用于对要传递给response.sendRedirect方法的url重写。
注意在重写URL是前面要通过getSession()方法获取Session对象。