资源预览内容
第1页 / 共18页
第2页 / 共18页
第3页 / 共18页
第4页 / 共18页
第5页 / 共18页
第6页 / 共18页
第7页 / 共18页
第8页 / 共18页
第9页 / 共18页
第10页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
JSP与Javabean综合应用 目标 掌握实例应用 数据库分页技术的实现项目实践 体验项目 本章我们要制作一个网络通讯录 本项目有五个模块组成 分别是显示成员 添加成员 修改成员 删除成员和新用户注册 实现数据库查询分页一般有以下几种方式 使用HttpSession或有状态bean实现缓存使用Vector实现缓存使用ResultSet实现缓存使用数据库自身的功能实现Oracle MySql 数据库应用 分页实现 使用HttpSession实现分页将查询结果缓存在HttpSession或有状态bean中 翻页的时候从缓存中取出一页数据显示 两个主要的缺点 用户可能看到的是过期数据 如果数据量非常大时第一次查询遍历结果集会耗费很长时间 并且缓存的数据也会占用大量内存 效率明显下降 数据库应用 分页实现 使用Vector实现缓存先将所有记录都select出来 然后将ResultSet中的数据都get出来 存入Vector等集合类中 再根据所需分页的大小 页数 定位到相应的位置 读取数据缺点代码的效率不高程序结构和使用的方便性上很糟糕的 比如 这种做法支持的字段类型有限 int double String类型还比较好处理 如果碰到Blob Text等类型 实现起来就很麻烦了 数据库应用 分页实现 使用ResultSet实现缓存每次翻页都查询一次数据库 从ResultSet中只取出一页数据该结果集中的指针可以随意移动实现分页需要的参数intintPageSize 一页显示的记录数intintRowCount 记录总数intintPageCount 总页数intintPage 待显示页码 数据库应用 分页实现 总的纪录数 sqlRst last 光标在最后一行intRowCount sqlRst getRow 获得当前行号记算总页数intPageCount int Math ceil float intRowCount float intPageSize 为了防止除法结果为小数的情况 先将总页码和每页显示的纪录数都转化为小数形式 那么除的结果也为小数 通过Math ceil float 方法将该小数转化为大于等于该小数的最小整数 这个就是最终的总页数 数据库应用 分页实现 数据库应用 分页实现 定位即将显示的页码中第一个纪录位置 sqlRst absolute intPage 1 intPageSize 1 通过绝对定位来制定结果集中指针的位置结果集中的指针下标从1开始 实现步骤 根据条件查询所有的纪录使用rs last 将指针移到最后一行 并应rs getRow 获得总计录条数根据计算得到总的页数对于每页的显示再使用rs absolute 定位到本页起始记录使用rs next 和每页显示的纪录条数来具体的显示纪录 例子 Pagination jsp 数据库应用 分页实现 缺点 这种方式在某些数据库 如oracle 的JDBC实现中差不多也是需要遍历所有记录 实验证明在记录数很大时速度非常慢 重用性不好改进方法 将在JSP中实现的数据库连接方法放到javabean中去实现 这样可实现代码的重用 数据库应用 分页实现 例子 PageableBean jsp 看过上面三种实现方法后 对新的分页机制有了一个目标 不与具体数据库相关 尽可能做到代码重用 尽可能与原JDBC接口的使用方法保持一致 尽可能高的效率 数据库应用 分页实现 体验项目 本章我们要制作一个网络通讯录 本项目有五个模块组成 分别是显示成员 添加成员 修改成员 删除成员和新用户注册 整体设计 首先我们分析一下这个网络通讯录需要哪些功能 1 用户登录页 实现用户的登录功能 2 显示与登录用户相对应的通讯记录页面 3 实现向通讯录中添加信息的功能 4 实现修改信息的功能 5 实现删除通讯录中的信息的功能 6 提供新用户注册的功能 通过以上分析我们可以大致分析出通讯录需要实现的功能 以及页面的整体结构 数据库设计 通过以上对通讯录功能的描述可以分析出数据库至少需要两个表来保存信息 其中一个保存用户信息 这个表起名为 users 另一个表命名为 address 用于保存用户添加的通讯信息 总结 掌握实例应用 数据库分页技术的实现项目实践 理论作业 1 实现数据库查询分页一般有几种方式 分别简单介绍 2 JSP与SERVLET的区别3 JSP的内置对象由什么得到的 下次课预习 Web应用过滤器Servlet上下文监听Servlet会话监听Servlet请求监听
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号