java毕业设计——基于JSP+sqlserver的网上购物系统设计与实现(毕业论文+程序源码)——网上购物系统
基于JSPsqlserver的网上购物系统设计与实现毕业论文程序源码大家好今天给大家介绍基于JSPsqlserver的网上购物系统设计与实现文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦文章目录基于JSPsqlserver的网上购物系统设计与实现毕业论文程序源码1、项目简介2、资源详情3、关键词4、毕设简介5、资源下载1、项目简介近年来随着Internet的迅速崛起互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域。于是电子商务开始流行起来越来越多的商家在网上建起在线商店向消费者展示出一种新颖的购物理念本购物系统基于B/S模式实现了当前购物网站的基本功能。本论文就此购物系统进行了详细全面的论述。系统中用户的主要功能有用户登录、注册、商品浏览、商品购买、订单管理以及个人信息管理。管理员的主要功能有商品管理、用户管理以及订单信息管理。全文共分为五个部分第一部分是介绍相关理论知识第二部分介绍系统总体设计第三部分介绍系统具体实现过程第四部分是测试工作。最后是结论。2、资源详情项目难度中等难度适用场景相关题目的毕业设计配套论文字数9588个字26页包含内容全套源码配整论文3、关键词电子商务购物系统JSP数据库4、毕设简介提示以下为毕业论文的简略介绍项目完整源码及完整毕业论文下载地址见文末。1 引言1.1 网上购物系统的发展近年来随着Internet的迅速崛起互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域。于是电子商务开始流行起来越来越多的商家在网上建起在线商店向消费者展示出一种新颖的购物理念。网上订购系统作为B2B,B2C,C2C电子商务的前端商务平台,在其商务活动全过程中起着举足轻重的作用。本文旨在讨论如何建设B2C的网上购物系统。网上购物是一种具有交互功能的商业信息系统。它向用户提供静态和动态两类信息资源。所谓静态信息是指那些比经常变动或更新的资源如公司简介、管理规范和公司制度等等动态信息是指随时变化的信息如商品报价会议安排和培训信息等。网上购物系统具有强大的交互功能可使商家和用户方便的传递信息完成电子贸易或EDI交易。这种全新的交易方式实现了公司间文档与资金的无纸化交换。1.2 网上购物的现状省略1.3 网上购物系统的构建现在流行的网上购物系统不仅要有漂亮的网页更要有严谨的规划。每一个细小的环节都很重要。这样才能使得在电子交易时避免不必要错误发生。我将使用HTML、JSP等技术来编辑网页传统的管理信息系统的信息获取方法是由专业文字录入人员将信息输入到管理系统的数据库中,这种方法在数据量不大时有很多的应用场合。当数据量比较大,并且有较强的专业性时,录入的费用和出错的可能性都相应上升。本系统通过运用JSP技术把数据库和动态网页连接得出错和成本都相应的降低。本文在实际应用开发中解决方案是建立网站, 以及自己的数据库使得所需商品信息可以及时的保存、更新以更好的及时了解商品买卖的情况。2 相关理论基础2.1 JSP技术2.2.4 JSP的简介JSP是JAVA SERVER PAGES的缩写由SUN公司倡导于1999年推出正日益成为开发WEB动态网站的重要而快速有效的开发技术。JSP充分利用了JAVA技术的优势具有极强的扩展能力和良好的收缩性与开发平台无关这源于JAVA的“一次编写到处运行”的特点同时也是一项安全的技术。它具有良好的动态页面与静态页面分离的能力编译后运行因而正逐渐成为internet开发的主流技术。2.2.4 JSP的优点1对于用户界面的更新其实就是由Web Server进行的所以给人的感觉更新很快。2所有的应用都是基于服务器的所以它们可以时刻保持最新版本。3客户端的接口不是很繁琐对于各种应用易于部署、维护和修改。2.2.4 JSP的工作原理省略2.2 数据库及相关技术简介2.2.4 SQL语言简介SQL是英文Structured Query Language的缩写意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系进行沟通。按照ANSI美国国家标准协会的规定SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作例如更新数据库中的数据从数据库中提取数据等。省略2.2.4 Microsoft SQL Server 简介省略SQL Server 按照设计可以为部署和维护强大的、易于管理、支持商务活动的Web 站点提供最好的性能这些站点可以从事商家和商家之间或商家与客户之间的交易。在寻求一个支持您的电子商务解决方案的数据库时需要考虑的项目包括可用性、性能、可管理性和价格。2.2.4 JAVA技术简介JSP程序开发就离不开JAVA语言这里简单介绍下JAVA语言的特点Java是一种跨平台适合于分布式计算环境的面向对象编程语言。具体来说它具有如下特性1简单性、面向对象。2分布式、解释型。3可靠、安全、平台无关。4可移植、高性能、多线程、动态性等。2.2.4 TOMCAT简介Tomcat是一个免费的开源的Serlvet容器它是Apache基金会的Jakarta项目中的一个核心项目由ApacheSun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持最新的Servlet和Jsp规范总能在Tomcat中得到体现。由于Java的跨平台特性基于Java的Tomcat也具有跨平台性。本系统采用tomcat作为服务器在tomcat5.0环境下对系统进行测试。3 系统总体设计3.1 系统设计3.1.1 系统功能分析一个典型的B2C电子商务网上订购系统主要功能有:1为客户提供24小时方便快捷的在线订购服务。2商品信息的维护与管理,包括价格的调整、现有商品信息的修改、新商品信息的加入、过时商品信息的删除等。3高效的商品数据方案,对商品信息进行科学、灵活地分类、存储,方便客户迅速从少则几万,多则几十万甚至上百万种商品中找出自己所需商品。4强大、方便、快捷的查询功能。提供关键字查询(如:查找所有商品)。5订单号模块所谓订单号模块就是客户购买完商品后系统自动分配一个购物号码给客户以方便客户随时查询账单处理情况。了解现在货物的状态。6订单管理。为分销商的EPR系统提供数据接口。管理员可以查看历史记录、订单状态并且能够在最短的时间内通知用户。3.1.2 系统体系结构图3-1系统功能模块图根据体系结构可将系统分为用户和管理两个角色1用户用户通过注册以后成为合法登录用户。登录以后可以查看修改个人信息在线购买商品查看定单状态。2管理员系统管理员可以管理整个系统包括查看用户定单并修改相应信息查看用户信息对不信任用户也可以对他进行删除。查看商品信息可以删除不需要的商品。添加商品信息。3.1.3 系统流程图3-2系统流程图3.2 数据库设计3.2.1 数据库需求分析1商品数据的准备。首先要搜集分销商的所有商品数据。这些商品数据可以分为三类:纸面记录、电子数据(XML、Access、Excel等文件)、网上数据。无论对于哪一种数据,都要对其进行检查,修正有问题的数据,删除重复和过期的记录。在检查的同时,还要对这些数据进行分析,为制定商品目录方案做准备。2商品数据方案的制定。商品数据方案制定的目的在于①对商品进行科学、灵活地分类,方便客户迅速从少则几万,多则几十万甚至上百万种商品中找出所需商品。②使系统支持强大、方便、快捷的查询功能,实现模糊查询和智能查询。③高效的商品数据方案能提高数据库性能,提高网页浏览速度。3客户信息表的制定。客户信息表内保存着在线商店中所有客户个人所拥有的个人信息和资料是在线商店的后台管理人员进行商品销售的设计规划和进行决策的依据和参考。客户ID则是客户个人身份证明的依据。3.2.2 数据库的逻辑结构分析对于系统用户信息数据库有以下数据项和数据结构用户信息用户ID自动编号、用户姓名、电话号码、Email、地址、邮编。对于系统的商品信息系统有以下数据项和数据结构商品记录信息商品的ID自动编号、商品名称、商品单价、商品数量、商品所属类别。而网上购物系统就是基于以上各个数据库的连接和综合把各个独立的数据库通过内在的关联性统一到一个主页面里从而方便客户的访问和购买实现了一对一的交互。用户在购买商品前可以先看看商品目录看看有没自己需要的商品在商品的目录里有各个商品的具体的介绍比如说商品的名称数量价格等用户在看好自己的商品后在商品的搜索中你可以选择你所需的商品用户在选择自己的商品时系统则连接到后台关于此商品信息的数据库中找到适合客户需求的信息。客户将选购的商品放入系统所提供的购物篮里此时顾客可以继续选购另外的商品或者删除原先购买的商品并可对商品进行名称和数量上的修改和添加。点击“继续购买”重复以上进行的购买活动。直到顾客满意。购物结束后进行提交点击“提交”完成购物。3.2.3 数据库表的设计分别建立以下的表以满足需要本系统需要建立4个数据表他们分别是管理员表my_goodsadminuser存放管理员用户名管理员密码信息。用户表my_users存放用户编号用户名用户密码真实姓名性别电话email等信息。商品信息表(my_goods)存放商品编号商品名销售员类别提供商价格以及数量等信息。定单表(my_indentlist)存放定单编号用户总价是否付款是否发货用户备注等信息。各表具体信息见下图3.2.4 数据库的连接在本系统中系统会频繁的访问数据库。本系统采用JSP的JDBC-ODBC驱动程序。数据库的连接代码是通用的。代码如下Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver);Stringurljdbc:microsoft:sqlserver://localhost:1433;DatabaseNamebiye;StringstrUsersa;StringstrPassword417929;ConnectionconDriverManager.getConnection(url,strUser,strPassword);Statementstcon.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);………4 具体设计分析4.1 系统首页图4-1 网上购物系统首页此功能模块由index1.jsp来实现,并提供了本系统绝大多数功能的入口例如会员注册、登录管理员登录查询等。会员登录主要是将用户输入的用户名和密码与数据库中my_users表中的已有的信息进行比对如果完全一样则是合法用户可以成功登录如果不一样则登录失败。查询功能是通过输入商品名称关键字和下拉菜单中商品类别进行查询提交查询信息以后由find.Jsp显示查询结果。此功能未注册用户也可用但是所查询商品不提供购买功能。4.2 具体模块实现4.2.1 商品查看此功能模块由buy.jsp来实现。当用户进入购物中心以后系统会显示所有的商品基本信息。但在商品数量过于庞大以后则不容易查看所需商品所以系统提供了按类别查询的功能。下拉菜单中有商品的所有类别用户根据类别以post方法传递表单。再在该页设置接收字段String bookclasscodeToString(request.getParameter(“bookclass”));通过关键字bookclass对数据库商品表my_goods进行查询SELECT * FROM my_goods where goodsclass‘“bookclass.trim()”’这样就比较清楚的可以获得各类别的商品的信息。有了自己需要购物的商品则可以通过点击购买将商品添加到购物车详细信息可以查看商品的详细信息。详细信息页面xiangxi.jsp通过商品ID查询数据库除了显示以上信息以外还显示商品数量备注等信息。界面如下图图4-2 商品信息为了不让庞大的数据让人看得眼花缭乱在商品的实现时是分页显示每页显示5项记录。分页代码如下int dipage1;//当前页码数默认为1Stringpagesrequest.getParameter(dipage);if(pagesnull){pages1;………… int countRecord0;//记录条数int countPageRecord0;//每页记录条数int countPage0;//总页数countPageRecord5;//每页5条记录要设置每页记录条数就更改这个变量的值………… countRecordrs.getRow();//得到总页数if(countRecord/countPageRecord0)countPagecountRecord/countPageRecord;elsecountPagecountRecord/countPageRecord1;//把记录指针移至当前页第一条记录之前if((dipage-1)*countPageRecord0)rs.beforeFirst();…………4.2.2 购物车此功能模块由buybook2.Jsp,addgoods.Jsp,minusGoods.Jsp,deleteGoods,buy.java来实现。当用户选定某样商品并在登录后的情况下可以点击购买将商品添加到购物车。在购物车中可以设置购买商品的数量。设置好数量以后按提交按钮根据商品唯一ID将商品添加到购物车。在addgoods.jsp中通过获取商品IDString idrequest.getParameter(“id”);Int Goods_CountInteger.parseInt(request.getParameter(“book_count”))以及buycar.Java中的函数public void addGoods(String Goods_id,int Goods_Count)来实现。 提交购物以后可以选择查看购物车也可以无限制的选择继续购买。选择继续购买以后跳转到商品购买页面buy.Jsp选择查看购物车则跳转到buybook2.Jsp。在跳转到buybook2.Jsp页面以后如果用户不满意该选择可以删除或者更改所选商品数量更改商品数量是通过buycar.Java和minusGoods.Jsp一起来实现。关键代码buycar.Java:public booleanminusGoods(StringGoods_id,intGoods_Count){……deleteGoods(Goods_id);……}minusgoods.Jsp:intGoods_CountInteger.parseInt(request.getParameter(book_count))buycar.minusGoods(id,Goods_Count);用户在确定需要购买以后就可以提交购物车完成购物功能。图4-4 购物车购物车中商品总价格totalprice是通过商品单价和数量进行结算。代码如下double totalprice0;totalpricetotalpricers.getFloat(“price”)*((Integer)list.get(goods)).intValue();4.2.3 订单管理本模块划分为2个部分一是用户对定单的管理二是管理员对定单的管理。用户对定单的管理通过userjiemian.Jsp实现查看自己的定单状态是否付款以及删除自己的定单。查看自己的定单是通过用户名访问定单表以获取自身定单删除定单是通过定单ID删除掉选定的定单a href‘delcord.jsp?id“rs.getString(“indentno”)”’用户也可以通过查询指定的定单ID来查询想要知道的定单的信息。通过sqlString“delete from my_indentlist where id”ID;语句删除以前的定单。管理员管理定单除了拥有用户管理定单的功能以外还可以通过定单ID更新定单的状态修改定单的付款状态以及发货状态。修改定单页面change.jsp.通过获取定单ID用update语句更新定单信息。定单管理界面如下图图4-5查看当前订单定单查询代码如下SELECT * FROM my_indentlist where username‘“username”’4.2.4 用户个人信息管理此功能模块由reg.Jsp,log.Jsp,changemima.Jsp,psxinxi.jsp来实现。分别别实现用户的注册以及密码的修改。Psxinxi查看自己的基本注册情况。如下图图4-6查看用户自己基本情况用户点击“个人信息”以后系统就会查询数据库my_users表显示当前用户信息。由于整个用户页面都用session变量控制访问权限所以在进行查询的时候就根据seesion变量中的username对数据库进行查询查询代码如下rssql.executeQuery(“SELECT * FROM my_users where username like %”username.trim()“%”);reg.Jsp用来注册用户的基本信息包括用户名用户密码性别电话地址邮编Email等基本信息。为了系统用户名和密码等的合法化系统通过function on_submit()函数来控制输入如果为空则提示用户名为空返回重新输入。示例代码如下if(form1.username.value){alert(用户名不能为空);………}同时为了保证输入合法化如Email这样的信息系统通过判断语句来确定输入是否合法示例代码if(form1.email.value.length!0){for(i0;iform1.email.value.length;i)if(form1.email.value.charAt(i))break;if(iform1.email.value.length){alert(非法EMAIL地址);………}}在通过基本信息输入以后系统将信息传递给log.Jsp进行处理log.Jsp首先用字符串接收函数String usernamecodeToString(request.getParameter(“username”));来接收reg.Jsp提交的信息。然后通过数据库执行SQL语句insert将数据写入数据库中如果注册成功则跳转到首页如果注册不成功则通过out.print(“注册不成功请检查必添项目”);提示输入不成功。changemima.Jsp用来修改用户的密码信息用户在登录以后点击修改密码的链接可以对密码进行修改。在输入两次密码时需要用到两次输入密码正确与否的判断if (form1.passwd.value!form1.passconfirm.value){alert(“确认密码不相符”);判断合法以后就可以访问数据库通过update语句来更新用户密码信息。图4-7 用户注册信息4.2.5 用户控件此功能通过% include file“end.htm”%来实现避免简单代码的重复编写也达到美观实用的效果。4.2.6 商品管理此功能是通过booklist.Jsp和addbook.JsPaddbooklog.Jspdelcord.jsp来实现addbook.Jsp主要是用来添加商品的信息包括商品名称销售员厂商编号价格数量等信息。在下拉菜单中可以选取商品的类别进行分类添加。写好添加的商品信息以后将表单数据传递给addbook.Jsp对数据进行处理通过addbooklog.Jsp的insrt语句将表单数据写入数据库。具体代码如下StringbooknamecodeToString(request.getParameter(bookname));if(booknamenull)bookname;………Stringsqlstringnull;sqlstringinsert into my_goods(goodsname,goodsclass,seller,provider,goodsno,content,price,amount) values (bookname,bookclass,author,publish,bookno,content,price,amount);………//数据库连接代码st.executeUpdate(sqlstring);完成操作以后如果操作成功则跳转到管理员主界面此时可以通过查看商品信息来查看刚才添加的商品如果操作失败则会跳转到ERROR。HTM页面提示操作失败可以返回添加页面重新对商品进行添加。booklist.Jsp主要是查看所有商品的信息以及删除商品。在点击删除按钮以后系统将商品唯一ID传递给delcord.Jsp。delcord.Jsp通过getParameter(“id”)接收ID以后根据ID在数据库中用delelte语句删除该记录。操作起来十分方便和快捷。具体删除代码idLong.parseLong(request.getParameter(id));……… sqlStringdelete from my_goods where idid;………//数据库连接执行删除语句 sql.executeUpdate(sqlString);商品添加页面如下图图4-8 添加商品4.2.7 管理用户此功能模块由userlist.Jsp,delusercord.Jsp来实现。userlist.Jsp用来查询所有用户的信息同样用分页显示的方式将信息显示出来如果有需要删除的用户则通过传递用户ID到delusercord.Jsp。delusercord.Jsp在接收到用户ID以后通过访问数据库运用delete语句删除选定用户记录。具体删除语句如下%//接收要删除的用户ID号long id;try{idLong.parseLong(request.getParameter(id));……if(id!0)//接收到的参数正确{sqlStringdelete from my_users where idid;…… sql.executeUpdate(sqlString);con.close();……… 删除成功以后跳转到userlist.Jsp页面重新查询所有用户。如果删除失败则通过 out.print(删除失败);提示删除失败。图4-9 用户管理5 系统测试5.1 前台测试完成了系统主要模块的开发后系统需要进行必要的运行测试以检验系统的正确性以下将按照用户购买商品的流程和管理员对主要信息的管理来测试系统。首先来到前台用户的登陆界面先注册一个用户名为wang 的新用户填写相关资料后点击确定后注册成功跳转到主页面在测试中发现不同用户可以注册相同的ID显然这在实际应用中是不现实的后来在代码中添加查询比较代码通过比较注册用户名和数据库中的用户名来判断该用户名是否有效来解决这个问题。注册成功以后回到主页登录进入用户界面。点击商品查询以及购物等页面基本正常但是在测试过程中发现了非常严重的问题有的页面本来应该在登录以后才能访问比如查看自己定单以及购买商品等注册登录用户的页面。而在不用登录直接在IP地址栏输入地址也可直接访问。这显然是不现实的。于是运用控制变量session来解决了这个问题添加如下代码登录页面添加的代码session.setAttribute(username,codeToString(username));访问控制页面添加的代码Stringusername(String)session.getAttribute(username);if(usernamenull||username.equals()){response.sendRedirect(error.htm);以此来解决访问控制的问题添加代码以后如果直接输入地址则会跳转到error.Htm页面提示没有登录要求返回登录页面登录以后访问。5.2 后台测试当点击管理员登录按钮时就来到管理员管理登陆页面当我们不输入用户名而直接点击提交时系统会提示请输入用户名错误。这个在前台用户登陆中也同样设置了相应的验证。输入正确的用户名和密码后便可以进入系统可以进行管理了首先我们测试添加新商品正确填入商品信息并提交后系统会提示添加成功通过打商品查看的页面可以查看到因此证明添加成功。对商品的删除更为简便只要在选择商品类别和商品型号后只要点击“删除”就能够成功实现操作。对于用户管理管理员查看当前所有用户的相关信息并且能够删除带有不良企图的非法注册用户的ID操作起来简便、快捷。在测试的过程中同样发现和用户模块相同的致命性错误就是可以直接通过地址栏而不需要验证就可以具备管理员权限。这是一个相当大的漏洞。最后也通过session变量得以解决这个问题。结 论通过这三个月的学习和工作完成了网上购物系统的设计满足了用户需求。由于设计是基于B/S模式该系统具有良好的可移植性等优点并且具有相当不错的应用前景。同时由于该系统使用JavaScript和JSP技术使我对该门技术又有了更加深入的了解并且对应用Dreamweaver制作静态页面也有了相当的心得。在完成设计的三个月时间里我从一个JSP的门外汉到最终完成自己的作品这段时间里自身知识的丰富和开发技能的提高是显而易见的通过该设计的制作同样使我涉及了很多其他的相关专业知识增长了知识的沉淀。当然这段历程对任何一个初学者来说都是充满艰难的其间我都记不得遇到多少次这样那样的问题但是通过老师和其它好心人的指点最终还是顺利完成了作品还积累了很多开发过程中宝贵的经验对以后的学习和提高都是很有帮助的。由于水平及时间有限很多可以实现的功能都未完成不过相信通过不断的学习和提高在这一方面将会更上一层楼。参考文献[1] 刘中兵, 李伯华JSP数据库项目案例导航[M]北京清华大学出版社2006。[2] 邓子云,张赐JSP网络编程从基础到实践[M]北京电子工业出版社2006。[3] 方睿.网络数据库的原理及应用[M]. 成都四川大学出版社,2002。[4] 朱仲杰.JAVA2全方位学习[M].北京机械工业出版社,2006。[5] 杨思申刘思源.Dreamweare3.0入门与提高[M]. 北京清华大学出版社,。6Jennifer Niederst Robbins. WEB设计技术手册[M]. 济南东南大学出版社,2006。[7] 马月. 网站界面设计[M]. 北京北京理工大学出版社,2006。致 谢省略5、资源下载本项目源码及完整论文如下有需要的朋友可以点击进行下载。如果链接失效可点击下方卡片扫码自助下载。序号毕业设计全套资源点击下载本项目源码基于JSPsqlserver的网上购物系统设计与实现源码文档_jsp_BS架构_网上购物系统.zip提示如果下载链接失效可点击下方卡片扫码自助下载。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2416027.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!