0
点赞
收藏
分享

微信扫一扫

javaweb(Session Cookie服务器与客户端存储)

倪雅各 2022-04-02 阅读 66
前端java

javaweb(Session Cookie服务器与客户端存储)

本期内容

文章目录

Session的概念

如图:

在这里插入图片描述

Session对象的常用方法
类型方法名称说 明
voidsetAttribute(String key,Object value)key/value的形式保存对象值
ObjectgetAttribute(String key)通过key获取对象值
intgetMaxInactiveInterval**()**获取session的有效非活动时间,以秒为单位
StringgetId**()**获取session对象的编号
voidinvalidate()设置session对象失效
使用session实现访问控制

在控制页面获取用户请求的登录信息进行验证

//登录处理页面的代码片断
<%
if (rs.next()) {  //如果是已注册用户
session.setAttribute("LOGINED_USER", loginedUser);
response.sendRedirect("index.jsp");
} else {
response.sendRedirect("login.html");
}
%>
//在session中存放用户登录信息
如何在登入界面增加登入验证
<%
User user = (User) session.getAttribute("LOGINED_USER");
if (user == null) {
response.sendRedirect("login.jsp");
}
%>
//如果session中不存在该用户的登录信息,转入登录页面
Cookie
什么是Cookie

Cookie是Web服务器保存在客户端的一系列文本信息

Cookie的作用
  • 对特定对象的追踪

  • 统计网页浏览次数

  • 简化登录

    安全性能
  • 容易信息泄露

Cookie的语法

导入包

import="javax.servlet.http.Cookie"

创建Cookie

Cookie newCookie=new Cookie("parameter", "value");
  • parameter:用于代表cookie的名称(key)
  • value:用于表示当前key名称所对应的值

写入Cookie

response.addCookie(newCookie)
设置Cookie属性的常用方法
类型方法名称说 明
voidsetMaxAge(int expiry)设置Cookie的有效期,以秒为单位
voidsetValue(String value)Cookie创建后,对Cookie进行赋值
StringgetName**()**获取Cookie的名称
StringgetValue**()**获取Cookie的值
StringgetMaxAge**()**获取Cookie的有效时间,以秒为单位

用户登录成功后,将用户信息保存到Cookie中,在页面读取Cookie并显示

-----从登录验证页面表单中获取用户名------
<%
       String username=reqeust.getParameter("username");
//以key/value的形式创建Cookie
Cookie uname=new Cookie("uname", username); //创建Cookie,使用response的addCookie方法保存Cookie
response.addCookie(uname);
%>
-----在显示页面显示用户名---------------
<%//获取请求中的Cookie,以数组方式保存
       Cookie cookies[ ]=request.getCookies();//使用reqeust获取Cookie数组,通过cookie的名称获取对应的内容
       //循环遍历数组,得到key=uname的Cookie
      for(int i=0;i<cookies.length;i++){
              Cookie ucookie=cookies[i];
              if(ucookie.getName().equals("uname”));//判断Cookie的名称
 %>
    欢迎你:<%=ucookie.getValue() %>//获取key对应的value,输出显示
    <%  }  %>

Cookie与session的比较

session是在服务器端保存用户信息,Cookie是在客户端保存用户信息
session中保存的是对象,Cookie保存的是字符串
session随会话结束而关闭,Cookie可以长期保存在客户端
Cookie通常用于保存不重要的用户信息,重要的信息使用session保存

谢谢浏览 点个关注再走吧!!

举报

相关推荐

0 条评论