《网上书店系统-毕业设计开题报告(共7页).doc》由会员分享,可在线阅读,更多相关《网上书店系统-毕业设计开题报告(共7页).doc(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上5.2 用户管理5.2.1 用户注册如果成为会员,在购物的时候可以获得优惠,基于这个想法,顾客一般都会在这里先注册成为会员的。在主页上点击“新用户注册”就可以跳到会员注册页面,在会员注册资料中,分为必填资料和选填资料。注册页面为reg1.jsp填好一切资料后点击“好了我要提交”,提交到注册处理页面reg3.jsp.并使用JAVASCRIPT脚本进行验证,将用户名与原有的user表进行比较,若用户名已存在,则提示“此用户名已存在请重新填写”,经过验证后填写的数据添加到数据库的usr表中,点击“不行我要重填”进行重新填写。 5.2.2 用户登录顾客经过注册后,可以用注册过
2、的帐号进行登陆。在登陆界面login.jsp中或首页的登录框中输入帐号、密码、会员类型提交到user_login.jsp页面处理登录请求,将提交的数据与数据库中的原有userName,userprd,userType进行组合查询比较,验证通过后就可以登陆会员系统。如果是管理员进入管理页面manager/index.jsp,普通会员进入网站首页index.jsp,并且显示出用户名,将用户名存入session中后可以进行购物等所有操作。5.2.3 用户登陆_2 顾客经过注册后,可以用注册过的帐号进行登陆。5.2.4 用户信息查看 用户登录后可以查看自己的注册信息和在网站的消费信息,通过myinfo
3、.jsp显示用户信息。并出现信息修改链接,可以修改密码和注册信息,但是用户名不可改变。5.2.5 用户信息修改可以分别进行修改密码和注册信息,但是用户名不可改变。表单提交信息的约束由JavaScript完成,修改密码的处理页面是modify_password_save.jsp。用户信息修改处理页面是modify_info_save.jsp。数据库更新操作过程中,定义一个整型变量temp用于返回数据库操作的状态。这样可以不用抛出异常来显示数据库操作状态,不但可以设计成一个比较友好的错误处理页面,管理员也可以根据提示判断错。当temp0时,数据库更新成功,并弹出对话框提示修改成功。若当temp=0
4、则提示数据库更新失败,重新填写信息。当temp0时,网络内部错误或其它系统错误。 5.2.5 用户注销 用户在登录时将用户名和ID存入session中,从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。当一个客户首次访问服务器上的一个JSP页面时,JSP引擎产生一个session对象,同时分配一个String类型的ID号,JSP引擎同时将这个ID号发送到客户端,存放在Cookie中,这样session对象和客户之间就建立了一一对应的关系。当客户再访问连接该服务器的其他页面时,不再分配给客户新的session对象,直到客户关闭浏览器后,服务器端该客户的s
5、ession对象才取消,并且和客户的会话对应关系消失。当客户重新打开浏览器再连接到该服务器时,服务器为该客户再创建一个新的session对象。所以为了安全和资源浪费的角度来看要用注销来释放session中的用户ID。单击注销时提交到loginout.jsp将session中的ID释放清空完成注销。5.3 产品管理5.3.1 产品查看 用户可以查看产品,当用户点击“商品浏览”链接时提交到showbook.jsp显示全部产品,并且点击产品名称来将产品的ID号传递到seebookall.jsp,然后通过查询语句查出与ID号相同的产品后显示产品的详细信息,单击图产品类型名称可通过条件组合将bookTy
6、pe传入seebookType.jsp页面,与表book比较后选出类型相同的产品后显示所有此类型的图产品信息,单击链接添加到购物车。5.3.2 产品推荐 在图产品表book中定义字段iftuijian,当为1时表示推荐,当单击链接“商家推荐”时提交到tuijianbook.jsp中,使用查询语句查询并显示产品的所有信息出来。也可以用一张图片表示推荐的程度,后再按照推荐程度来排列图产品显示的顺序。5.3.3 新产品上架 在图产品表book中定义字段addtime自段用于标识产品进站的时间,显示时用查询语句查找到产品名称后用addtime来限定排列顺序。5.4 产品查询当顾客因为公司的产品太多而找
7、不到他所需要的产品的时候,他可以用产品查询系统。产品搜索分为一般搜索和高级搜索。一般搜索也就是叫做模糊查找,只要符合搜索字段的产品都会被搜索出来。高级搜索可以有针对性的查找,可以通过图产品的类别、图产品名称、图产品简介、图产品内容、图产品简介、图产品价格、是否推荐、是否特价这几种方法来查找。高级搜索搜索出来的东西比较准确。5.4.1 产品一般搜索 通过输入要查找的产品的关键字进行模糊查询,可以在文本框后加一个下拉框,来选择查找的途径,或是通过产品名,货产品类型,或作者出版社等的关键字,点击搜索按钮提交表单到findgood.jsp页面,将传入的信息用like %keyword% 进行模糊查询,
8、后显示所有与关键字有关的产品。运行界面如图5-2所示。5.4.2 产品高级搜索点击精确查询进入高级搜索页面静态页面findgood.html,点击搜索后提交到findbook.jsp其中查询条件可以随便的任意组合查询。处理页面用一系列的条件分支语句来组合控制查询语句,所以无论填写那个都会正确的查找出结果。并且填写的查询条件越多,查询结果越精确。高级搜索把其他条件的商品全部过滤掉,很精确的搜索顾客想要的商品。 当没有符合条件的产品时,弹出对话框显示“您要查找的图产品不存在,请重新填写“。5.5 购物车管理在超市购物,可以根据自己的需求将很多的商品挑选到购物车中,然后去收银台结帐,而在网上虚拟的商
9、城中没有办法推车,通常都会使用“购物车”技术来虚拟现实生活。这种技术十分方便,不但可以随时添加,查看,修改,清空购物车中的内容,还可以随时去收银台结帐。5.5.1 购物车添加 添加购物车就是把用户选的商品暂放在购物车中。当用户在产品清单中单击“添加到购物车”时,通过链接的组合将商品的Id传入购物车的添加处理页面cart.jsp。然后根据产品ID查询出产品的名称和价格,并引入实体javabean buylist 存放读出的产品信息和用户名等信息。创建一个集合类Vector的对象shop来保持buylist的对象mylist的信息。然后从session中读取shop对象,如果为空则说明还没进行购物
10、或者已经清空了购物车,需要新建购物车对象;将商品ID与购物车列表中的商品ID对比,如果已经存在则将购物车中的商品的数量加1。5.5.2 购物车查看 为了方便用户随时查看购物情况,在网站首页上添加查看购物车的链接,并链接到list.jsp页面。通过它可以获取用户所有的商品信息法放入购物车中显示出来。在购物车里可以修改商品数量,删除商品,继续购产品,和生成订单。5.5.3 购物车修改 当商品数量需要修改时只需要改变购买商品的数量文本框中的值,后单击修改按钮就修改完成了。这里需要特别注意修改数量后一定要点击修改按钮,否则将按照初始时的值提交到订单生成页面。当要删除购物车中的某项商品时只需将商品数量文
11、本框的值设为0,在单击修改就删除了。5.5.4 购物车清空清空购物车是指在放弃购物时或订单生成后若还想继续购物一定要清空购物车再进行选购,这样防止重复购物。清空购物车只需要将session中存储的shop对象清空即可。session.removeAttribute(shop),清空后弹出对话框提示购物车清空成功。此功能由页面clear.jsp实现。5.6 订单管理生成订单是网上购物商城的最终目的,前面所有的功能实现都是为生产一个用户满意的订单,在此要生成一个可供用户随时查询的订单号,还要保存订单中购买的商品信息。当用户确认对购物车不在修改时,点击付款生成订单,并进行付款。结帐的流程为:从购物车
12、中读取商品名称,数量,价格信息,并根据时间生成唯一的订单号,同时将用户的注册基本信息读取出来,形成一个完整的订单写入数据库。5.6.1 生成订单在生成订单时调出用户信息并生成唯一的订单号,把session中的userName取出,并根据这个用户名来在usr表中查找出用户基本信息。生成唯一订单号的方法有很多种,只要确保唯一性及用户便于查询自己订单的执行状态即可。本程序使用系统当前日期的月、日、时、分、秒、及毫秒叠加的方法得出的。由于Date对象返回的各级时间都是整型的,需要通过string对象的valueOf方法将其转换成String 类型的后使用字符串叠加。点击生成订单,便可以把信息存入数据库
13、。此操作由dodingdan.jsp页面完成,生成订单之前先判断产品库中的产品数量是否足够,如足够生成订单,不够则提醒用户从新填写数量。5.6.2 结帐当订单生成完页面跳到处理查看订单页面,显示订单的状态并设置了撤消和付款链接,将订单的ID号传入下一页面checkok.jsp。在处理页面中进行了根据订单ID号查询出订单中的产品ID,产品数目和订单的总价。再以bookId为外码在book表中减去订单中的产品数的数量,更新成功后提示交易成功,产品以发出。再根据订单中的userName更新usersend表中的消费数额的字段sendmoney的值。更新成功后提示更新消费信息成功。若不成功提示“交易失
14、败,请联系管理员”并转入首页。5.6.2 查看订单查看用户订单页面,先根据session中的userName查询订单表中的全部信息并显示出来,可以根据订单的ifok属性值分成是否完成交易,并将未完成交易的ifok=0的订单信息后面加上链接“撤消订单”和“付款”,分别连接到订单的删除deldingdan.jsp页面和checkok.jsp交易页面。对于交易完成的订单即ifok=1的订单,用户只能查看而不能修改或删除。这部分订单只有管理员才能编辑。5.7 后台设计后台功能只允许管理员权限的用户使用,他的实现是前台功能的基础。后台包括身份验证,添加商品,订单管理,用户管理等模块。5.7.1 用户管理
15、管理员对用户的管理包括查看所有用户信息和消费信息。建立表usesend用于以后扩展成按照用户等级消费的,可以给表设计一个触发器,当用户的消费数达到500时,通过属性sendmoney的更新触发触发器,更新用户的等级,而管理员设置每个等级有对应着几折,由此来修改用户享受购物时的折扣。但是现在这些只是我的想法还没有具体实现,这也将是我下一步的设计目标。 用户的删除涉及到usr表,usersend 表和dmingxi表的级联删除与否问题。现在只实现了单表的删除。5.7.2 产品管理 产品的管理部分实现了产品的添加,删除,新产品推荐,和销售排行。产品的添加时先判断图产品的名称,出版社,作者,出版日期是
16、否都相同,如果相同则,只更新原有图产品的数量加上先添加的数量即可。若不全相同则添加新的数据加入数据库,并自动生成产品的唯一ID用于标识产品。产品的添加页面由addbook.jsp获取数值,传入add-book.jsp页面进行验证和添加数据库。 添加成功后弹出添加完成对话框。删除产品页面为delbook.jsp页面。5.7.3 订单管理订单管理只实现了所有订单的所有信息的查看,和修改,为了信用问题应在删除用户下了订单却没有付款的订单时通知用户,此订单已被删除。订单查询,使用静态HTML页面获取表单信息,后提交给seachdingdan.jsp页面接受信息。输入订单号后再dmingxi表中比较dingdanID相同的就输出返回给用户。若不存在着显示没有您查找的订单。5.7.4 管理员退出 管理员的退出与用户的注销相同。5.8 本章小结本章开始对系统的详细设计以及实现,先给出了本系统的总的界面,接着分别介绍了会员系统、商品搜索系统、订单系统和后台管理系统四大系统。在会员系统总介绍了会员登陆和会员注册;在商品搜索中介绍了一般搜索、高级搜索和搜索无结果;而在后台管理系统中介绍了后台登陆、添加图产品、删除图产品、订单管理、后台会员管理。专心-专注-专业