网上购物系统的设计与实现_第1页
网上购物系统的设计与实现_第2页
网上购物系统的设计与实现_第3页
网上购物系统的设计与实现_第4页
网上购物系统的设计与实现_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 管 理 信 息 系 统 论姓名:张攀登学号:201046900314班级:电子商务1001学院:管理学院成绩:网上购物系统的设计与实现第一章:绪论1.1系统开发原因u 的迅速崛起5,互近年来,随着Internet联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域。于是电子商务开始流行起来,越来越多的商家在网上建起在线商店,向消费者展示出一种新颖的购物理念。据有关资料显示,网上购物越来愈受欢迎,在中国迅速发展,现仅拿淘宝网的一些数据为例来做说明:据统计2010年淘宝网平均每分钟售出4.8万件商品,其中包括864件衣服,36部手机、880件化妆品、85本书、53包纸尿裤、13件灯具。下

2、面是2008-2014中国网络购物市场规模的变化下面是2010年中国网络购物交易的市场份额,可以看出网上购物在中国的发展非常迅速1.2 系统实现的目标现在流行的网上购物系统不仅要有漂亮的网页,更要有严谨的规划,注重每一个细小的环节。这样才能使得在电子交易时避免不必要错误发生。我们将使用HTML、JSP等技术来编辑网页,并运用JDBC技术把数据库和动态网页相关联。传统的管理信息系统信息获取方法是由专业文字录入人员将信息输入到管理系统的数据库中,这种方法在数据量不大时有很多的应用场合。当数据量比较大,并且有较强的专业性时,录入的费用和出错的可能性都相应上升。本设计在实际应用中的解决方案是建立网站,

3、 以及自己的数据库,使得所需商品信息可以及时的保存、更新,可以更好的及时了解商品买卖的情况1.3系统的开发意义Internet的发展,为改变传统的商业运作模式提供了一种技术上的可行性的方案:利用Internet的技术和协议,建立各种企业内部网Intranet,企业外部网Extranet,通过廉价的通讯手段,将买家与卖家、厂商和合作伙伴紧密结合在了一起,消除时间与空间带来的障碍,从而大大的节约了交易成本,扩大了交易范围。而在实际的生活中,这种方案已经被广泛的运用到了实际的商业活动中了,人们将这种交易模式称为:电子商务。 当今比较流行的网上购物系统有“淘宝()”,“当当

4、()”。它们都是相当优秀的电子商务网站,对其他的网站提供了良好的典范。设计中可以学习参考他们的思想,了解和熟悉整个网站的开发流程及完整的电子商务网站应有的功能和注意事项。 设计和完成一个电子商务网站的,将会牵涉到许多技术上的问题,如:动态网页制作技术的,后台数据库的设计和管理,通过实际的制作个网站,可以避免纸上谈兵,在实践中掌握上述技术的使用。第二章 网上购物系统2.1 网上购物系统分析系统分析是平台开发的一个不可缺少的环节,为了能够使本系统更好、更完善地被设计出来,就必须先进行调查研究。在系统调查的基础上,对新系统的功能进行细致的分析,从而才能够开发出完整的系

5、统设计。2.2网站的设计目标本购物系统由于需要演示程序,故为了演示方便,采用JSP4+Access数据库的架构实现的,此系统分为前台管理和后台管理。前台管理是友好的操作界面,供用户浏览、查询使用。包括:浏览商品、查询商品、订购商品、购物车、用户维护等功能;后台管理是提供给管理员的,其中包括:商品管理、用户管理、网站信息管理、和广告友情链接等。使管理员从繁琐的手工操作中解脱出来,并提高了办公效率。2.3网站的可行性分析随着计算机技术的发展和网络人口的增加,网络世界也越来越广博,越来越丰富,电子商务已经成为网上的一股潮流。我们相信要不了太长有时间,顾客就可以在网络世界上获得他们在现实世界上可以获得

