您的位置:首页 > 其它

如何完整的做一个web项目,进阶篇(4)cookie的使用以及网页分页功能实现

2020-07-13 05:55 45 查看

一、Cookie

  1. cookie概述:
    (1)Cookie是由服务端通过浏览器向客户端主动存放的一段小文本。

    (2)Cookie依赖于浏览器而存在,不同的浏览器有不同的cookie,不同的站点存放的cookie只能自己使用,其他系统无法取得。

    (3)浏览器可以通过设置将cookie禁用,如果cookie禁用则服务端将无法向客户端添加cookie。

    (4)设置cookie会设置一个存活期,在存活期内该cookie一直存在于客户端的浏览器中以备使用,当到达存活期后该Cookie自动消失。

    (5)Cookie使用key-value对应的形式来存储相关数据类似于map集合。

    (6)Cookie默认的存活期依赖于session,当session消失时cookie同时消失(cookie只是在浏览器缓存,并没有真实的存储到客户端),我们可以通过设置cookie的最大存活期,让cookie保存到客户端硬盘。

  2. cookie具体作用:
    (1)搜集用户信息及用户偏好
    (2)存储用户账户相关信息
    (3)未登录状态的购物车信息
    (4)记录用户的行为

  3. cookie的使用:
    Java中Cookie属于javax.servlet.http.Cookie包
    (1)向客户端添加cookie,通过响应对象添加

    (2)从客户端读取cookie

    (3)删除cookie(Cookie不支持直接删除,除非在浏览器中手动删除)

    在服务端需要删除客户端的cookie必须使用存活期来删除(通过修改cookie的存活期实现)

    Cookie的存活期通过cookie.setMaxAge(int)实现:
    0:表示立即删除
    -1:表示cookie的存活期依赖于session
    >0:设置具体时间(以秒为单位)

二、网页分页

  1. 概述
    在网页中一般有两种分页方式:
    (1)程序分页
    程序分页指一次性将数据库中的相关数据查出,然后通过逻辑设置实现分页,该方式执行效率高,但由于是一次性取出数据放入到内存中,如果数据库过大则比较耗内存。
    (2)数据库分页(建议使用)
    数据库分页指一次值从数据库获得一页显示的数据,当访问第二页时会再次访问数据库获得第二页显示的数据。不同的数据库分页的SQL语句不一样,mysql使用limit实现分页;sqlserver使用top实现分页;oracle使用rownumber实现分页。

  2. 使用

    这里我们使用的是一个图书商城的开发实例进行展示,使用的数据库是MySQL。

    MySQL的分页SQL语句:
    select * from tbl_book order by book_price desc limit 0,10;
    limit 起始行号(从0开始),每页查询的行数

    实现步骤:
    PageParams:从客户端向服务端传递的数据的封装
    PageInfo:从服务端向客户端传递数据的封装
    (1) 定义一个分页参数类,在其中定义分页要使用到的相关参数

    (2) 创建一个分页Bean,该类中存放关于分页的相关数据

    (3) BookDao接口中添加两个关于分页查询的方法并实现

    这里所使用的查询方法就是我上一篇文章中用反射进行封装的方法。
    如果有疑问可以翻看一下上一篇文章。

    (4) BookService中将获得的分页相关数据封装到pageInfo对象中

    (5) BookServlet中将pageInfo中相关的数据存入到request对象并发送到页面展示

总结一下:cookie主要用于实现自动登录以及电商项目中未登录的购物车等功能。分页就主要用于页面展示。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