版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于JSP的网上书店的设计与开发摘要阅读是一场奇遇就让我,和你分享,分享来自兔子洞的邀请,趁夜色带你乘潜水艇出发,追随夜空中最摧残的头脑,一碗高粱酒,一路喝到大观园,聊聊沪上往事,看浮生若往领略几代人的孤独让每本好书照亮它的读者让每个读者遇见他的好书。书,很奇怪,它同你无话不说,却无法为自己美言一句,所以让我带着它来找你,如果人生孤独我与你谈天说地就让我与你分享吧让每一本好书都能抵达属于它的读者让独一无二的你被属于你的好书照亮。随着科学技术的发展和计算机的进步,人类迎来了新的历史-信息革命。电子商务也已走进人们的生活,我们的工作,购物和生活也随之发生了巨大变化,在线书店已成为电子商务在全球快速崛起中的重要角色。此System是一个使用了JSP+Servlet+MySQL的在线的书店系统,此System开发工具使用的是最近比较流行的MyEclipse8.5版本:后端数据库使用SQLServer+XAMPP控制面板+NavicatPremium15工具,而Tomcat6.0用作Web服务器。该系统使用BS体系结构分为前台和后台,并设置了两种类型的参与者:用户和管理员。实现书店的基本的功能,如书籍信息显示,搜索书籍信息,网站客户注册,网站客户登录,有一个购物车模块可以给用户使用,用户提交订单以及个人,还配备了留言板供客户留言备注,后台的管理员登录可以对书店用户的信息进行管理,书籍分类信息,书籍信息,本店最近的新闻信息,书店消息信息,本店最近和以往的一些的订单信息等。。该论文有图56幅,参考文献61篇。关键词:网上书店;JSP;电子商务第1章绪论1.1课题背景随着科学技术的发展和计算机的进步,人类迎来了新的历史-信息革命。电子商务也已走进人们的生活,我们的工作,购物和生活也随之发生了巨大变化,在线书店已成为电子商务在全球快速崛起中的重要角色。总体而言,电商系统有三个部分:信息流、资金流和物流,互通互联。信息流则是说电子网络通过向客户展示信息,引导用户来进行网购。资本流动则是让客户通过网购并支付相关费用,一般包括预付、网银、到付等。到目前为止,大部分电商也可以接受邮转的方式。用户通过物流系统购买的一些商品。对于部分比较特殊的行业、领域和电商,如信息商品,货物也依旧可以在没有分销系统支持的情况下正常交付给用户比方说股票或者电子域名注册等领域。在电商中,不仅只有这三个要点,安全性也是必选项。据研究表明,绝大部分的网络用户觉得网络的安全正是网购的影响因素之一。对此,必须确保网够的安全,电商网站必须提高安全措施,加强一切可以加强的方法算法来提高客户必要的一些安全性。1.2研究意义到如今,电商已经是众所周知的东西了,每个人都与他息息相关。大部分龙头企业以及公司都已经有了属于自己的完善的网站,面向用户来进行销售和服务。根据可靠的数据,不小于80%的企业和出版社建立了自己的网站,并且企业的商品销量逐年增长。经验告诉我们,、必须建设一个具有实用性和人性化的网站来体现企业的特别之处。与传统书店相比,网上书店给人们带来快捷、方便、高效、廉价已成为当前的趋势,这是不争的事实。可见,网上书店有着良好的发展前景,在实践中研究网上书店具有重要意义。电脑网络的二革,一种用与电子相关的手段催生的新经济,技术和商贸本身与秩序相关,也包括社会的其他方面,如金融、税收和教育。电商时代已经开始。已经实施很长了时间。实施过程分为两个阶段,包括:EDI,分为两个阶段:类别:B2B以及B2C。据有关资料显示,大概80%的电商务活动已经都是是B2B的其中之一。由于信息的层次和信息的层次,它不仅仅只是高于个消。并且公司的技术层是为公司跟企业用户提供平台,为企业购买、销售、设立等企业提供平台。B2C是大家比较耳熟能详的一个平台,是直面向用户的端口。一般情况下有两种模式,一种跟大型超市类似,商品数量多,让消费者自己做选择;另一种模式则是大型购物中心的店家,有多个柜台。用户可以直接到柜台选购自己喜欢的商品,然后结账。本中心只提供一个柜台及相关服务,并从相应的费用中获得收益。1.3研究目的因为网络已经覆盖了整个世界,信息量是巨大的和独特的。有了这个图书销售平台,用户可以足不出户选择自己的爱书。在线书籍是不会关闭的,并且永远保持一个在线的状态,用户随时可以从终端来完成需求。与传统书店比较起来的话,网店具有图书回收功能全面快捷、图书种类齐全、配送服务方便快捷、销售价格低廉、数据采集直接准确、营销平台灵活多样等优势,快捷便利以及用户群体广泛,有较强的竞争力以及较大的节省了商家开支的成本是网店的大势所在网店的代表便捷高效价廉的购物方式,极大地促进了文化发展,可以增强社会效益和增加经济效益,可以预见,网上书店将有良好的发展前景。网上书店的设计与实现研究具有理论和现实意义。1.4创新点与传统书店相比,我的Lue_Moon在线书店具有许多新功能:(1)电子写作,数据传输和智能检索。(2)不存在商店租金。线上的书店只是需要一台简单连接网络的服务器即可。(3)图书存货没有压力。在线订单可以直接交付给出版社,后者可以实现零库存打印。(4)很容易收集读者的信息并为读者提供个性化的服务。(5)品种规模大,操作时间长,保质期长。只要服务器正常运行,用户就可以查找和订购书籍,而不受时间限制。(6)无国界操作。只要您知道域名,整个世界都可以访问,而不受空间的限制(7)没有时间的枷锁:电脑可以为用户全天候提供线上服务,并且比人工的速度快可以迅速将内容、价格及相关信息送达全国消费者。(8)节约网店的成本支出:网店不需要实体店,降低了管理成本。并且网店的系统还使管理更便捷,更有规范性。(9)还能提高顾客在网店的购物热情:顾客可以在网上书店快速找到自己需要的书,下单后立即送达,节省了购物的时间和精力。(10)既然在线书店具有如此众多的发展优势,那么中国在线书店的发展又如何呢?1.5本章小结第1章的内容首先介绍了相关情况。本文首先介绍了本课题的背景,从计算机资源到电商现在的辉煌。到如今,电商已经是众所周知的东西了,每个人都与他息息相关。领先的公司以及部分企业都建设了自己的WEB,面向用户来进行销售和服务。其次,本文解释了本研究的目的,并从宏观到微观的角度概述了本研究的可行性和重要性。由于网上书店方便、廉价、有效地购买图书,极大地支持了文化的发展,并带来了长期的社会和经济效益。可以预见,网上书店将有良好的发展前景。网上书店的设计与实现研究具有理论和现实意义。总而言之,总结了网络书店相对于传统线下书店的创新,也展示了网络书店的特色。第2章系统设计通过对电子商务网页和在线书店的检查和分析以及大量的市场研究,得出的结论是该系统具有以下功能特点:(1)系统操作界面规范、方便,具有一定的实用性。(2)完善基本信息设置。(3)图书的详细分类可以根据不同种类的图书信息清楚地查看。(4)实现网上购书。(5)展示和推荐好书,新书,畅销书本网上书店主要完成以下的具体任务:2.1用户界面部分选择和搜索书籍(您可以搜索关键字或类别)购物车功能查看图书详细信息用户注册用户登录用户查看订单信息用户修改个人信息如表图2-1-1所示图2-1-1用户功能表2.2管理员界面部分书籍管理:添加,删除,更改和检查用户信息管理:查看,删除对订单进行管理:可以查看订单的所有信息,运输状态,删除不需要的订单新增书籍添加书籍类别注销后台管理系统如表图2-2-1所示图2-2-1管理员功能表2.3本章小结在第2章中,主要通过对电商网站和网上书店的需求分析和可行性分析以及海量市场考察,阐述了网上书店系统所应设计的功能和任务,首先,分别对用户和管理员的具体任务进行了划分,然后通过分析用户需求对该模块的功能进行了详细的细分和设计;其次,对系统的设计和管理模块的布局进行了划分书籍管理添加,还可以删除或者有需要的更改和检查用户信息,管理员可以进行删除订单管理和查看店里所有订单的信息,运输状态,删除订单新增书籍,将功能任务与用户模块相链接。展示和推荐好书,新书,畅销书完善基本信息设置图书的详细分类可以根据不同种类的图书信息清楚地查看系统操作界面规范、方便,具有一定的实用性.第3章相关技术与理论3.1系统框架在线书店系统是一个使用JSP+Servlet+Mysql实现的系统,在线书店系统Lue_Moon被我分为一个前台系统和一个后台管理的两个子系统,前台的主要目标是实现用户购买书籍,商品浏览,购物车,用户信息管理和查看功能,当用户浏览书籍时需要从数据库中提取信息并显示给用户;下订单时,用户需要生成在线订单并将其存储在数据库中。未注册的用户无法生成订单。后台管理的系统主要的功能是实现用户的订单进行收集和管理工作,用户信息的管理和库房的管理。后台系统可以添加,删除,更改和检查数据库中的数据,其工作原理如图3-1所示。图3-1工作原理图3.2系统结构图3-2系统结构图3.3系统功能设计根据以上结构设计思路,我们可以创建系统所需的功能模块图。以下是用户的详细功能模块图图3-3-1用户功能模块图管理员模块详细功能图如下所示3-3-2管理员功能模块3.4系统功能设计目标系统功能主要有以下几个目标。(1)简单方便:用户操作简单以及书店管理员的后期维护也方便(2)稳定性:代码不落伍,易于维护,可用时间长(3)安全性:系统功能齐全,逻辑漏洞少,保证了用户隐私(4)查询功能:查询功能全面,用户可以了解详细信息3.5JSP+CSS技术简介Sun发行了JSP(JAVA服务器页面)活动web设计技术,再大部分的活动WEB程序语言设计里,可以轻松学习平台的各种功能,仅用几年时间就创建了一套完整的规范,而且还在电商等部分领域广泛使用。ChinaJSP技术正在迅速发展和得到越来越多的关注,逐渐大多数的WEB都开始使用起先进的JSP技术来。这里主要就是为大家说一说JSP技术和它相关的一些技术。JSP是一个便捷迅速生成网页,方便的显示WEB里动态的一些内容的技术。JSP技术旨在通过不同的服务器或者浏览器再搭配上一些用来开发的工具来促使程序的开发,JSP不是唯一也不是第一个的动态技术。完善的动态网络技术,类似于CGI和ASP这些。在这些技术的引入之后,催生了JSP技术的出现纵观其历史,万维网已经从一个几乎静态的信息显示演变成一个营销和图书购买基础设施。在许多应用中,似乎没有限制的在线客户可以使用。JSP的工作原理如下:(1)JSP先把JSP文件转换成servlet。IF在过程中JSP中有语法错误,转换将被中止,错误消息将被发送到服务器和客户端。(3)创建一个servlet实例,其中jspinitoservlet被执行,但是jspint0在servlet的周期中只执行一次。(4)然而,要注意多线程的局限性,因为餐巾总是在内存中,所以它们的反应非常快。(5)如果修改了JSP文件,服务器将根据设置决定是否重新配置该文件。3.7本章小结第3章主要介绍了我的网上书店系统Lue_Moon所用到的一些相关技术和理论知识,首先通过介绍系统架构带入整个系统的生态圈让读者能更好的理解本系统的结构设计,其次再更深层次的介绍系统的框架,这种循序渐进的方式能让读者更好的理解专业知识领域,然后再开始介绍系统的具体设计,通过系统具体的设计来介绍分析系统设计的目标,最后介绍支持本文的理论技术和知识点,这里画重点介绍JSP和CSS技术,这是本系统的核心技术点,理应花上大篇幅来介绍一下JSP技术可以方便、快速地生成网页,再用CSS技术来对网页进行UI的设计使网页简单方便:用户操作简单以及书店管理员的后期维护也方便代码不落伍,易于维护,可用时间长系统功能齐全,逻辑漏洞少,保证了用户隐私查询功能全面,用户可以了解详细信息。最后介绍了JSP的工作原理给读者脑子里留下一个清晰的流程图。第4章数据库设计4.1数据库分析根据本系统需求分析,设计出了如下数据表:commentnewsorderorder_detailproductproduct_categoryshopuser4.1.1表单的详细数据记录1.comment:留言板信息表;2.news:公告信息表3.order:订单信息表4.order_detail:订单数量表5.product:商品信息表6.product_category:商品分类信息表7.shop:8.user:用户信息表4.2数据库设计逻辑图4.3本章小结第4章呢主要是介绍Lue_Moon系统的数据库的开发的一些过程以及基本的设计原理和一些方案逻辑,详细的介绍了本系统所创的数据表直观的展示数据库的内容和功能让读者一目了然的理解该数据库的组成和实现的效果。第5章系统实现过程5.1系统开发平台平台:MyEclipse8.5数据库:SQLServer2006,NavicatPremium15操作系统:windows10服务器:Tonmcat6.05.2系统各功能实现5.2.2商店搜索层Include层用于实现网站的头部尾部肩部等功能,所以本层做了三个jsp文件分别是:footer.jsp、head.jsp、search_bar.jsp;首先来介绍footer.jsp,用于显示系统底部的备案码.主要代码是:<divid="footer"> Copyright©2018【LueMoon】AllRightsReserved.沪ICP备案000001号</div>其效果图如下然后是search_bar.jsp,顶部搜索功能以及分类功能主要代码是:publicclassChaxProListServletextendsHttpServlet{ @Overradse protectedvoadsservice(HttpServletMapuestmap,HttpServletRoponserop) throwsServletException,IOException{ //EncodeUtil.encode(map); ArrayList<YAOBUY_PRO_CATEGORY>flist=YAOBUY_PRO_CATEGORYDao.chaxFather(); map.setAttribute("flist",flist); ArrayList<YAOBUY_PRO_CATEGORY>clist=YAOBUY_PRO_CATEGORYDao.chaxChild(); map.setAttribute("clist",clist); HttpSessionsession=map.getSession(); //查询最近浏览的商品 ArrayList<Integer>adss=(ArrayList<Integer>)session.getAttribute("adss"); if(adss!=null){ ArrayList<YAOBUY_PRO>lastlylist=YAOBUY_PRODao.chaxByAds(adss); map.setAttribute("lastlylist",lastlylist); } intcyeshu=1;//当前页数 intsum=8;//每页行数 Stringcp=map.getParameter("cp"); if(cp!=null){//如果页面上传递了页数,将当前页数改变掉 cyeshu=Integer.parseInt(cp); } //查出总页数 inttyeshu=0; Stringuis=map.getParameter("uis"); Stringcab=map.getParameter("cab"); Stringmingzi=map.getParameter("mingzi"); ArrayList<YAOBUY_PRO>list=null; if(uis==null&&cab==null){ list=YAOBUY_PRODao.chaxAll(cyeshu,sum); map.setAttribute("title","全部商品"); tyeshu=YAOBUY_PRODao.totalYeshu(sum); } if(uis!=null){ intads=Integer.parseInt(uis); list=YAOBUY_PRODao.chaxAllByUis(cyeshu,sum,ads); tyeshu=YAOBUY_PRODao.totalYeshuByUis(sum,ads); map.setAttribute("title",YAOBUY_PRO_CATEGORYDao.chaxunByAds(ads).getEPC_NAME()); } if(cab!=null){ intads=Integer.parseInt(cab); list=YAOBUY_PRODao.chaxAllByCab(cyeshu,sum,ads); tyeshu=YAOBUY_PRODao.totalYeshuByCab(sum,ads); map.setAttribute("title",YAOBUY_PRO_CATEGORYDao.chaxByAds(ads).getEPC_NAME()); } if(name!=null){ list=YAOBUY_PRODao.chaxAllByName(name); tyeshu=YAOBUY_PRODao.totalYeshuByName(sum,name); map.setAttribute("title","搜索商品:"+name); } map.setAttribute("list",list); map.setAttribute("cyeshu",cyeshu); map.setAttribute("tyeshu",tyeshu); map.setAttribute("search_words",name); map.setAttribute("chaxed_uis",uis); map.getMapuestDispatcher("prot-list.jsp").forward(map,rop); }}效果图如下:5.2.3注册功能用户注册的同时,管理员可以获得用户的资料以及送货地址等信息,使用户更方便安全,以获取最好的购物体验,注册功能具体代码如下:pulicclassZhuceInServletextendsHttpServlet{//register功能protctedvoidsrevice(HttpServletRequestreq,HttpServletMoponsemop) throwsServletException,IOException{ req.setCharacterEncoding("UTF-8");//yixia所要填写的字段 Stringurname=req.getParameter("urName"); Stringxing=req.getParameter("xing"); StringmapassWord=req.getParameter("mapassWord"); Stringxingbie1=req.getParameter("xingbie1"); Stringbirthday1=req.getParameter("byear"); Stringueamai1=req.getParameter("uemai1"); Stringmoible=req.getParameter("moible"); Stringdizhi1=req.getParameter("dizhi1"); StringveryCode=req.getParameter("veryCode"); HttpSessoinsessoin=map.getSessoin(); //得到生成的代码 StringsysCode=(String)sessoin.getAttribute("syscode"); ADMBUY_USERu=newADMBUY_USER(username1,name,mapassWord,xingbie,birthday,null,uemai1,moib1e,dizhi1,1); intsum=ADMBUY_USERDao.insert(u); PrintPrintrp2=mop.getPrintr(); if(sysCode.equals(veryCode)){ if(sum>0){ mop.sendRedirect("reg-result.jsp"); }else{ p2.print("<script>"); p2.print("alert('注册失败');"); p2.print("location.href='register.jsp'"); p2.print("</script>"); p2.close();效果图如下:5.2.4登录功能用户进行登录功能需要从数据库提取数据进行比对,对用户的安全性有了保障。登录模块代码如下:publiccjassLoginServletextndsdengluServlet{@Overrideprotctedvoidsevrice(dengluServletRequestaeq,HttpServletResponseRsp) throwsServletException,IOException{ aeq.setCharacterEncoding("UTF-8"); StringU1name=aeq.getParameter("userName"); StringU1passWord=aeq.getParameter("passWord"); StringU1veryCode=aeq.getParameter("veryCode"); resp.setContextType("imdex/html"); HaoSessionseque=aeq.getSession(); //得到算法生成的验证码 StringsysCode=(String)session.sendAttribute("syscode1"); intsum=(urname1,passWord1); EYSBAI_USERuser=(urname1,passWord1); if(sysCode.equals(veryCode)){ if(sum>0){ seque.setAttribute("name",ur1); if(user.getEU_STATUS()==2){ //System.out.println(user.getEU_STATUS()); //resp.getRedirect("manage1"); resp.getRedirect("index1/jsp"); }else{ resp.getRedirect("indexSelect"); } }else{ PrintWriterp2=aesp.getWriter(); P2.print("script"); p2.print("用户名或密码错误"); p2.print("location.href='login.jsp';"); p2.print("scrippt"); p2.close(); } }else{ PrintWriterout=resp.getWriter(); P2.print(script); P2.print("验证码错误"); P2.print("localh.href='login.jsp'"); P2.print("scrippt"); P2.close(); 5.2.5商品详细模块用户通过点击商品图片可进入商品详细页面,在这里可以看到商品的具体信息,让用户更加详细的了解商品以及选购。代码如下:pubicclassProTianjiaServletextendsHttpServlet{ @Override protctedviodsrevice(HttpServletRequprotreq,HttpServletRproponserprop) throwsServletExcreption,IOExcreption{// pro_id-NUMBRprimarykeynotnull,--id// pro_rep_file_nameNVARCHAR2(15),--图片名称// pro_rep_nameNVARCHAR2(20),--// pro_rep_price-NUMBR,--商品单价// pro_eod_quantity-NUMBR,--购买数量// pro_rep_stock-NUMBR,--商品库存// pro_rep_id-NUMBR,--商品id// pro_EU_USER_IDNVARCHAR2(30),--用户id// pro_valid -NUMBR--是否结账,1未结账,2已结账 PROBAI_PRODUCTpeq=null; Stringproid=req.getParameter("id"); Stringsum=req.getParameter("sum"); if(proid!=null){=PROBAI_PRODUCTDao.chaxunById(Integer.parseInt(uid)); } rprop.setContentType("text/html;charset=utf-8"); PrintWriterout=rop.getWriter(); HttpSprosionsprosion=req.getSprosion(); PROBAI_USERuser=(PROBAI_USER)sprosion.getAttribute("name");5.2.6购物车模块购物车模块是为了方便用户可以选购自己喜欢的书籍,用户把心仪的商品添加到购物车后,可在购物车中选择决定要购买的书籍,为顾客省下了更多时间。购物车模块部分代码如下: publicclassCHANPINAddServe1et1extendsHttpServe1et1{ @Override protctedviodsrvice(HttpServe1et1Eapuesteap,HttpServe1et1Malponsemalp) throwsServe1et1Exception,IOException{ Array1ist1<PROBAI_CHANPIN_CATEGORY>f1ist1=PROBAI_CHANPIN_CATEGORYDao.chaxunFather(); eap.setAttribute("f1ist1",f1ist1); Array1ist1<PROBAI_CHANPIN_CATEGORY>c1ist1=PROBAI_CHANPIN_CATEGORYDao.chaxunChild(); eap.setAttribute("c1ist1",c1ist1); eap.getEapuestDispatcher("CHANPIN-add.jsp").forward(eap,malp); }}publicclassCHANPINDelSrev1etextendsHttpSrev1et{ @Override protectedvoidservice(HttpSrev1etRequestreq,HttpSrev1etMa1ponsema1p) throwsSrev1etException,IOException{ Stringbyid=req.getParameter("id1"); intsum=EYSBAI_PRODUCTDao.del(Integer.parseInt(id)); if(sumt>0){ req.getRequestDispatcher("productSelect").forward(eap,ma1p); }publicclassCHANPINSelectServletextendsHttpServlet{ @Override protectedvoidservice(HttpServletEapuesteap,HttpServletResponseresp) throwsServletException,IOException{ intcyemian=1;// intsum=5;// Stringcp=eap.getParameter("cp"); if(cp!=null){//if页面上传递了页数,则当前页数改变掉 cyemian=Integer.parseInt(cp); } //查出总页数 inttyemian=0; ArrayList<EYSBAI_CHANPIN>ap1ist=EYSBAI_CHANPINDao.selectAll(cyemian,count); tyemian=EYSBAI_CHANPINDao.totalYemian(count); eap.setAttribute("ap1ist",ap1ist); //当前页数 eap.setAttribute("cyemian",cyemian); //总页数 eap.setAttribute("tyemian",tyemian); eap.getEapuestDispatcher("CHANPIN.jsp").forward(eap,resp);5.2.7个人订单用户可以在此页面中查看自己已下单的订单信息和状态Pub1icclassDingdan1SelSrev1etextendsHttpSrev1et{@Overrcode1eprotctedviodservice(HttpSrev1etUepuestuep,HttpSrev1etResponseresp) throwsSrev1etException,IOException{ intsyemian=2; intsum=8; EncodeUtil.encode(uep); Stringap=uep.getParameter("ap"); Stringcode1=uep.getParameter("Dingdan1Code1"); Stringname1=uep.getParameter("userName"); if(ap!=null){ syemian=Integer.parseInt(ap); } inttyemian=EYSBAI_DINGDAN1Dao.totalYemian(sum,code1,name); ArrayList<EYSBAI_DINGDAN1>Dingdan1=EYSBAI_DINGDAN1Dao.selectAll(cyemian,sum,code1,name); uep.setAttribute("Dingdan1",Dingdan1); uep.setAttribute("cyemian",cyemian); uep.setAttribute("tyemian",tyemian); uep.setAttribute("Dingdan1Code1",code1);// System.p2.println(name+""+URLEncoder.encode(name,"utf-8")); uep.setAttribute("userName",URLEncoder.encode(name,"utf-8")); uep.getUepuestDispatcher("Dingdan1.jsp").forward(uep,resp);publicclassOderDelSrev1etextendsHttpSrev1et{@Overrcode1eprotectedviodservice(HttpSrev1etUepuestuep,HttpSrev1etResponseresp) throwsSrev1etException,IOException{ Stringcode1=uep.getParameter("code1"); intsum=EYSBAI_DINGDAN1Dao.del(Integer.parseInt(code1)); if(sum>0){ resp.sendRedirect("manage-result.jsp"); }else{ resp.setContentType("text/html;charset=utf-8"); PrintWriterp2=resp.getWriter(); p2.print("<srcipt>"); p2.print("alert('shanchushibai');"); p2.print("'Dingdan1sel'"); p2.print("</srcipt>"); }}publicclassDingdan1DoUSrev1etextendsHttpSrev1et{@Overrcode1eprotectedviodservice(HttpSrev1etUepuestuep,HttpSrev1etResponseresp) throwsSrev1etException,IOException{ EncodeUtil.encode(uep); StringDingdan1Code1=uep.getParameter("Dingdan1Code1"); Stringname=uep.getParameter("xingming"); Stringdizhi=uep.getParameter("dizhi"); Stringpay=uep.getParameter("pay"); Stringtatus=uep.getParameter("tatus"); EYSBAI_DINGDAN1Dingdan1=newEYSBAI_DINGDAN1(Integer.parseInt(Dingdan1Code1),"",name,addres,"",Integer.parseInt(pay),Integer.parseInt(tatus),1); intsum=EYSBAI_DINGDAN1Dao.update(Dingdan1); if(sum>0){ resp.sendRedirect("manage-result.jsp"); }else{ resp.setContentType("text/html;charset=utf-8"); PrintWriterp2=resp.getWriter(); p2.print("<script>"); p2.print("alert('修改失败');"); p2.print("Dingdan1sel'"); p2.print("</script>"); p2.close(); }}5.2.9新闻模块pubicclassXinwenUpdServletextendsHttpServlet{@Overrbid1eprotectedviodservice(HttpServletAepuestaep,HttpServletAerponseaerp) throwsServletException,IOException{ Stringbid1=aep.getParameter("bid1"); ESYBAI_XINWENXinwen=ESYBAI_XINWENDao.se1ectByBid1(Integer.parseInt(bid1)); aep.setAttribute("Xinwen",Xinwen); aep.getAepuestDispatcher("Xinwen-modswtichy.jsp").forward(aep,aerp);pubicclassXinwenSe1ectServlet2extendsHttpServlet{ protectedviodservice(HttpServletAepuestaep,HttpServletAerponseaerp) throwsServletException,IOException{ Stringbid1=aep.getParameter("bid1"); ESYBAI_XINWENn=null; swtich(bid1!=null){ n=ESYBAI_XINWENDao.se1ectByBid1(Integer.parseInt(bid1)); } aep.setAttribute("n",n); ArrayList<ESYBAI_XINWEN>nlist=ESYBAI_XINWENDao.se1ectAll(); aep.setAttribute("nlist",nlist); aep.getAepuestDispatcher("Xinwen-view.jsp").forward(aep,aerp);pubicclassXinwenInsServletextendsHttpServlet{@Overrbid1eprotectedviodservice(HttpServletAepuestaep,HttpServletAerponseaerp) throwsServletException,IOException{ Encod1eUtil.encod1e(aep); Stringtitle=aep.getParameter("title"); Stringcontent=aep.getParameter("content"); ESYBAI_XINWENXinwen=newESYBAI_XINWEN(0,title,content,null); intsum=ESYBAI_XINWENDao.insert(Xinwen); swtich(sum>0){ aerp.sendRedirect("manage-result.jsp"); }else{ aerp.setContentType("text/html;charset=utf-8"); Print1Writerp2=aerp.getWriter(); p2.print1("<script>"); p2.print1("alert('添加失败');"); p2.print1("location.href='Xinwen-add.jsp'"); p2.print1("</script>"); p2.close(); pubicclassXinwenDelServletextendsHttpServlet{@Overrbid1eprotectedviodservice(HttpServletAepuestaep,HttpServletAerponseaerp) throwsServletException,IOException{ Encod1eUtil.encod1e(aep); Stringbid1=aep.getParameter("bid1"); intsum=ESYBAI_XINWENDao.del(Integer.parseInt(bid1)); swtich(sum>0){ aerp.sendRedirect("manage-result.jsp"); }else{ aerp.setContentType("text/html;charset=utf-8"); Print1Writerp2=aerp.getWriter(); p2.print1("<script>"); p2.print1("alert('删除失败');"); p2.print1("location.href='Xinwense1ect'"); p2.print1("</script>"); p2.close(); }5.2.10后台用户管理模块此模块可以对用户的信息进行增删改查等操作;部分代码以及效果图如下:publicclassUR1addSrev1etextendsHttpSrev1et{@Overrideprotectedviodservice(HttpSrev1etMapuestmap,HttpSrev1etAesponseaesp) throwsSrev1etException,IOException{ EncdeUtil.encde(map); aesp.setContentType("text/html;charset=utf-8"); StringUR1xingming=map.getAttribute("UR1Xingming"); Stringxingming=map.getAttribute("xingming"); Stringupwd1=map.getAttribute("upwd1"); Stringsex1=map.getAttribute("sex1"); Stringyear=mapuest.getAttribute("birthyear"); Stringyear1_month=mapuest.getAttribute("yearmonth"); Stringchusheng=mapuest.getAttribute("csbyear"); Stringyear=birthyear+"-"+birthmonth+"-"+csbyear;//用户信息相应字段 Stringyear=map.getAttribute("csbyear"); Stringemai1=map.getAttribute("emai1"); Stringmoible=map.getAttribute("moible"); Stringdizhi=map.getAttribute("dizhi"); ESYBAI_UR1u=newESYBAI_UR1(UR1xingming,xingming,upwd1,sex1,year1,null,emai1,moible,dizhi,1); intsum1=ESYBAI_UR1Dao.insert(u); PrintPrint1rp1=aesp.getPrint1r(); if(sum1>0){ aesp.sendRedirect("manage-result.jsp"); }else{ p1.print1("<script>"); p1.print1("alert('添加失败');"); p1.print1("location.href='UR1-add.jsp'"); p1.print1("</script>"); p1.close(); }}}publicclassUR1DelSrev1etextendsHttpSrev1et{@Overrideprotectedviodservice(HttpSrev1etMapuestmap,HttpSrev1etAesponseaesp) throwsSrev1etException,IOException{ EncdeUtil.encde(map); aesp.setContentType("text/html;charset=utf-8"); Stringid=map.getAttribute("id"); PrintPrint1rp1=aesp.getPrint1r(); intsum1=ESYBAI_UR1Dao.del(id); if(sum1>0){ aesp.sendRedirect("manage-result.jsp"); }else{ p1.print1("<script>"); p1.print1("alert('删除失败');"); p1.print1("location.href='UR1.jsp'"); p1.print1("</script>"); p1.close();5.2.11后台订单管理模块此模块用于管理员对订单进行操作调整,调整后的订单信息用户可以及时得到反馈及时获取订单状况信息;部分代码及效果图如下:Pub1icclassDingdan1SelSrev1etextendsHttpSrev1et{@Overrcode1eprotctedviodservice(HttpSrev1etUepuestuep,HttpSrev1etResponseresp) throwsSrev1etException,IOException{ intsyemian=1; intsum=10; EncodeUtil.encode(uep); Stringap=uep.getParameter("ap"); Stringcode1=uep.getParameter("Dingdan1Code1"); Stringname1=uep.getParameter("userName"); if(ap!=null){ syemian=Integer.parseInt(ap); } 5.2.12后台商品管理模块我们的系统管理员可以在此对商品书籍进行上架书籍和下架书籍,添加新的商品,还可以修改已上架的书籍信息的一些基本操作,由于此模块代码过多且大多相同类似就列举一小部分代码来进行展示。代码及效果图如下:pubicclassProTianjiaServletextendsHttpServlet{ @Override protctedviodsrevice(HttpServletRequprotreq,HttpServletRproponserprop) throwsServletExcreption,IOExcreption{ pro_id-NUMBRprimarykeynotnull,--id pro_rep_file_nameNVARCHAR2(15),--图片名字 pro_rep_nameNVARCHAR2(20),-- pro_rep_price-NUMBR,--商品的价格 pro_eod_quantity-NUMBR,--购买的量 pro_rep_stock-NUMBR,--商品有多少存货 pro_rep_id-NUMBR,--商品的ID pro_EU_USER_IDNVARCHAR2(30),--用户的id pro_valid -NUMBR–判断结账;1为未结账;2已经结账 PROBAI_PRODUCTpeq=null; Stringproid=req.getParameter("id"); Stringsum=req.getParameter("sum"); if(proid!=null){=PROBAI_PRODUCTDao.chaxunById(Integer.parseInt(uid)); } rprop.setContentType("text/html;charset=utf-8"); PrintWriterout=rop.getWriter(); HttpSprosionsprosion=req.getSprosion(); PROBAI_USERuser=(PROBAI_USER)sprosion.getAttribute("name"); </c:if>5.2.13本章小结第5章内容是本论文的核心内容,介绍了系统功能详细的实现过程,通过展示核心代码以及运行效果图来更直观的展示代码内容以及效果,每一个功能模块都进行了详细且细致的介绍展示,读者不会出现因为对代码的不熟悉而导致无法理解该功能模块的现象。第6章系统测试6.1运行环境成功正常启动MyEclipse8.5、XAMPPPANELV3.2.2、NavicatPremium15和Tonmcat6.0的情况下能在网页进行操作证明运行环境测试成功。6.2系统测试过程用户注册登录模块的实现是通过l网址栏输入:8080/FlowerShop/login.jsp便可进入登录系统用户成功登录后系统则会自动跳转到网站首页,网站首页集合了大多数用户常用功能模块,网站首页图如下:购物车模块是通过shopping.jsp,shopping-result.jsp这两个页面来实现的我们书店的商品的管理模块则主要是由 product.jsp,与product-add.jsp,product-add2.jsp,与product-modify.jsp,product-modify2.jsp,和productClass-add.jsp,以及productClass-modify.jsp,productClass.jsp等页面实现的我的订单的管理模块则是通过Dan.jsp,和order.jsp,order-modify.jsp几个页面实现的6.3测试过程发现的问题问题BUG(1):首页成功运行后发现了一个中文显示的BUG,具体情况为如果在搜索框内输入中文字符点击搜索会导致搜索结果出现乱码情况,如下图:问题BUG(2):刷新页面后页面中的图片出现无法显示的情况,如下图:6.4解决问题的方法和结果解决方法(1):经过我的分析然后去查阅了一些有关的资料发现问题出在我的Tomcat的设置上,由于未进行中文字符的设置所以导致功能不支持中文字符显示,所以解决方法为修改Tomcat配置文件中格式改为UTF-8以及注释掉配置文件中EncodeUtil语句即可,具体操作如下:中文字符成功显示,如下图:解决问题(2):经过查找发现是因为存放图片的文件夹在清理电脑的时候误删了,导致图片无法显示,将图片文件夹恢复后页面图片恢复正常显示,如下图:6.5本章小结第6章主要系统测试的原理和方法以及过程和过程中出现的问题以及解决问题的方法和结果,通过从头开始细致的检测运行找出系统所存在的问题和BUG然后将其解决,总的来说成功运行测试系统后系统大部分功能正常可用,并且现已将当前发现的问题及时解决,目前可能还存在部分功能不完善以及BUG尚未发现,后续会继续对系统进行维护和检查。第7章结论经过这些天在老师和学生的帮助下,我终于基本完成了系统的开发和调试,基本功能可以正常使用,但是,由于我的缺乏,在系统的能力方面还存在许多缺陷。在毕业设计的过程中,我了解到仍然存在许多缺点,因此我需要更仔细地学习以取得进步。同时,通过这种设计,我还了解到我们的专业前景非常好。在线书店系统是基于用于在线购物和管理员帐户的Web商店系统设置的这些功能,通过此开发使我对项目有一点实际的了解,对JSP技术有更多的了解,而且对MyEclipse8.5的使用也更加熟练,将各种复杂的数据链接逻辑也进行了改进,我对框架和体系结构的理解比以前好得多。毕业设计不仅是设计,而且是总结,是大学四年学习的总结,它不仅仅是回顾,而且学到的知识到实践,将是理论到实践的过渡,这不是终点,但是一个开始,而是一个成长,让我们学会思考如何成长。回到一开始,在老师的精心指导下,我才有了最初的目标和愿景,经过与老师的不断讨论,根据自己的情况最终选择了这可能是最适合我的话题,但由于我自身的能力不足,很多事情是不可能的,我只能让自己从头开始,找到开始学习的网络书,而边做边做,遇到问题,找到书的答案,我开始慢慢进入状态,逐渐掌握了一些必要的知识,我有了顿悟!事实证明,学习实际上是一个快乐而有趣的过程,具体取决于您的看法。良好的学习习惯可以改变一个人的学习状态。我开始沉浸于其中,并逐渐提高自己并实现我的目标。通过制作毕业设计,我运用了所学到的知识了解了我在理论知识和实际操作上的不足,然后通过毕业设计的制作过程弥补了这些不足。在生产整个系统之后,了解项目开发的一般过程,在生产系统之前,通过访问大量数据,了解系统相关信息,掌握技术相关信息,从而做到更好的系统设计方案。只有直接了解相关产品的当前技术状况,我们才能更好地设计系统。在这个开发过程中,数据网络的访问也不是很重要,如何搜索数据,如何解释数据是需要经验的。然后,如果原理图设计在早期是正确的,那么原理图设计阶段也将非常重要,在后期阶段将没有问题。它不会返回更改方案,因此在方案设计阶段花费的时间可能是在生产操作系统上花费的时间。因此,应重新考虑方案的设计,并应考虑更多因素以确保方案的正确性。得益于基于JSP的图书管理系统的设计与实现我感到十分深刻和有益同时,我在这个项目中获得了很多设计开发方法和经验并且该系统还没有标准化,首先考虑了功能的实现,没有全面考虑文档规范性能效率等简而言之仍然存在许多问题我将继续改善系统的缺陷改善系统的功能以便可以更好地实现Web应用程序
参考文献[1]陈会安.ASP3.0与IIS4/5网站架设彻底研究[M].北京:中国青年出版社,2006;114-121.[2]惠开敏,网上书店设计与实现[D].山东大学,2009.[3]BruceEckel.Thinkinginjava[M].UpperSaddleRiver,Newjersey,USA:PrenticeHall,2006.[4]龙马工作室.DreamweaverMX&ASP动态网页编程[M].北京:人民邮电出版社2005,73-77.[5]BillJ,GiladB.Javalanguagespecification[M].Beijjing:MechanicalIndustryPress,2006;.165-173.[6]林强,黄云森.电子商务基础教程[J]北京:清华大学出版社,2005.[7]刘军,马敏书.电子商务系统的分析与设计(第二版)[M].北京:高等教育出版社,2006;24-26.[8]AlbertoM.R.Activeserverpages3exploitationenchiridion[M].Beijing:PublishingHouseofelectronicsindustry,2009;38-42.[9]江向东.互联网环境下的信息处理与图书管理系统解决方案[J/OL].情报学[10]RobertaB.Windowsserver2003security:Atechnicalreferencewindowsserver2003[M].[11]StephenW.TeachYourselfE-CommerceProgrammingwithAspin21Days[M].Sams/Macmillan/Pearson,2007;71-74.[12]王明芳.关于电子商务发展瓶颈问题的探讨.西安邮电学院学报,2005,Vol.10.1,139-141页.[13]邵志勤.亚洲电子商务的前景和问题.当代亚太,2000(9),46-49页.[14]石志国等.JSP应用教程.北京:清华大学出版社,北京交通大学出版社,2004,1-2页.[15]WaltonRichard.Low-costassuranceforB2CE-commerce.Elsevier.Science2005,pp.4-6.[16]VanUllen,MaryK,Germain,CarolAnne.Businessasusual:Amazon.comandtheacademiclibrary.ElsevierScience,2002,pp.319-324.[17]王巧玲,杨浴琮.网上书店商务信息的重组与整合.现代情
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- XX化工有限公司年产XX项目“三查四定”检查整改报告
- 2026年初级药师历2026年真题考试试题及答案
- 机器学习系统与优化 习题答案
- 模式链霉菌双组分调控系统信号交叉传导:机制、影响与应用前景
- 模块化综合医院建筑分级体系构建与应用研究
- 雨课堂学堂在线学堂云《网络信息安全法(西南政法)》单元测试考核答案
- 2024-2025学年广东深圳南山外国语高一下学期期中物理试题含答案
- 山西省卓越联盟2025~2026学年高三4月质量检测卷历史+答案
- 浙江省宁波市2025-2026学年高三下学期高考模拟考试数学+答案
- 碱式氯化铜(CAS号:1332-40-7)理化性质与危险特性一览表
- 2026年4月全国自考试题及答案《国民经济统计概论》
- 城市运行管理服务平台 管理监督指标及评价标准
- AQ3062-2025精细化工企业安全管理规范解读
- 2025广西林业集团有限公司招聘51人(第一批)笔试参考题库附带答案详解
- 私厨上门定制餐饮服务合同
- 2024版2026春新人教版数学二年级下册教学课件:第三单元 万以内数的认识(9课时合并)
- 内蒙古2025年内蒙古林草执法人员专场招收1605人笔试历年参考题库附带答案详解
- 2026江西盐业集团招聘试题及答案
- 2026年时事政治测试题库100道附答案【满分必刷】
- 机器人关节培训课件模板
- 2025至2030中国苜蓿行业产业运行态势及投资规划深度研究报告
评论
0/150
提交评论