6、的所有商品和服务。可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程,实际上是一次大大简化系统分析和系统设计的过程,所以,进行可执行性的分析是非常必要的,也是很重要的,经过最初的设计目标和进行的市场调查得出以下四点的可行性分析:(1)经济可行性:该平台设计只是作为本人的毕业设计,又因为本人的设计能力有限,其功能还不能完善,所以没有什么经济效益可谈。(2)技术可行性:JSPServlet的技术已经较为成熟。(3)运行可行性:该系统需要搭建JVM即JAVA虚拟机和Tomcat环境,在此环境下系统,并且在正确连接数据库后可以正常运行。(4)法律可行性:该平台是作为毕业设计与商业无

7、关,又因为是自主开发设计,因此不会构成侵权,在法律上是可行的。通过以上的可行性分析,我将采用JSPServlet相结合的技术5,运用Access数据库对网站进行建设。2.4网站的深入调查经过以上的初步调查和研究,并且确定了该平台的可行性,并决定开发本平台,为了能够对现行的平台内容进行充分了解,使所要开发的平台更具有实用性和适应性,通过两个月的实习调查和指导老师的耐心介绍,设计出该平台功能如下:1. 能够完成用户基本信息录入的注册和用户基本信息的个人前台与后台管理。2. 能够完成管理员对网站的商品资料(商品添加、商品审查)会员管理(会员审查)、网站信息管理(新闻添加、修改删除、公告设置),以及常

8、规设置(广告添加,友情链接)的功能。3. 能过电子商品的名称,电子商品的分类进行搜索。4. 能够通过查看购物车对所选商品进行确定、挑选,通过定单查询对支付费用进行确定。经过前一阶段的调查与研究分析,我已确定了该平台设计的主要功能,对每个功能模块也作了具体描述,下面就来具体分析该平台的设计特点与具体思想。2.5网站设计的特点我所设计和开发的网上购物平台是经过很长时间的调查和分析才开始具体实施的,它的主要特点是改变了以往的购物只能过现实的商场才能达到的结果,采用Web技术,借助于Internet互联网广泛应用技术,达到资源共享,提高以往购物的局限性,缩短人们的时间和提高工作效率,具有较好的交互性,

9、从而实现信息化,规范化,系统化,网络化的平台,使整个购物活动过程简单、方便、易行。2.6网站开发的设计思想网上购物平台主要是对后台管理和前台操作。后台管理是管理员对本网站的维护,通过商品资料(商品添加、商品修改)会员管理(会员审查)网站信息管理(新闻添加、修改删除、公告设置),以及常规设置(广告添加,友情链接)等功能达到对网站的管理。前台操作是用户登录到本网站,可以进行用户注册,通过网站的精品推荐或商品搜索功能,找到自己想要买的商品,装入购物车,提交定单进行购买。网上购物平台的特点是客户和电子商品信息量很大,管理员需要整理的信息很多,为让管理员轻松、方便、快捷的管理,该平台采用符合购买电子商品

10、基本的原则,满足广大客户的日益增长的数量,并达到操作过程中的直观、方便、实用、安全等要求。2.7系统设计的总体规则无论哪个网站都要有它自己的设计规则。该平台也一样,它的主要设计规则有:简单性:在实现平台的功能的同时,尽量让平台操作简单易懂,这对于一个网站来说是非常重要的。针对性:该平台设计是网上购物系统及后台管理的定向开发设计,所以具有专业突出和很强的针对性。实用性:该平台能完成电子商品展示和管理员管理的基本信息,具有良好的实用性。第三章:系统分析与设计3.1网站的功能分析经过前期的深入调查和研究,总结出该平台需要完成的一些具体功能,分析如下:用户管理 能够完成用户基本信息录入的注册和用户基本

