chapter会话及其会话技术

Cookie 对象

Cookie 是一种会话技术,它用于将会话过程中的数据保存到用户的浏览器中,从而使浏览器和服务器可以更好地进行数据互动。接下来,本节将针对Cookie 进行详细的讲解。
服务器向客户端发送 Cookie 时,会在 HTTP 响应头字段中增加 Set-Cookie 相应头字段。格式如下:
Set-Cookie: user=itcast; Path=/;

Cookie构造方法:
public Cookie(java.lang.String name,java.lang.String value)
在 Cookie 的构造方法中,参数 name 用于指定 Cookie 的名称,value 用于指定 Cookie 的值。需要注意的是,Cookie 一点创建,它的名称就不能更改,Cookie 的值可以为任意值,创建后允许被修改。

显示用户上一次访问时间

请添加图片描述
请添加图片描述
运行服务器显示出的结果为:
请添加图片描述
在运行一边则就会显示出上次访问过的网页的时间。

Session对象

									HttpSession接口中的常用方法
方法声明功能描述
String getld()用于返回与当前HttpSession对象关联的会话标识号
long getCreationTime()返回 Session创建的时间,这个时间是创建Session的时间与1970年1月1日00:00:00之间时间差的毫秒表示形式
long getLastAccessedTime()返回客户端最后一次发送与Session相关请求的时间,这个时间是发送请求的时间与1970年1月1日00:00:00之间时间差的毫秒表示形式
void setMaxlnactivelnterval(int interval)用于设置当前HttpSession对象可空闲的以秒为单位的最长时间,也就是修改当前会话的默认超时间隔
boolean isNew()判断当前HttpSession对象是否是新创建的
void invalidate()用于强制使Session对象无效
ServletContext getServletContext()用于返回当前HttpSession对象所属于的Web应用程序对象,即代表当前Web应用程序的ServletContext对象
void setAttribite(String name,Object value)用于将一个对象与一个名称关联后存储到当前的HttpSession对象中
String getAttribute()用于从当前HttpSession对象中返回指定名称的属性对象
void removeAttribute(String name)用于从当前HttpSession对象中删除指定名称的属性

创建封装图书信息类

新建一个名称为pidan.session.example01的包,在该包中创建一个名称为Book的类,该类用于封装图书的信息,其中定义了id和name属性,分别用来表示书的编号和名称。
请添加图片描述
在pidan.session.example01包中创建一个名称为BookDB的类,该类用于模拟保存所有图书的数据库。
在这里插入图片描述
创建一个名称为ListBookServlet的Servlet类,该Servlet用于显示所有可购买图书的列表,通过单击“购买”链接,便可将指定的图书添加到购物车中。

在这里插入图片描述
创建一个名称为PurchaseServlet的Servlet类
在这里插入图片描述
创建一个名称为CartServlet的Servlet类,该类主要用于展示用户已经购买的图书列表
在这里插入图片描述
启动Tomcat 服务器,访问ListBookServlet:
请添加图片描述
单击图中“javaweb开发”后的“点击购买”链接:
在这里插入图片描述
再次访问(或点击浏览器的返回上一页)ListBookServlet,选择“jdbc开发”后的“点击购买”链接:
在这里插入图片描述

实现用户登录

用户登录的整个流程,当用户访问某个网站的首界面时,首先会判断用户是否登录,如果已经登录则在首界面中显示用户登录信息,否则进入登录页面,完成用户登录功能,然后显示用户登录信息。在用户登录的情况下,如果单击用户登录界面中的“退出”时,就会注销当前用户的信息,返回首界面。

1.创建封装用户信息类:
在chapter05项目的src下新建一个名称为pidan.session.example02的包,在包中编写一个名称为User的类,User类中包含username和password两个属性以及其getter和setter方法。

在这里插入图片描述
2.创建 Servlet
在pidan.session.example02包中编写IndexServlet 类, 该Servlet 用于显示网站的首界面:
在这里插入图片描述
在pidan.session.example02包中编写LoginServlet,该Servlet用于显示用户登录成功后的界面:

在这里插入图片描述
在pidan.session.example02包中编写LogoutServlet,该Servlet用于完成用户注销功能,当用户单击【退出】时,该类会将Session对象中的用户信息移除,并跳转到网站的首界面。
在这里插入图片描述

3.创建登陆页面

在chapter05项目的WebContent目录下创建一个名称为login.html的页面,该页面中包含用户登录表单信息:
在这里插入图片描述

4.启动项目,查看结果

启动服务器浏览显示的结果为:
在这里插入图片描述
运行后面操作后可以看出,用户登陆成功后会提示“您一登陆,欢迎你,itcast!”。如果失败会显示如图:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值