简书java前端_Javaweb基础(八)前端案例

登陆注册

操作流程

34955b67464e

操作流程.png

34955b67464e

操作流程代码.png

基于Session的购物车案例

1.购物车(ShoppingCart):存放购买的商品.

生活中: 超市,推的车.

网络上: 把需要购买的商品,先临时的存储到购物车.

2.购物车的设计:

1):使用Session来完成.把购物车对象存放于Session中.

缺陷:浏览器关闭,session被销毁,购物车就消失了.

2):可以使用Cookie完成.把购物车对象存储于Cookie中.

缺陷:Cookie中的数据只能存在在当前电脑的当前浏览器中.

3):Cookie+数据库.

如果登录: 就直接把购物车对象信息存到到数据库中(持久化存储).

没有登录: 先把数据存储在Cookie中,一旦登录,就直接吧Cookie中的数据同步到数据库中.

3.操作流程

34955b67464e

操作流程.png

建立模型对象:

34955b67464e

商品对象.png

34955b67464e

购物车对象.png

34955b67464e

操作页面.png

34955b67464e

购物车列表.png

验证码的使用

一次性验证码的主要目的就是为了限制人们利用工具软件来暴力猜测密码,其原理与利用Session防止表单重复提交的原理基本一样,只是将表单标识号变成了验证码的形式,并且要求用户将提示的验证码手工填写进一个表单字段中,而不是通过表单的隐藏字段自动回传给服务器。

服务器程序接收到表单数据后,首先判断用户是否填写了正确的验证码,只有该验证码与服务器端保存的验证码匹配时,服务器程序才开始正常的表单处理流程。

密码猜测工具要逐一尝试每个密码的前题条件是先输入正确的验证码,而验证码是一次性有效的,这样基本上就阻断了密码猜测工具的自动地处理过程。

34955b67464e

验证码.png

34955b67464e

验证码的作用.png

一般的,互联网上的登录,注册,发帖都会使用到验证码.

企业的内部应用,一般可以用(一般存放于企业的局域网).

操作流程

34955b67464e

操作流程.png

34955b67464e

验证码前端.png

防止表单重复提交

34955b67464e

表单重复提交.png

1.表单的重复提交:

没有完整的进行一次,先请求表单页面->再提交表单过程而完成数据提交

2.造成的根本原因:

没有完整的进行一次,先请求表单页面->再提交表单过程.

3.造成重复提交的现象:

1):由于服务器缓慢或网络延迟的原因,重复点击提交按钮.

2):已经提交成功,刷新成功页面(forward)(请求转发).

3):已经提交成功,通过回退,再次点击提交按钮

注意:

回退后,刷新表单页面,再次提交这时不是重复提交,而是发送新的请求

在Firefox下,重复提交到同一地址无效

4.解决方案:保证提交表单之前,必须先请求表单界面. 原理和验证码一样.----->令牌.

34955b67464e

令牌.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值