11、信息的修改。管理员管理 能够完成管理员对网站的商品信息管理(商品添加、商品审查)、会员管理(会员审查)、网站信息管理(新闻添加、修改删除、公告设置),以及常规设置(广告添加,友情链接)的功能。搜索功能 能过电子商品的名称进行搜索。查询功能 能够通过查看购物车对所选商品进行确定、挑选。 3.2 平台功能模块的设计分析在平台功能的分析基础上,得到本平台的功能模块图如图3-1所示: 网上购物平台index.jsp。商品修改用户管理管理进入新闻管理用户注册商品管理商品添加会员管理广告链接修改新闻新闻添加广告设置链接管理商品名称用户修改会员删除商品搜索网站布局图3-1 平台购物模块图用户进入网上购物平台

12、,用户可以注册,然后登录后可以进行修改资料,用户可以通过商品搜索,找到自己想要产品。管理员可以通过后台登录进去进行会员管理,商品管理,新闻管理和广告链接管理。在会员管理中,可以对会员就行添加删除,在商品管理中可以对商品进行添加修改,在广告链接里面可以对广告设置和友情链接进行管理。3.3 系统流程分析3.3.1前台购物流程 浏览商品选择商品订购商品去购物车去收银台提交订单未注册用户已登录注册用户未登录注册用户注册登录图3-2 前台购物流程图2用户再前台可以浏览商品,看到自己喜欢的商品可以选择商品,然后订购商品,这时需要进行判断,如果是没有注册的用户,那么系统跳到注册页面,如果是注册了没有登录的用

13、户,则跳转到登录页面,已经登录的用户则跳转到购物车页面,然后去收银台结帐,然后提交订单。3.3.2注册功能流程 如图3-3所示:注册入口必选项为空用户名有效?2次输入密码是否一致?密码长度符合要求?Emai地址有效效?其他信息有效注册成功图3-3 注册功能流程图注册的具体实现为:点击主页面的用户注册选项后,会弹出一个注册信息页面,用户需要如实填写用户名,密码,E_mail,地址,电话,真实,姓名等各项信息,提交后,系统进行检测判断该用户名是否已经注册过,如果已经存在则弹出新页面,提示用户该用户名已经注册过,如果没有则进行下一步判断,用户输入的两次密码是否一致,然后依次往后判断用户所填写的各项信

14、息是否符合要求,直到所有信息均正确无误,系统将该用户注册信息写入会员表即member并提示用户注册成功,用户登陆后,就可以进行有效的购物了。3.3.3商品搜索流程 如图3-4所示:开始搜索输入条件搜索结果查看商品购物车下订单续搜索是否图3-4 商品搜索流程图商品的搜索功能使用户更加方便的进行自己所需要的商品的查询,节省时间,提高效率。用户搜索时只要输入商品的关键字就能搜索到所有相关的商品。并且能列出通过搜索得到的商品的详细信息。3.3.4用户登录流程 登录入口取得用户名和密码将UserID存入session中查询用户是否存在核对密码是否正确登录成功是是否否图3-5 用户登陆流程图用户登录,首先

15、要有一个提供用户登录的表单。用户登录的表单应该嵌入整体的结构当中。在实际的应用中,可以这样设计,如果用户没有登录,则在页面中显示用户登录的选项,用户登录后,则可隐藏用户登录的选项而代之以用户的基本信息。首先,用户要有一个用户名和密码。商务网站需要很高的稳定性和安全性,因此对用户名不允许使用恶意的代码作为用户名。同时对密码也要求保密,将密码加密后再存入数据库。另外,一个电子商务网站。用户的真实姓名是必不可少的。除此之外还需要用户的性别、E-MAIL、电话号码等。3.3.5商品管理流程 商品管理查询商品修改删除满意否返回添加商品是图3-6 商品管理流程图在该功能里管理员可以进行不需要的商品的删除,

16、在这里管理员当然也可以浏览到商品的详细信息。并且比普通用户在浏览商品界面里所看到的商品信息多一个该商品在数据库中的ID。3.3.6购物车流程 购物车具体的实现可采用这种形式:定义一个购物车的类(Class)。1.列出商品的列表,使用户能够自由选择所需要的商品。2.当用户在点击“添加到购物车”的链接时,执行如下功能:检查用户购物车类是否存在。如不存在,则建立,并注册这Session变量;在有用户购物车类存在的情况下,检查该类中是否有该商品。如存在,则商品数量相应加1;如没有该商品,则将该商品添加到该类中。购物车查看商品满意吗下订单调整商品是否 图37 购物车流程图3.4相关数据库表设计3.4.1

