




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网络编程课程设计报告 姓 名:学 号:院 系:班 级:设计名称指导教师: 2012年 6 月 22 日25目录目录一、需求分析31.功能需求32.开发及运行环境4(1) 硬件平台4(2) 软件要求4二、总体设计52.1网站的设计目标52.2网站的深入调查52.3网站设计的特点52.4网站开发的设计思想6三、模块设计63.1 基于mvc的应用开发模型63.2平台功能模块的设计分析8四、程序模块设计84.1 系统流程分析84.1.1前台购物流程如图4-2 所示84.3.2注册功能流程如图4-3所示84.3.3商品搜索流程如图4-4所示104.3.4用户登录流程114.3.5商品管理流程124.3.6购物车流程12五、详细设计与代码实现135.1注册设计135.2登录设计145.3购物车设计165.3.1 购物车模块的实现165.3.2商品信息195.3.3后台管理模块的实现205.3.4商品管理205.3.5会员管理225.3.6 商品搜索模块的实现24六、实验总结25一、需求分析网络购物车是现在广泛用于网上购物的工具之一。购物车主要提供了基本的用户注册,用户登录,增删物品,统计价格等功能。用户在使用购物车时,可以方便的使用这些简易的功能。1.功能需求从部署的位置来看,本项目可以分为服务器端和客户端。服务器端的应用主要是起管理作用,用户端发送的所有消息都将被发送到服务器端,经过服务器端的出来后,服务器端可以选择将消息丢弃或者转发。用户端的应用分成三种。第一种是提供基本的登录界面,在登录界面中应该有服务器地址选择、服务器端口选择以及用户登录昵称等信息;第二种是想服务器发送消息,比如用户注册,用户登录、用户退出、添加物品,删除物品,统计价格等消息;第三种是响应服务器的消息,即当接收到服务器端方式的消息后,采取响应的动作。比如当用户端收到服务器端发送的添加物品的消息后,用户端应该从消息中提取添加物品的信息,并将信息按要求添加到适当的位置。综上所述,本系统需要提供一下的界面和功能:(1)用户注册。当用户第一次使用购物车时,提供用户注册界面,以便后期进行各种购物车功能(2)在用户端提供登录界面,支持服务器的选择,并提供所选择服务器的端口号,以及基本的登录昵称的输入。(3)提供一个完整的网络消息协议的设计以及实现。该消息协议应包括登录消息、添加物品、删除物品、统计价格等。每一种网络消息都应该有响应处理以及回复的方法。(4)在客户端提供购物车页面。用户在购物车页面可以进行添加、删除等操作,并可以实时统计价格。(5)在服务器端提供消息出来机制。对客户端发送的各种消息,服务器端应该在进行分析后,进行响应的处理。网站布局网上购物平台index.jsp。用户管理用户注册用户注销用户管理管理进入商品管理查看与修改添加新商品管理网站用户添加用户商品名称商品搜索2.开发及运行环境 (1) 硬件平台cpu: pentium 4 2.0ghz以上内存:512mb以上容量显卡:32mb或以上显存之agp接口显卡 (2) 软件要求操作系统:microsoft windows xp运行环境:tomcat/ jdk1.6开发工具:myeclipse 二、总体设计2.1网站的设计目标本购物系统由于需要演示程序,故为了演示方便,采用jsp+access数据库的架构实现的,此系统分为前台管理和后台管理。前台管理是友好的操作界面,供用户浏览、查询使用。包括:浏览商品、查询商品、订购商品、购物车、用户维护等功能;后台管理是提供给管理员的,其中包括:商品管理、用户管理、网站信息管理、和广告友情链接等。使管理员从繁琐的手工操作中解脱出来,并提高了办公效率。2.2网站的深入调查经过以上的初步调查和研究,并且确定了该平台的可行性,并决定开发本平台,为了能够对现行的平台内容进行充分了解,使所要开发的平台更具有实用性和适应性,通过两个月的实习调查和指导老师的耐心介绍,设计出该平台功能如下:1. 能够完成用户基本信息录入的注册和用户基本信息的个人前台与后台管理。2. 能够完成管理员对网站的商品资料(商品添加、商品审查)会员管理(会员审查)、网站信息管理(新闻添加、修改删除、公告设置),以及常规设置(广告添加,友情链接)的功能。3. 能过电子商品的名称,电子商品的分类进行搜索。4. 能够通过查看购物车对所选商品进行确定、挑选,通过定单查询对支付费用进行确定。经过前一阶段的调查与研究分析,我已确定了该平台设计的主要功能,对每个功能模块也作了具体描述,下面就来具体分析该平台的设计特点与具体思想。2.3网站设计的特点我所设计和开发的网上购物平台是经过很长时间的调查和分析才开始具体实施的,它的主要特点是改变了以往的购物只能过现实的商场才能达到的结果,采用web技术,借助于internet互联网广泛应用技术,达到资源共享,提高以往购物的局限性,缩短人们的时间和提高工作效率,具有较好的交互性,从而实现信息化,规范化,系统化,网络化的平台,使整个购物活动过程简单、方便、易行。2.4网站开发的设计思想网上购物平台主要是对后台管理和前台操作。后台管理是管理员对本网站的维护,通过商品资料(商品添加、商品修改)会员管理(会员审查)网站信息管理(新闻添加、修改删除、公告设置),以及常规设置(广告添加,友情链接)等功能达到对网站的管理。前台操作是用户登录到本网站,可以进行用户注册,通过网站的精品推荐或商品搜索功能,找到自己想要买的商品,装入购物车,提交定单进行购买。网上购物平台的特点是客户和电子商品信息量很大,管理员需要整理的信息很多,为让管理员轻松、方便、快捷的管理,该平台采用符合购买电子商品基本的原则,满足广大客户的日益增长的数量,并达到操作过程中的直观、方便、实用、安全等要求。三、模块设计根据需求分析以及功能需求,我们得出我们的购物网站的总体框架以及程序的实际运用流程.3.1 基于mvc的应用开发模型在传统的基于web的应用系统中,例如asp,cgi等,通常开发者将业务逻辑,数据逻辑、展示逻辑等混杂在一起,在同一个界面面里既进行后台数据库的访问和操作,同时还包含业务流程和页面表示。这样编写出来的程序,既不利于程序员对业务代码的调试,同时也不利于编辑人员进行交互页面的设计。同时系统也不具备可扩展性,当我们要在现有业务上进行扩展的时候,通常无法借助于现有的资源和应用,而只能够重新编写,大大增加了投资,延长了系统上线的时间,失去了竞争市场的优势。在本网上购物系统中,将采用通行的mvc模式来构建应用。这种结构解决了前面所述的所有问题,在我们的应用集成网络中,通过企业级高端j2ee应用服务器实现mvc开发模型。control服务控制view显示方式model业务逻辑模型输入请求输出html其他图3-3 mvc业务流程示意图通过这种方案,我们可以迅速地实现整个业务,其优势和特点如下:model(模型)层:由ejb组件来实现,ejb将具体的业务封装在组件内部,具备安全、高性能、可重用等优秀的特征。view(视图)层:由jsp、html组成。这一层次的特点是能够真实地展示和客户交互的界面,具备可描绘的功能。同时能够嵌套动态数据,可以进行动态页面的展示。同时可以方便地进行客户端的个性化定制。根据每个客户的需求来展示不同风格的界面。controller(控制器)层:是非常重要的一层,这一层是连接view和model的纽带,同时也是将这两层进行最大限度分离的工具。通常由servlet来实现,servlet和jsp虽然同样都属于页面展示工具,但分属两层。主要在于jsp以脚本语言的形式存在, 它的主要优势是进行动态数据的web展示,而servlet是一个完整的java程序,进行业务的调用和流程的处理是它的长处。3.2平台功能模块的设计分析在平台功能的分析基础上,得到本平台的功能模块图如图4-1所示: 图4-1 平台购物模块图用户进入网上购物平台,用户可以注册,然后登录后可以进行修改资料,用户可以通过商品搜索,找到自己想要产品。管理员可以通过后台登录进去进行会员管理,商品管理,新闻管理和广告链接管理。在会员管理中,可以对会员就行添加删除,在商品管理中可以对商品进行添加修改,在广告链接里面可以对广告设置和友情链接进行管理。四、程序模块设计4.1 系统流程分析4.1.1前台购物流程如图4-2 所示浏览商品选择商品订购商品去购物车去收银台提交订单未注册用户已登录注册用户未登录注册用户注册登录图4-2 前台购物流程图用户再前台可以浏览商品,看到自己喜欢的商品可以选择商品,然后订购商品,这时需要进行判断,如果是没有注册的用户,那么系统跳到注册页面,如果是注册了没有登录的用户,则跳转到登录页面,已经登录的用户则跳转到购物车页面,然后去收银台结帐,然后提交订单。4.3.2注册功能流程如图4-3所示 注册入口必选项为空用户名有效?2次输入密码是否一致?密码长度符合要求?emai地址有效效?其他信息有效注册成功图4-3 注册功能流程图注册的具体实现为:点击主页面的用户注册选项后,会弹出一个注册信息页面,用户需要如实填写用户名,密码,e_mail,地址,电话,真实,姓名等各项信息,提交后,系统进行检测判断该用户名是否已经注册过,如果已经存在则弹出新页面,提示用户该用户名已经注册过,如果没有则进行下一步判断,用户输入的两次密码是否一致,然后依次往后判断用户所填写的各项信息是否符合要求,直到所有信息均正确无误,系统将该用户注册信息写入会员表即member并提示用户注册成功,用户登陆后,就可以进行有效的购物了。4.3.3商品搜索流程如图4-4所示开始搜索输入条件搜索结果查看商品购物车下订单继续搜索是否图4-4 商品搜索流程图商品的搜索功能使用户更加方便的进行自己所需要的商品的查询,节省时间,提高效率。用户搜索时只要输入商品的关键字就能搜索到所有相关的商品。并且能列出通过搜索得到的商品的详细信息。4.3.4用户登录流程如图4-5所示登录入口取得用户名和密码将userid存入session中查询用户是否存在核对密码是否正确登录成功是是否否图4-5 用户登陆流程图用户登录,首先要有一个提供用户登录的表单。用户登录的表单应该嵌入整体的结构当中。在实际的应用中,可以这样设计,如果用户没有登录,则在页面中显示用户登录的选项,用户登录后,则可隐藏用户登录的选项而代之以用户的基本信息。首先,用户要有一个用户名和密码。商务网站需要很高的稳定性和安全性,因此对用户名不允许使用恶意的代码作为用户名。同时对密码也要求保密,将密码加密后再存入数据库。另外,一个电子商务网站。用户的真实姓名是必不可少的。除此之外还需要用户的性别、e-mail、电话号码等。4.3.5商品管理流程如图4-6所示商品管理查询商品修改删除满意否返回添加商品是否图4-6 商品管理流程图在该功能里管理员可以进行不需要的商品的删除,在这里管理员当然也可以浏览到商品的详细信息。并且比普通用户在浏览商品界面里所看到的商品信息多一个该商品在数据库中的id。4.3.6购物车流程如图4-7所示购物车具体的实现可采用这种形式:定义一个购物车的类(class)。1.列出商品的列表,使用户能够自由选择所需要的商品。2.当用户在点击“添加到购物车”的链接时,执行如下功能:检查用户购物车类是否存在。如不存在,则建立,并注册这session变量;在有用户购物车类存在的情况下,检查该类中是否有该商品。如存在,则商品数量相应加1;如没有该商品,则将该商品添加到该类中。购物车查看商品满意吗下订单调整商品是否 图47 购物车流程图五、详细设计与代码实现5.1注册设计如果用户还不是会员则提示用户进行注册,用户提交信息之后,系统开始判断用户的注册信息是否有效,首先是用户名是否为空,(该处存在用户名命名规则的问题,后面问题中会详细解决)用户输入的两次密码是否一致,然后依次往后判断用户所填写的各项信息是否符合要求,直到所有信息均正确无误,系统将该用户注册信息写入会员表即member并提示用户注册成功,用户登陆后,就可以进行有效的购物了。注册页面的效果图如下图5-3所示:图5-3注册页面示意图系统对用户的注册信息的验证实现如下:用户输入的各项信息分别对应字段先判断用户名是否为空request.getparameter(user_name).equals() 同样道理对密码进行判断判断两次输入是否一致user_pass.equals(user_pass2)其他选项与上面类似,如果条件符合则将该值赋给各个字段用户名重复的验证代码为:sql=select * from member where user_name=+user_name+;当所有条件都符合的时候,系统将数据写入数据表,并返回成功页面,显示用户所填的注册信息,写入关键语句为:sql=insert into member(user_name,user_pass,user_adds,user_mail,user_tel,user_regip,user_namec)values(+user_name+,+user_pass+,+user_adds+,+user_mail+,+user_tel+,+request.getremotehost()+,+getstr(request.getparameter(user_namec);5.2登录设计用户登陆模块是防止非法用户登陆的第一道防线,通过它可以保护后台数据库的安全性,当用户要进行定购时,首先要进入的就是身份验证界面,只有在密码正确的情况下才能进行以后的购物,如果输入的密码不正确,则不能进行定购。如果用户以浏览者的身份进入网站,则只能进行一般的商品浏览和搜索,而不能进行选购,在点击添加购物车后,系统会判断该用户是否是登陆用户,如果不是则弹出提示页面,提示用户必须先登陆才能定购商品。 登陆的具体实现要通过一个全程变量,即session变量来实现,在系统中则由一个单独的session.jsp页面来放置该session。用户登录的界面dengluyufou.jsp,从member表查得用户提交的帐户名和密码正确后,用一个全局变量,即session变量保存这一消息(该变量名称为session(“user_name”))。示意图如图5-4所示图5-4 登录示意图具体的判断过程为:若session中user为空即session.getattribute(user_name)=null,表明没有经过登陆与否的验证,则立即跳转到dengluyufou.jsp,请用户登录;并将用户登陆的帐号和密码通过关键代码为:string sql=select * from member where user_name=+user_name+;如果user_name存在的话则判断其密码是否正确如果为真则将用户信息赋给session session.setattribute(user_name,+rs.getstring(user_name)+);以方便系统对用户在操作一些会员功能时进行用户身份验证。登录后,可以马上看到自己的资料,如图5-5所示:图5-5 用户信息示意图用户在登录之后也可以对自己的资料进行修改,在点击主页面的修改资料之后,弹出这样的一个页面,用户可以直接在文本框里修改,然后确认。如图5-6所示图5-6 用户资料修改示意图修改这一过程的具体实现过程为sql=select * from member where user_name=+user_name+;根据用户名将该用户的所有信息列出来,以供用户修改,修改的方法采用的是rs.updatestring(user_pass,user_pass);其他的类似。5.3购物车设计5.3.1 购物车模块的实现当用户登陆成功以后,如果找到了希望定购的物品,在点击物品下方的定购以后,系统会弹出一个新的页面,显示该物品已经添加进购物车,然后用户需要选择定购的数量。页面效果如图5-7所示:图5-7购物车示意图在点击确认以后,该物品信息被后台添加到购物车表即basket表中,如果用户需要继续购物,可以继续选择,不断添加,系统会自动将所有信息写入basket表,同时显示用户所购买的物品列表,及合计价格。其具体代码实现过程为:从session中取得该用户的信息user_name=(string)session.getvalue(user_name);对商品的信息进行提取以写入购物车表具体的写入语句为:sql=insert into basket(hw_id,user_name,basket_count,hw_name,hw_cash);sql=sql+values(+hw_ids+,+user_name+,+counts+,+hw_name+,+hw_cashs+);以下是用户执行确认后的示意图,如图5-8所示图5-8 所购商品信息示意图如果用户在去收银台结帐前对已经选购的物品不满意时,可选择清空购物车,同时系统也将basket表中相关信息删除。用户完成选购之后,可点击收银台付款,系统返回最终选购物品列表和合计价格,如图5-9所示:图5-9收银台结帐示意图该步骤实现的关键语句为:string sql=select * from basket where user_name=+user_name+and basket_check=false;系统只统计basket_check为否的该用户选购的商品信息。用户再一次确认后,系统会显示购物成功并返回给用户一个定购单号,提示用户填写收货人详细信息,包括姓名、地址、邮编、邮箱、电话、付款方式、备注等信息,这些信息是系统自动从用户表中提取出来的,用户可以修改。这一步的具体实现与用户资料修改类似,都是先将该用户的相关资料从数据库中调出来sql6=select * from member where user_name=+(string)session.getvalue(user_name)+;然后使用方法update对表中各项信息进行修改。确认后,系统弹出提交成功页面,如图5-11所示:图5-11 订货成功示意图该页面也就是将用户提交的订单信息返回,并产生了一个唯一订单号,以方便用户查询,这个订单号的产生,并不是随机产生的,而是使用了一定的规则,在这里主要是根据用户名和订单产生的时间来生成订单号,具体的代码如下:string sub_number=;string now=(string)(new java.util.date().tolocalestring();sub_number=user_name+now;相类似的,系统中的其他类似字段也可以使用这样规则来产生随机编号,以方便管理5.3.2商品信息 商品信息主要是为了让顾客对所需要的信息就行了解。其中商品显示的关键代码如下:sql=select * from hw where hw_id=+hw_id;然后用的方法读出数据库内容。5.3.3后台管理模块的实现网上购物系统除了能够让用户实现前台的浏览和购物等操作之外,还必须能够使管理人员能够对系统的各种信息进行维护,比如商品的增加、删除、修改,会员的审查,网站新闻的更新等等。管理功能是网上购物系统相当重要的一部分功能。管理员可以通过主页面的“后台管理”进入系统后台进行维护,点击之后,首要的就是进行身份验证,输入正确的帐号,密码之后,方能进入。由于涉及到交易,出于安全性考虑,管理员帐号应尽量少分配,密码也要尽量复杂,经常更换。这个过程中,点击登录后,将用户名和密码框中的值传递到2login.jsp中进行验证,如果用户名和密码同数据库中的一致,那么登录成功,转到manage.jsp页面中。具体实现关键代码如下:string sql=select * from admin where admin_name=+admin_name+ and admin_pass=+admin_pass+;进入之后系统管理的主页面 采用了框架结构,左边是一个树型菜单,右边显示具体信息。如图5-15所示:图5-15 后台登录首页界面5.3.4商品管理管理的主要功能有商品信息的更新,会员信息维护,网站信息维护,广告链接设置等四大块,商品信息管理,主要就是添加新的商品,删除和修改已经添加的商品。添加商品的界面如图5-16所示:图5-16 商品添加界面 这一部分的实现也没有新的方法,使用的依然是一些sql语句来对相关数据进行添加和修改,添加的关键的sql语句用insert into插入就可以。这里不在贴出修改则使用update语句。删除商品主要用到的关键语句为sql语句:sql=delete * from hw where hw_id=+cint(request.getparameter(hw_id);其中需要用到记录集分页功能,由于代码过长,故只说出主要思想:int pagesize =20; /设置每张网页显示两条记录int showpage = 1; /设置欲显示的页数int rowcount = 0; /resultset的记录数目int pagecount = 0; /resultset分页后的总页数int duoyu=0;sql=select * from hw order by hw_id desc;rs=mdb.executequery(sql);然后for循环hw表,对数目进行判断。点击修改,可看到以下界面,如图5-18所示:图5-18 商品修改界面实现方法和添加的sql语句差不多,修改用update语句实现就可以了。5.3.5会员管理会员信息管理,则主要是添加会员和对一些恶意注册用户进行删除。添加会员主要分两种,一种是付费的享受最低价格的vip用户,另一种是网站注册的普通用户。界面如图5-19所示:图5-19 用户添加界面添加用户和添加商品的语句都是用insert 插入,主要sql语句是:sql=insert into member(user_name,user_pass,user_type) values(+user_name+,+user_pass+,+user_type+);mdb.executeinsert(sql);以下是用户删除界面如图5-20所示:图5-20 会员信息管理界面删除则用delete语句:sql=select * from member where user_id=+user_id+;网站信息管理,进行网上新闻的发布,修改删除,以及系统公告等信息的设置,这些功能虽然无关紧要,但在实际中却能方便用户,提高网站效益。下面用到分
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安徽省淮南市谢家集区2024-2025学年高二上学期期末考试数学考试题目及答案
- 安徽省蚌埠市五河县2024-2025学年高二上学期期末考试思想政治考点及答案
- 第03章 统计案例-学易试题君之单元测试君2025-2026学年高二数学人教版(选修2-3)(考试版)
- 第02章 地球上的大气-学易试题君之单元测试君2025-2026学年高一地理人教版(必修1)(考试版)
- 脑卒中后吞咽障碍患者进食护理
- 社区消防知识培训资料课件
- 统编版五年级语文上册第二单元拔尖测评卷(含答案)
- 社区消防安全知识培训课件新闻
- 社区流管业务知识培训课件
- iphone代理合同范本
- 危险化学品应急演练计划
- 2025-2030中国催化裂化催化剂行业前景展望及需求趋势预测报告
- 电厂设备清洁管理制度
- 左上颌骨囊肿护理查房
- 公司六一活动家属开放日活动方案
- 2025至2030年中国继电保护及自动化设备行业市场现状调查及发展趋向研判报告
- 2025年重庆市中考数学试卷真题及答案详解(精校打印版)
- 关于医院“十五五”发展规划(2026-2030)
- 民航气象专业面试题及答案
- 浙江仙琚制药股份有限公司年产2.5亿粒性激素软胶囊生产线技术改造项目环评报告
- DB37/T 3658-2019地质灾害治理工程施工技术规范
评论
0/150
提交评论