• 2025年8月20日 星期三

H11118-实验06-07-会话技术

11 月 18, 2021

第5章 会话技术

5-1 Cookie对象和常用API介绍

一、描述

1、考核知识点

    名称:Cookie对象和常用API介绍

    编号:028005002

2、练习目标

  • 掌握Cookie对象和常用API的运用。

3、需求分析

    现状电商网站发展迅速,在网站浏览的客户,包括非注册用户较多,时常浏览各种商品信息,在用户关闭浏览器,下次再进行访问的时候,有些网站会记住该浏览器用户上次的访问查看记录,这是一种非常便捷友好的设计。本就模拟演示展示用户上次浏览商品记录信息。

4、设计思路(实现原理)

  1. 创建Demo1类继承Httpservlet类,
  2. 在Demo1中获取所有的cookie并遍历,查看是否有上次存储的浏览商品记录信息,然后进行相关处理
  3. 在web.xml中配置初始化参数和类的映射

       4)通过浏览器访问Demo1,查看页面效果。

二、实现

编写Demo1,

配置web.xml文件:

启动Tomcat服务器,在地址栏中输入http://localhost:8080/f2/ Demo1,首次访问浏览器显示的结果如下图所示:

在浏览器上新打开一个页面,再次访问http://localhost:8080/f2/ Demo1,浏览器显示的结果如下图所示:

三、总结

通过实验可以简单了解cookie原理。

5-2 Session对象和常用API介绍

一、描述

1、考核知识点

    名称:Session对象和常用API介绍

    编号:028005004

2、练习目标

  • 掌握Session对象和常用API的运用。

3、需求分析

    在实际运用中的表单信息提交的时候,可能会由于网络原因导致提交页面刷新缓慢,有些用户就会重复提交表单,就会产生重复数据和请求。本就模拟演示在servlet中如何使用session对象控制表单重复提交。

4、设计思路(实现原理)

  1. 创建Demo2类,用户返回表单,同时生成唯一的随机token,
  2. 创建Demo2类, Demo2类中获取提交的表单信息,同时验证token来验证用户是否重复提交,
  3. 在web.xml中配置初始化参数和类的映射

       4)通过浏览器访问Demo2,查看页面效果。

二、实现

编写Demo2,

编写Demo3,

配置web.xml文件:

启动Tomcat服务器,在地址栏中输入http://localhost:8080/chapter05/ Demo2,访问浏览器显示的结果如下图所示:

在输入框随机输入用户名,如”zhangsan”,连续2次点击提交按钮,浏览器显示的结果如下图所示:

再在浏览器上新打开一个页面,再次在地址栏中输入http://localhost:8080/f2/ Demo2,在浏览器输入框输入用户名,后再次点击一次提交按钮,短暂延迟后浏览器显示的结果如下所示:

三、总结

通过实验可以简单了解session会话原理。

5-3 Session的超时管理

一、描述

1、考核知识点

    名称:Session的超时管理

    编号:028005005

2、练习目标

  • 掌握Session失效的一般用法和场景。

3、需求分析

    在实际网站用户登陆后,在浏览其他页面过程中,可能中间会有其他事情停顿,一段时间内没有对该网站页面再次发送请求访问,待到一定时间过后(即保存登陆用户信息的session超时),当该用户再次点击其他请求链接的时候,就会返回到登陆界面,要求用户重新登陆。本将模拟简单的登陆然后session超时跳转到再次登陆界面。

4、设计思路(实现原理)

  1. 创建User用户实体类,有username和password两个属性,
  2. 创建Demo4类,Demo4类提供用户登陆跳转方法,
  3. 创建Demo5类,Demo5类模拟session超时失效,然后再次跳转到登陆页面
  4. 创建login.html登陆页面,
  5. 在web.xml中配置初始化参数和类的映射

       6)通过浏览器访问login.html,并进行相关操作,查看页面效果。

二、实现

编写User,

编写Demo4,

编写Demo5,

编写login.html,

配置web.xml文件:

启动Tomcat服务器,在地址栏中输入http://localhost:8080/f2/ login.html,访问浏览器显示的结果如下图所示:

在输入框随机输入用户名和密码,如”zhangsan”、”123”,然后提交,浏览器显示的结果如下图所示:

在上图中显示用户登陆成功,并将用户放在了session中管理,再点击上图中的查看手机商品链接,短暂延迟后浏览器显示的结果如下所示:

同时观察Eclipse项目控制台可以发现报错Session already invalidated(session已经失效),信息如下:

三、总结

5-4 [任务5-3]Session实现用户登录

一、描述

1、考核知识点

    名称:[任务5-3]Session实现用户登录

    编号:028005007

2、练习目标

  • 掌握Session对象和常用API的运用。

3、需求分析

    在实际运用中的用户登陆网站中,多提供有记住密码和自动登陆等功能,方便同一用户短时间内不用再输入用户名和密码等繁琐信息可以快捷登陆。本将模拟用户自动登陆功能。

4、设计思路(实现原理)

  • 创建login.html页面,编写用户登陆界面
  • 创建Demo6类, 编写用户登陆判断逻辑处理和自动登陆业务,
  • 在web.xml中配置初始化参数和类的映射

       4)通过浏览器访问login.html,进行相关操作,查看页面效果。

二、实现

编写Demo6,

配置login.html文件:

配置web.xml文件:

启动Tomcat服务器,在地址栏中输入http://localhost:8080/chapter05/ login.html,访问浏览器显示的结果如下图所示:

在输入框随机输入用户名,如”zhangsan”,第一次不选中自动登陆框,然后点击提交按钮,浏览器显示的结果如下图所示:

       则用户就会登陆网站了,当点击上图页面中的退出按钮就又返回到了初始登陆页面,如下所示;

可以在不输入用户名的情况下点击提交按钮,查看浏览器页面出现以下结果:

提醒用户输入用户名(因为还没有选中自动登陆功能),2秒后自动跳转到登陆页面,让用户必须登陆才可以;

第二次,在登陆界面随机输入用户名,如”zhangsan”,在勾选自动登陆框,点击提交按钮,浏览器显示结果如下:

则用户就会登陆网站了,当点击上图页面中的退出按钮就又返回到了初始登陆页面,这次不用输入用户名(必须在退出后的5秒内,因为代码中设置cookie的有效期是5秒钟),再次直接点击提价按钮,浏览器显示结果如下(用户实现了自动登陆功能):(复制链接,点击退出之后,在浏览器新标签页5秒内粘贴链接,还是显示已经登录的状态)

三、总结

通过实验可以简单了解cookie用户登陆的过程以及自动登录的操作方式。

代码:

Avatar photo

李星海

简介: 2025-今 浙江农林大学 | 2022-今 广州白蓝碗蛋科技有限公司 | 2022-2024 广州商学院 | 2019-2022 广东工贸职业技术学院 | 服务宗旨:心始至客,行亦致远。