17、 商品信息表字段字段名类型宽度小数位索引可否为空Sh_id商品编号自动编号是否Sh _name商品名称文本型50否Sh _cash商品价格数值型182Sh _content商品信息备注型255Sh _pic商品图片文本型255Sh _buys商品数量数值型18Sh _date商品日期日期型3.4.2 会员信息表member字段字段名类型宽度小数位索引可否为空User_id会员编号自动编号是User_name会员帐号文本型50否User_pass会员密码文本型50否User_adds会员地址文本型255User_mail会员E_Mail文本型50User_tel会员电话文本型50User_reg

18、time注册时间日期型User_postcode邮政编码文本型50User_namec会员姓名文本型503.4.3购物车表basket字段字段名类型宽度小数位索引可否为空Basket_id购物车编号自动编号是否Sh_id商品编号自动编号是否User_name会员帐号文本型50否Basket_count商品数量数值型18Basket_date购物时间日期型Basket_check是否结帐是/否Sh_name商品名称文本型50Sh_cash商品价格数值型182Sub_number订单编号文本型50是3.4.4管理员表admin字段字段名类型宽度小数位索引可否为空Admin_id管理员编号自动编号是

19、Admin_name管理员帐号文本型50Admin_pass管理员密码文本型50 第四章 系统实现4.1 目录结构说明(1) admin 用于存储系统管理员的后台操作脚本,包括商品类别管理、商品信息管理、站内公告管理、订单管理、系统用户管理等功能;(2) pic 用来存储商品的图片资料,管理员上传的商品图片也存在这里。(3) img 用来存储网页上的图片文件。(4) database 用来存储系统的数据库。(5) Class 用来存储封装起来的一些servelet,也可称为JavaBean文件。4.2 功能页面结构(1)前台功能页面主页面框架:index.jsp,top.jsp,in-sear

20、ch.jsp,includenotice.jsp,paihang.jsp,middle.jsp商品展示:bought.jsp,cash.jsp,showing.jsp,views.jsp,inproduct.jsp 登陆注册:dengluyufou.jsp reg.jsp,regsave.jsp,quit.jsp(2)后台管理页面主页面框架:index.jsp,manage.jsp,left.jsp,main.html,quit.jsp商品管理:addhw.jsp,changehw.jsp,changehw_ok.jsp,savehw.jsp,delhw.jsp用户管理:viewuser.js

21、p公告管理:gg.jsp,gg2.jsp,ggdel.jsp4.3 主要功能流程 主页面index.jsp。商品修改用户登陆注册管理进入添加到购物车新闻管理资料修改商品管理商品添加会员管理广告链接新闻修改新闻添加广告设置链接管理是否会员退出返回搜索物品选购物品结帐付款填写订货单购物成功会员删除退出图41 主要功能流程图用户根据图示完成网上购物的基本流程,在前面已经详细说过。4.4各功能模块的实现4.4.1数据库的连接出于安全性的考虑,我们将与数据库的连接,单独写出来并进行编译,也就是数据库连接的javabean文件6,编译出来的.class文件是无法被修改的只能通过源文件进行修改,我们在JSP

22、页面中只用直接调用改方法即可,在本系统中我们将其命名为为.faq存放在class/ckstudio/db下设其id为mdb,我们在需要对数据库进行操作的时候只需在页面上添加这样一个标签即可。连接关键代码如下:Stringurl=jdbc:odbc:driver=MicrosoftAccessDriver(*.mdb);DBQ=+strDirPath+db.mdb;定义连接地址Connectionconn=DriverManager.getConnection(url);连接数据库4.4.2用户登陆模块的实现用户登陆模块是防止非法用户登陆的第一道防线,通过它可以保护后台数据库的安全性,当用户要进

