您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > jsp实战项目-网上书店系统(PDF32页)
1项目案例:电子书城项目案例:电子书城项目案例:电子书城项目案例:电子书城项目案例:电子书城项目案例:电子书城项目案例:电子书城项目案例:电子书城第十三章第十三章第十三章第十三章2夏小山QQ715723ajaxdreamer@gmail.com训练的技能点�掌握Servlet的基本原理�使用Ajax增强用户体验�使用分层思想进行程序设计�使用session保存用户和购物车信息�使用面向对象编程进行实现功能开发�能够使用JDBC实现数据库访问�能够使用EL+JSTL简化页面布局3夏小山QQ715723ajaxdreamer@gmail.com任务描述�需求概述◦电子书城系统◦主要功能�用户登录�用户注册�图书浏览�选购图书�确认订单4夏小山QQ715723ajaxdreamer@gmail.com开发环境�环境要求◦开发工具:MyEclipse◦Web服务器:Tomcat◦数据库:Oracle10g5夏小山QQ715723ajaxdreamer@gmail.com问题分析:需要使用的类3-13-13-13-1�UserInfo:用户类,保存用户的基本信息◦主要成员:�用户名(userName):String类型�密码(password):String类型�邮箱地址(email):String类型�Order:订单类,保存用户的订单信息◦主要成员:�订单编号(oid):int类型�用户名(userName):String类型6夏小山QQ715723ajaxdreamer@gmail.com问题分析:需要使用的类3-23-23-23-2�Item:订单明细类,保存订单的明细信息◦主要成员:�明细编号(iid):int类型�订单编号(oid):int类型�图书编号(bid):int类型�下单时间(createDate):日期类型�购买数量(count):int类型�单价(price):String类型�总价(totalPrice):String类型7夏小山QQ715723ajaxdreamer@gmail.com问题分析:需要使用的类3-33-33-33-3�Book:图书类,保存图书基本信息◦主要成员:�图书编号(bid):int类型�图书名称(bookName):String类型�图书价格(price):double类型�图片(images):String类型�库存数量(stock):int类型8夏小山QQ715723ajaxdreamer@gmail.com问题分析:业务层接口及实现�BookService和BookServiceImpl:与图书操作相关的方法及方法实现�ItemService和ItemServiceImpl:与订单明细相关的方法及方法实现�OrderService和OrderServiceImpl:与订单相关的方法及方法实现�UserInfoService和UserInfoServiceImpl:与用户相关的方法及方法实现9夏小山QQ715723ajaxdreamer@gmail.com问题分析:需要使用到的ServletServletServletServlet�页面中每一次表单的提交均要提交到Servlet中,经过Servlet的处理实现业务的调用并控制业务的流向10夏小山QQ715723ajaxdreamer@gmail.com问题分析:注册功能�注册功能◦使用Ajax技术实现注册信息的即时验证11夏小山QQ715723ajaxdreamer@gmail.com问题分析:分页显示功能�分页显示图书功能◦通过分页显示提高浏览体验12夏小山QQ715723ajaxdreamer@gmail.com问题分析:购物车功能�购物车功能◦具有查看、修改和删除功能13夏小山QQ715723ajaxdreamer@gmail.com开发计划�用例1:数据库表的设计和创建[20分钟]用例2:用户登录[20分钟]用例3:用户注册[25分钟]用例4:图书列表分页显示[30分钟]用例5:购物车功能[40分钟]用例6:查看我的订单[25分钟]14夏小山QQ715723ajaxdreamer@gmail.com用例1111:数据库表的设计和创建4-14-14-14-1�需求说明◦根据表结构创建数据库及数据表◦USERINFO表15夏小山QQ715723ajaxdreamer@gmail.com用例1111:数据库表的设计和创建4-24-24-24-2�需求说明◦ORDERS表16夏小山QQ715723ajaxdreamer@gmail.com用例1111:数据库表的设计和创建4-34-34-34-3�需求说明◦ITEMS表17夏小山QQ715723ajaxdreamer@gmail.com用例1111:数据库表的设计和创建4-44-44-44-4�需求说明◦BOOKS表完成时间:完成时间:完成时间:完成时间:20202020分钟分钟分钟分钟完成时间:完成时间:完成时间:完成时间:20202020分钟分钟分钟分钟18夏小山QQ715723ajaxdreamer@gmail.com用例2222:用户登录2-12-12-12-1�需求说明◦用户登录时要求对用户名和密码进行验证完成时间:完成时间:完成时间:完成时间:20202020分钟分钟分钟分钟完成时间:完成时间:完成时间:完成时间:20202020分钟分钟分钟分钟19夏小山QQ715723ajaxdreamer@gmail.com用例2222:用户登录2-22-22-22-2�代码审查◦审查用户登录实现代码�互相测试完成的程序功能互相测试完成的程序功能互相测试完成的程序功能互相测试完成的程序功能�测试出的缺陷记录在测试出的缺陷记录在测试出的缺陷记录在测试出的缺陷记录在““““常见问题列表中常见问题列表中常见问题列表中常见问题列表中””””单元测试单元测试单元测试单元测试单元测试单元测试单元测试单元测试20夏小山QQ715723ajaxdreamer@gmail.com用例3333:用户注册3-13-13-13-1�需求描述◦用户注册功能的实现◦使用Ajax技术实现对用户名的即时验证AjaxAjaxAjaxAjax实现用户实现用户实现用户实现用户名验证名验证名验证名验证AjaxAjaxAjaxAjax实现用户实现用户实现用户实现用户名验证名验证名验证名验证21夏小山QQ715723ajaxdreamer@gmail.com用例3333:用户注册3-23-23-23-2�关键代码xmlHttp.onreadystatechange=function(){xmlHttp.onreadystatechange=function(){xmlHttp.onreadystatechange=function(){xmlHttp.onreadystatechange=function(){if(xmlHttp.readyState==4){if(xmlHttp.readyState==4){if(xmlHttp.readyState==4){if(xmlHttp.readyState==4){varusernull=document.getElementById(usernull);varusernull=document.getElementById(usernull);varusernull=document.getElementById(usernull);varusernull=document.getElementById(usernull);vartemp=xmlHttp.responseText;vartemp=xmlHttp.responseText;vartemp=xmlHttp.responseText;vartemp=xmlHttp.responseText;if(temp==true){if(temp==true){if(temp==true){if(temp==true){usernull.innerHTML=usernull.innerHTML=usernull.innerHTML=usernull.innerHTML=fontcolor=\red\fontcolor=\red\fontcolor=\red\fontcolor=\red\当前用户名已被注册!/font;!/font;!/font;!/font;returnfalse;returnfalse;returnfalse;returnfalse;}elseif(temp==false){}elseif(temp==false){}elseif(temp==false){}elseif(temp==false){usernull.innerHTML=usernull.innerHTML=usernull.innerHTML=usernull.innerHTML=fontcolor=\green\fontcolor=\green\fontcolor=\green\fontcolor=\green\可以注册,,,,赶快注册吧!/font;!/font;!/font;!/font;returntrue;returntrue;returntrue;returntrue;}}}}}}}}}}}}根据返回状态判断用户根据返回状态判断用户根据返回状态判断用户根据返回状态判断用户名是否可用名是否可用名是否可用名是否可用根据返回状态判断用户根据返回状态判断用户根据返回状态判断用户根据返回状态判断用户名是否可用名是否可用名是否可用名是否可用完成时间:完成时间:完成时间:完成时间:25252525分钟分钟分钟分钟完成时间:完成时间:完成时间:完成时间:25252525分钟分钟分钟分钟22夏小山QQ715723ajaxdreamer@gmail.com用例3333:用户注册3-33-33-33-3�代码审查◦审查Ajax验证代码◦审查用户注册实现代码�互相测试完成的程序功能互相测试完成的程序功能互相测试完成的程序功能互相测试完成的程序功能�测试出的缺陷记录在测试出的缺陷记录在测试出的缺陷记录在测试出的缺陷记录在““““常见问题列表中常见问题列表中常见问题列表中常见问题列表中””””单元测试单元测试单元测试单元测试单元测试单元测试单元测试单元测试23夏小山QQ715723ajaxdreamer@gmail.com用例4444:图书列表分页显示2-12-12-12-1�需求说明◦用户浏览图书时,以分页方式显示图书信息◦显示所有上架图书名称、价格、库存和封面预览完成时间:完成时间:完成时间:完成时间:30303030分钟分钟分钟分钟完成时间:完成时间:完成时间:完成时间:30303030分钟分钟分钟分钟24夏小山QQ715723ajaxdreamer@gmail.com用例4444:图书列表分页显示2-22-22-22-2�代码审查◦审查分页查询SQL语句代码◦审查页面分页控制实现代码�互相测试完成的程序功能互相测试完成的程序功能互相测试完成的程序功能互相测试完成的程序功能�测试出的缺陷记录在测试出的缺陷记录在测试出的缺陷记录在测试出的缺陷记录在““““常见问题列表中常见问题列表中常见问题列表中常见问题列表中””””单元测试单元测试单元测试单元测试单元测试单元测试单元测试单元测试25夏小山QQ715723ajaxdreamer@gmail.com用例5555:购物车功能的实现3-13-13-13-1�需求说明◦将图书添加到个人的购物车内,在购物车页面中将会对用户订购的图书进行价格汇总26夏小山QQ715723ajaxdreamer@gmail.com用例5555:购物车功能的实现3-23-23-23-2�实现思路◦显示购物车图书清单◦在购物车中显示购买图书的总价◦可以对购买数量进行修改◦可以删除购买的图书完成时间:完成时间:完成时间:完成时间:40404040分钟分
本文标题:jsp实战项目-网上书店系统(PDF32页)
链接地址:https://www.777doc.com/doc-754241 .html