23、行定购时,首先要进入的就是身份验证界面,只有在密码正确的情况下才能进行以后的购物,如果输入的密码不正确,则不能进行定购。如果用户以浏览者的身份进入网站,则只能进行一般的商品浏览和搜索,而不能进行选购,在点击添加购物车后,系统会判断该用户是否是登陆用户,如果不是则弹出提示页面,提示用户必须先登陆才能定购商品,如果是第一次登陆,请先注册。主页面的效果图如下图4-2所示: 图4-2 主页面示意图如果用户还不是会员则提示用户进行注册,用户提交信息之后,系统开始判断用户的注册信息是否有效,首先是用户名是否为空,(该处存在用户名命名规则的问题,后面问题中会详细解决)用户输入的两次密码是否一致,然后依次往后

24、判断用户所填写的各项信息是否符合要求,直到所有信息均正确无误,系统将该用户注册信息写入会员表即member并提示用户注册成功,用户登陆后,就可以进行有效的购物了。注册页面的效果图如下图4-3所示:图4-3注册页面示意图系统对用户的注册信息的验证实现如下:用户输入的各项信息分别对应字段先判断用户名是否为空,然后对密码进行判断,判断两次输入是否一致以及用户名是否重复当所有条件都符合的时候,系统将数据写入数据表,并返回成功页面,显示用户所填的注册信息。登陆的具体实现要通过一个全程变量,即Session变量来实现,在系统中则由一个单独的session.jsp页面来放置该session。用户登录的界面d

25、engluyufou.jsp,从member表查得用户提交的帐户名和密码正确后,用一个全局变量,即Session变量保存这一消息(该变量名称为Session(“user_name”))。示意图如图4-4所示图4-4 登录示意图具体的判断过程为:若session中user为空即session.getAttribute(user_name)=null,表明没有经过登陆与否的验证,则立即跳转到dengluyufou.jsp,请用户登录;并将用户登陆的帐号和密码通过关键代码为:String sql=select * from member where user_name=+user_name+;如果u

26、ser_name存在的话则判断其密码是否正确如果为真则将用户信息赋给session session.setAttribute(user_name,+rs.getString(user_name)+);以方便系统对用户在操作一些会员功能时进行用户身份验证。登录后,可以马上看到自己的资料,如图4-5所示:图4-5 用户信息示意图用户在登录之后也可以对自己的资料进行修改,在点击主页面的修改资料之后,弹出这样的一个页面,用户可以直接在文本框里修改,然后确认。如图4-6所示图4-6 用户资料修改示意图修改这一过程的具体实现过程为sql=select * from member where user_na

27、me=+user_name+;根据用户名将该用户的所有信息列出来,以供用户修改,修改的方法采用的是rs.updateString(user_pass,user_pass);其他的类似。4.4.3 购物车模块的实现当用户登陆成功以后,如果找到了希望定购的物品,在点击物品下方的定购以后,系统会弹出一个新的页面,显示该物品已经添加进购物车,然后用户需要选择定购的数量。页面效果如图4-7所示:图4-7购物车示意图在点击确认以后,该物品信息被后台添加到购物车表即basket表中,如果用户需要继续购物,可以继续选择,不断添加,系统会自动将所有信息写入basket表,同时显示用户所购买的物品列表,及合计价格

28、。其具体代码实现过程为:从session中取得该用户的信息user_name=(String)session.getValue(user_name);对商品的信息进行提取以写入购物车表具体的写入语句为:sql=insert into basket(sh_id,user_name,basket_count,sh_name,sh_cash);sql=sql+values(+sh_ids+,+user_name+,+counts+,+sh_name+,+sh_cashs+);以下是用户执行确认后的示意图,如图4-8所示图4-8 所购商品信息示意图如果用户在去收银台结帐前对已经选购的物品不满意时,可选

29、择清空购物车,同时系统也将basket表中相关信息删除。用户完成选购之后,可点击收银台付款,系统返回最终选购物品列表和合计价格,如图4-9所示:图4-9收银台结帐示意图该步骤实现的关键语句为:String sql=select * from basket where user_name=+user_name+and basket_check=false;系统只统计basket_check为否的该用户选购的商品信息。用户再一次确认后,系统会显示购物成功并返回给用户一个定购单号,提示用户填写收货人详细信息,包括姓名、地址、邮编、邮箱、电话、付款方式、备注等信息,这些信息是系统自动从用户表中提取出来

30、的,用户可以修改,如图4-10所示图4-10 定货单示意图这一步的具体实现与用户资料修改类似,都是先将该用户的相关资料从数据库中调出来sql6=select * from member where user_name=+(String)session.getValue(user_name)+;然后使用方法update对表中各项信息进行修改。确认后,系统弹出提交成功页面,如图4-11所示:图4-11 订货成功示意图该页面也就是将用户提交的订单信息返回,并产生了一个唯一订单号,以方便用户查询,这个订单号的产生,并不是随机产生的,而是使用了一定的规则,在这里主要是根据用户名和订单产生的时间来生成订单

31、号,具体的代码如下:String sub_number=;String now=(String)(new java.util.Date().toLocaleString();sub_number=user_name+now;相类似的,系统中的其他类似字段也可以使用这样规则来产生随机编号,以方便管理4.4.4商品信息的实现 商品信息主要是为了让顾客对所需要的信息就行了解。其中网站设置会员价格和VIP会员价格,一般会员享受会员价格,付费的VIP会员享受VIP价格。其中商品显示的关键代码如下:sql=select * from sh where sh_id=+sh_id;4.4.5后台管理模块的实现

32、网上购物系统除了能够让用户实现前台的浏览和购物等操作之外,还必须能够使管理人员能够对系统的各种信息进行维护,比如商品的增加、删除、修改,会员的审查,网站新闻的更新等等。管理功能是网上购物系统相当重要的一部分功能。管理员可以通过主页面的“后台管理”进入系统后台进行维护,点击之后,首要的就是进行身份验证,输入正确的帐号,密码之后,方能进入。由于涉及到交易,出于安全性考虑,管理员帐号应尽量少分配,密码也要尽量复杂,经常更换。具体实现关键代码如下:String sql=select * from admin where admin_name=+admin_name+ and admin_pass=+a

33、dmin_pass+;进入之后系统管理的主页面 采用了框架结构,左边是一个树型菜单,右边显示具体信息。管理的主要功能有商品信息的更新,会员信息维护,网站信息维护,广告链接设置等四大块,商品信息管理,主要就是添加新的商品,删除和修改已经添加的商品。添加商品的界面如图4-11所示:图4-11 商品添加界面 这一部分的实现也没有新的方法,使用的依然是一些sql语句来对相关数据进行添加和修改,添加的关键的sql语句用insert into插入就可以。这里不在贴出修改则使用update语句。删除商品主要用到的关键语句为sql语句:sql=delete * from sh where sh_id=+Cin

34、t(request.getParameter(sh_id);其中需要用到记录集分页功能,由于代码过长,故只说出主要思想:int PageSize =20; /设置每张网页显示两条记录int ShowPage = 1; /设置欲显示的页数int RowCount = 0; /ResultSet的记录数目int PageCount = 0; /ResultSet分页后的总页数int duoyu=0;sql=select * from sh order by sh_id DESC;rs=mdb.executeQuery(sql);然后for循环hw表,对数目进行判断。点击修改,可看到以下界面,如图4

35、-12所示:图4-12 商品修改界面实现方法和添加的sql语句差不多,修改用update语句实现就可以了。会员信息管理,则主要是添加会员和对一些恶意注册用户进行删除。添加用户和添加商品的语句都是用insert 插入,主要sql语句是:sql=insert into member(user_name,user_pass,user_type) values(+user_name+,+user_pass+,+user_type+);mdb.executeInsert(sql);以下是用户删除界面如图4-13所示:图4-13 会员信息管理界面删除则用delete语句:sql=select * from

36、 member where user_id=+user_id+;4.4.6 商品搜索模块的实现网上购物作为一个在网上展示自己商品的销售系统,如何能让用户以最快的速度找到自己希望买到的物品,也是需要非常重视的一个问题,此时搜索引擎也就必不可少了。本购物系统也做了一个小模块,以供用户进行一些模糊查找,用户不必输入全部名称,只需输入一些关键词,系统就可以将符合该查询条件的所有商品信息以网页形式返回给用户。该搜索功能在jsp页面中实现的关键代码为:则按商品名称进行搜索sql=select * from sh where sh_name like %+sh_name+%order by sh_id DE

37、SC;查找出所有含有该关键字的商品信息4.5 系统的整体设计和规划中的问题由于是基于B/S1的系统,网页在其中就承担着非常大的工作,包括向服务端后台写入和修改数据,以及服务端响应客户端的请求,向客户端页面返回数据,这些工作不可能只由几个网页来完成,但网页数量一多又必然结构混乱,造成开发过程难以控制。为解决这个问题,我采用了现代软件开发过程的模块化思想,先将系统功能进行分解,大致可分为两部分,即前台和后台,前台又包括主页面及产品信息展示页面、搜索功能页面、新闻页面、购物车及订单页面等几个大的部分,后台包括会员信息管理、商品信息管理、新闻信息管理、等几个部分,各个部分又由许多小的页面组成,这样一来

38、虽然网页数量没有减少,但结构清晰了很多,在开发过程中可以逐步,逐个模块的实现,提高了开发效率。4.6开发功能模块所遇到的难点因为是第一次做这么完整的jsp系统,所以碰到的问题也很多,除了一些基本的语法之外,感觉还是一些考虑问题的思维方式不太得当,比如我的这个网上购物系统,我感觉难度比较大的还是购物车1这个模块比较的难设计,因为过程比较复杂,他的一些逻辑处理就比较的难以用代码实现。我参考了一些电子商务网站,研究了一下他们的购物流程,大概有了一些处理的想法,用户在点击定购之后,系统先将该商品信息写入购物车页面,只有当用户在选择了商品数量,及确认按钮之后,系统才将该信息写入basket表,用户不选择

39、商品数量,或者不点击确认按钮,系统就不把该商品信息写入basket表,这样就不至于造成basket表数据混乱,用户无法继续购物。当用户完成选购,点击去收银台结算时,系统开始判断商品库中的这些商品数量是否大于用户所选数量,如果没有,则提示用户没有该商品,如果有则将所有basket表中属于该用户id的商品信息提出来,并合计价格,返回给用户,用户如果确定付款购买,则给用户提供一个订货单,由用户填写一些基本信息,确认之后,系统则产生一个唯一的订货单号,并将其返回给用户,以便用户日后查询,同时,系统则将该用户所选购的商品信息以及用户信息放入到订单表中。这样就基本上实现了购物车的功能。4.7系统中存在的问

40、题及拟定的解决方法(1)第一个问题是用户在注册过程中,一些关键字段的命名规则存在着比较大的缺陷,比如用户名的选择上,一般的习惯是规定只能从az和数字09的随机组合,不能有特殊字符,而且只能以字母开头,不能以数字开头,用户名的长度也有限制,我在系统中只考虑了为空的情况,这是不够的,我们可以在jsp页面添加一段javascript验证代码,主要是使用正则表达式对用户名进行限制,具体的代码如下:if( form.username.value.length20) alert(您的用户名长度应该在520个字符之间!);长度判断if ( fIsNumber(form.username.value.charAt(0),abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ)!=1 )alert(您的用户名只能以字母开头!); 开头判断 if ( fIsNumber(form.username.value, 特殊字符判断1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_)!=1 )alert(您的用户名应该是数字、字母、下划线,不允许出现汉字等其他字符!);(2)第二个问题就是用户登陆以后,如果需要修改资料,系统会先将数据库中该用户

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论