网上书店的开发.doc_第1页
网上书店的开发.doc_第2页
网上书店的开发.doc_第3页
网上书店的开发.doc_第4页
网上书店的开发.doc_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

网上书店的开发摘要:现在计算机技术和网络在全世界范围内得到空前的发展,然而数据库在这纷繁复杂的网络中得到了前所未有的应用与发扬,现在这种网络技术在人们的生活中必不可少,因此,现在越来越多的零售类的企业加入到创建属于自己的个性化人性化的电子商务的网站,以此来提高他们在激烈的商业竞争中的地位,只有通过这种新式的营销方式才能使企业在现在纷繁复杂的商战中立于不败之地。本文主要的研究对象是一种基于大数据分析的购物类系统,这个系统不同于以往我们所了解的那些针对网上购物的系统,我现在应用的方案与网上大多数的方案相比操作简单、界面优化力度更大等优点。本系统所采用的语言Java,本方案采用的环境是Tomcat,以实现利用电子商务来进行日常的网上购书。本文以JSP+Servlet技术为基础,根据环境以及它的优势再结合MySQL等软件一同对此系统来进行设计。首先从网站建设的需求入手,提出本系统所应用的技术:Java语言、MySQL数据库;然后对系统完成的主要功能如首页、图书查询系统、购物车、用户主车系统和管理员系统进行了详细的研究设计,特别是对购物车系统的设计思想和具体编程实现。开发这个网上书城的最终目的是可以在线销售图书。所以要是此购物车对顾客的体验非常的方便而且极具个性化将会大大提高用户在网上购物的兴趣。这个系统的实现,不仅对喜欢购物的女人是一个极大的诱惑,他最迷人的还是让最不喜欢逛街购物的男人可以畅享这种快捷方便的购物体验,在解放他们双腿的同时使他们畅游无穷无尽的知识海洋,在方案的最后对这个购物的系统进行了前后台运行测试,并通过测试的一些大数据分析了测试后的结果。关键词: 电子商务;网上书店;购物车;MySQL数据库0THE DEVELOPMENT ONLINE BOOKSTOREABSTRACT: Now that computer technology and networks are all over the world an unprecedented development, but the database has been an unprecedented application and develop in this complex network, this network technology is now indispensable in peoples lives, so now more a growing number of retail companies have joined to create their own personalized user-friendly e-commerce website, in order to improve their position in the fierce business competition, only through this new marketing methods in order to enable enterprises Now invincible complicated war, the main object of this study is based on data analysis of large shopping class system, and this system is different from the past, we know that the system for online shopping, I now use the program simple operation, user greater efforts to optimize the advantages of the Internet, compared with most of the program. The system used the language of Java, the program uses the environment is a tomcat, in order to achieve the use of e-commerce for their daily online bookstores.In this paper, JSP+Servlet technology, combined with software such as MySQL depending on the environment as well as its strengths together to design this system. First, demand from the construction site to start, to make technical application of this system: Java language, MySQL Database; then the main function of the system to complete the title page, book query system, shopping cart, the users home and vehicle systems administrator system in detail the study design, in particular the specific program design and implementation of a shopping cart system.The development of this online bookstore ultimate aim is to sell books online .So if this cart to the customer experience is very convenient and highly personalized user will greatly increase the interest in online shopping. Implement this system, not only for women like shopping is a great temptation, his most charming or so most do not like shopping the men can enjoy this quick and convenient shopping experience, in the liberation of their legs while making They swim endless ocean of knowledge, in the final program of this system were shopping before running the test, and by some large data analysis of test results after the test.KEYWORDS: E-commerce; Shopping Site; Online Bookstore; MySQL Database1目录1前言11.1 系统开发的背景11.2 系统开发的目标11.3 系统开发的意义11.4 论文组织结构12 关键技术介绍22.1 软件结构22.2 MVC框架23 技术架构及需求分析33.1 系统技术框架33.2系统部署示意图43.3 系统需求分析44 系统总体设计84.1系统的功能结构设计84.2系统架构84.3数据库设计95系统详细与实现115.1系统文件组成115.2 前台部分的设计125.3系统介绍186 系统调试与运行29结束语30参考文献31附录32致谢46471前言1.1 系统开发的背景 现如今,网络的发展已经势如破竹,网络更是走进了千家万户,成了人们日常生活中必不可少的一部分,越来越多的人享受这种超前的网络技术带来的新式购物体验。现在,只要人们拥有一台能够连接网络的电脑,就能够不受地域的限制,快速的畅游你所喜欢你所需要的各类购物网站,沉浸在网络带给你的信息中书籍就像自行车的链条,将人类的思想和文明完美无瑕的串联起来,更是如同早晨的太阳一样,将我们对知识渴求的道路照亮。同时,书籍近些年来也加入到了网络购物这个热潮中,伴随如此的正是诞生了越来越多的网上书店,并且富有生机。1.2 系统开发的目标设计的系统可以为用户提供图书浏览和在本系统进行图书交易。这个系统的主要功能是让顾客通过计算机访问本网上书店的网址之后,能够浏览到自己喜欢的好看的书和最近刚出版的书,或者为顾客查找到他们平时需要的书籍,后一步就是签下购买的订单,然后等待送货员为顾客送货上门,这个系统最终的目的就是能够实现一个网上购物车。1.3 系统开发的意义网上书店在电子商务模式中算得上是一个非常典型富有鲜明特色的系统,这个系统最大的优点就是解放人们的双腿,让人们不需要走出家们就可以浏览并且购买到他们喜欢的书籍,并且给用户最好的购物体验。1.4 论文组织结构论文分为6章,各章主要内容如下:第1章前言,介绍了系统开发的背景、开发的目标,以及系统开发的意义,最后给出论文的组织结构。第2章关键技术介绍,介绍了系统开发的软件结构、以及系统开发所用的框架。第3章技术架构及需求分析,介绍了系统技术框架、系统部署示意图、系统需求分析、性能优势、以及开发环境。第4章系统总体设计,介绍了系统的功能结构设计、系统架构、以及系统的数据库设计。第5章系统详细与实现,介绍了系统文件组成、前台部分的设计、以及系统介绍。第6章系统调试与运行。2 关键技术介绍2.1 软件结构B/S结构:Acronym Browser / Server的缩写,也就是我们通常所说的浏览器和服务器结构。B/S最大的优点也是人们对它赞不绝口的地方就是它不受地域的限制来对其进行操作更重要也是最为突出的是无需其它的专门的软件作为辅助。要想使用它,你所做的是只要有一台能连上网络的电脑就行。而系统的扩展也显示出它的人性化以及优越性,那就是只要能连接上网络,再从系统管理员那里获得一个用户名和密码,你就就可以自由驾驭它了。C/S结构:The acronym Client / Server的缩写,也就是我们所熟知的客户端和服务器结构。C/S可以将客户端PC的处理能力发挥到极致,也就是客户端前期将大部分的工作先进行处理然后再提交给服务器进行最终的处理。对应的优点就是客户端响应速度快。综上比较,本系统采用较为合适的B/S结构。2.2 MVC框架MVC是Model,View,Controller首字母的缩写,即模型(Model)以及视图(View)和控制器(Controller)这几种的缩写,这种设计是非常典型的一个框架模型,这种方法所采用的组织代码的方式是将业务的逻辑以及数据和界面的显示分离开来,这种方法更大的优势也在于可以用一个部件就可以储放所有的业务逻辑,当你在与用户交流以及同时改进为个性化定制的界面这个过程中,不需要另编写以及修改业务逻辑。JavaWeb,即用来解决互联网类问题的Java技术的全部。其中Web由所谓的Web服务器以及Web客户端。Java在服务器端的应用远远超过它在客户端的应用,比如Servlet,JSP和第三方框架等等,而其在客户端的应用仅仅限于JavaApplet。Eclipse 是以Java为基础,而其源代码对外界开放,并且可以进行一定程度扩展的平台。单独对其本身进行研究,它仅仅是一个框架和一组服务的集合体。但值得高兴的是,Eclipse 自身附带了一个非常标准的插件集,这个标准的插件集包含Java 开发工具。MySQL即瑞典MySQLAB公司所开发的小型关系型数据库管理系统。MySQL在Internet上的中型以及小型网站中占有很大比例的市场份额。由于MySQL的源代码开放以及它的占有体积小、运行速度相比同类的系统要明显快很多、更重要的是它的总体拥有成本大大降低,大部分的中小型网站后备资金储有量都不是很足,因此为了降低自己网站总体拥有成本它们往往会选择MySQL作为自己网站的数据库。操作系统:Window2000/xp/7/8数据库服务器:MySQL3 技术架构及需求分析3.1 系统技术框架显示层系统安全方案开发实施规范应用程序框架(权限等)中间服务层(Web、数据交换、工作流)系统软件平台(操作系统、数据库)网络设备层(内外网、服务器+磁盘阵列)图3.1 系统技术架构1.网络设备层:良好的网络环境以及设备来为系统开通运行保障和支撑。主要通过相关技术实现内部的局域网以及外部的广域网建设;为了确保应用系统和数据库的安全采用双机热备以及磁盘阵列这两种先进的技术。2.系统软件平台:操作系统的作用是为系统的稳定运行提供系统环境支撑,数据库的作用是为应用系统的正常运行提供数据访问服务。3.中间服务层:中间服务层即应用服务器,主要提供应用服务、web访问等全方位的动态服务,为应用系统的运行提供可靠稳定的服务环境。4.应用程序框架:框架应用领域非常广泛,是一种托管技术,包含了微软对于各个领域的解决方案,涉及web、桌面、手机、office和云等领域;其次,使用 .Net 框架后应用系统的开发效率将会大大提高,通过使用微软给出的各种解决方案,比如 mvc,wpf,winform,silverlight,wcf等可以轻松构建项目,在开发效率上,开源社区很难企及;另外,C#语言被认为是最好用的开发语言,5.系统显示层:在应用程序框架的上面,可以直接按照MVC的模式开发业务管理系统。MVC这种先进的系统业务开发模式,可以最大限度的使界面视图以及业务逻辑和数据对象这几层次相对的独立,可以说在一定程度上对系统本身的健壮性、复合应用以及有限拓展性有很大的提高。这种先进的开发模式最大的也是最显著的优点在于程序出现错误时,从而可以快速找出发生错误的文件,因而进一步用最快的速度对文件进行修改与替换。6.系统安全体系:为了保障系统即安全又稳定的正常运行,从应用程序到操作系统、网络管理,以此可以构成完美的系统安全体系,避免系统遭到多方位的攻击。简单分为如下几个方面:服务器安全。机房内的各种指标必须要符合国家标准。为了保证系统的安全运用最先进的密码管理和文件管理等技术。应用系统安全。建立先进的数据备份机制以及网络监控和系统恢复,在此基础上对系统使用权限的控制加以增强。3.2系统部署示意图本系统的总体部署情况如图3.2所示。图3.2 系统部署示意图3.3 系统需求分析3.3.1 功能需求1.用户权限管理根据调查分析,网上书店分为游客、注册用户以及系统管理员三种用户,三种用户用例图如图3.3所示。图3.3 三种用户用例图2. 图书信息管理图书信息管理是主要是管理员对网上书店中的图书进行增删改查操作,其用例图如图3.4所示。图3.4 图书信息管理 3.图书类别管理 图书类别管理是管理员对图书的类别进行增改删操作,其用例图如图3.5所示。图3.5 图书类别管理4.图书销售管理图书销售管理是主要是管理员查看销售信息,其用例图如图3.6所示。图3.6 图书销售管理5.订单管理系统订单管理是管理员对购书订单进行查询、修改、删除、生成订单等功能,其用例图如图3.7所示。图3.7 订单管理3.3.2 性能需求1.通用性系统采用B/S结构,不需要安装客户端,用户只要在Inernet网络环境下使用浏览器即可进入网上书店。2.安全性网上书店需要用户注册、登录后才能进行购书、购物车管理以及订单生成等,保证了客户购书信息的安全性与保密性。3.3.3 开发环境1.硬件环境服务器配置情况如表3-1所示表3-1服务器配置列表配置名称最低配置建议配置硬盘10G320G或者以上内存256MB2G或者以上CPUIntel 2.0G双核Intel 2.0G或者以上2.软件环境操作系统:Window2000/xp/7/8数据库服务器:MySQL开发语言:JavaWeb即用来解决互联网类问题的Java技术的全部,其中Web由所谓的Web服务器以及Web客户端,Java在服务器端的应用远远超过它在客户端的应用。 开发工具:Eclipse是以Java为基础,而其源代码对外界开放,并且可以进行一定程度扩展的平台。4 系统总体设计4.1系统的功能结构设计根据对网上书店的需求分析,将网上书店分为前台、后台两部分,系统功能结构如图4.1所示。图4.1 系统结构图4.2系统架构系统架构由四层组成:用户接口层(UI)、业务逻辑层(BLL)、数据访问层(DAL)和系统应用服务层(SystemService)。1.用户接口层(UI):即表示层,主要用于处理与用户的交互,获取用户输入,响应用户请求; 2.业务逻辑层(BLL):对用户提交的数据进行处理,调用数据访问层接口,并把处理结果返回用户接口层(UI)。3.数据访问层(DAL):数据访问层中包含了数据访问接口定义、数据访问抽象工厂和数据访问接口的实现。数据访问接口定义了数据访问的标准接口,需根据开发时使用的数据库进行定义。针对不同的数据库,数据访问接口的定义也是不同的。4.系统应用服务层(SystemService):主要提供系统的一些通用功能,包括公共验证、消息显示、公共函数、通用样式表等。4.3数据库设计4.3.1逻辑结构设计根据系统总体设计,网上书店需要使用五个表来保存系统数据信息。1. 用户表(user),保存用户的注册信息或后台管理员登录信息,其逻辑结构如表4-1所示。表4-1 user表表名user字段数据类型(精度范围)空/非空约束条件说明User_Idint非空主键用户编号LoginNameVarchar非空用户登录名PasswordVarchar非空登录密码Sexint空性别MobileNoVarchar空手机号2.图书表(book),保存图书的基本信息,其逻辑结构如表4-2所示表4-2 book表字段名称字段类型长度是否为空主键字段描述Product_idint12否是图书IDAuthorVarchar200否否作者publishingVarchar200否否出版社publish_timeBigint20否否出版时间word_numberVarchar15是否字数which_edtionVarchar15是否版本total_pageVarchar15是否总页数print_timeBigint20是否印刷时间print_numberVarchar15是否印刷版次isbnVarchar25是否ISBNauthor_summaryText0否否作者介绍catalogueText0否否描述3.分类与产品对应关系表,保存架上图书基本信息,其逻辑结构如表4-3所示。表4-3 分类图书对应关系表字段名称字段类型长度是否为空主键字段描述IdInt12否是关系IdProduct_idInt10否否图书ID4.3.2 概念结构设计根据系统总体设计,毕业设计选题系统需要3个实体用来存储系统数据信息。1.分类与产品关系实体,用来存储架上图书基本信息,其E-R图如图4.2所示。分类与产品对应关系 图书ID关系ID图4.2 分类与产品对应关系E-R图2.用户信息实体,用来存储用户的个人信息,其E-R图如图4.3所示。用户信息手机号用户编号登录密码用户登录名性别图4.3 用户信息E-R图3.图书实体,用来存储图书的基本信息,其E-R图如图4.4所示。图书图书ID 作者介绍作者ISBN出版社 印刷版次印刷时间字数 出版时间总页数 版本图4.4 文档信息E-R图5系统详细与实现5.1系统文件组成网上书店采用JSP+Servlet技术开发,系统架构如图5.1所示。图5.1 系统架构图系统实现文件如表5-1所示。表5-1 系统文件一览表页面名称功能描述页面名称功能描述login.jsp登陆right. jsp图书列表left. Jsp登录网上电子书店addBook. jsp新增图书right. Jsp新用户注册说明addCategory. jsp新增图书类别register. jsp用户注册界面adminLogin. jsp管理员登陆orderConfirm. jsp展示订单信息adminMain. jsp提示界面detailAboutBook. jsp图书详细信息界面adminPageHead.jsp管理员界面头标题addBasket.jsp图书加入购物车adminPageLeft. jsp管理员界面左部basket.jsp购物车列表bookInfoManage. jsp图书信息管理personalInfo. jsp用户个人信息显示界面categoryManage. jsp图书信息管理registSuccess.jsp用户注册成功提示界面infor.jsp图书详细信息userExit. jsp用户退出登陆界面modifyBook. jsp修改图书信息userpage. jsp登陆后的用户首页modifyCategory. jsp修改图书类别index. jsp首页salesInfo. jsp图书销售信息left. jsp图书类别和新上架图书5.2 前台部分的设计5.2.1 网站首页网上书店首页是网站面向用户的第一个窗口,它对用户的吸引力关系到网上书店业务的生存与发展,此模块实现游客的功能,首页运行效果如图5.2所示。图5.2 网站首页主要代码: protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException doPost(request, response);protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding(utf-8);response.setContentType(text/html;charset=utf-8);HttpSession session=request.getSession();String bookname = request.getParameter(bookName);String pid = request.getParameter(publisher);ServletContext ctx = this.getServletContext();/ 通过ServletContext获得web.xml中设置的初始化参数String server = ctx.getInitParameter(server);/ 获取服务器地址String dbname = ctx.getInitParameter(dbname);/ 获取数据库名String user = ctx.getInitParameter(user);/ 获取数据库用户名String pwd = ctx.getInitParameter(pwd);/ 获取数据库密码BookDao dao = new BookDao();List booklist = new ArrayList();try dao.getConn(server, dbname, user, pwd);/ 返回所有图书列表if(bookname!=null&bookname.length()0&pid!=null&pid.length()0)booklist=dao.getBookByNameAndPublish(bookname, Integer.parseInt(pid);else if(bookname!=null&bookname.length()0&pid=null|pid.length()=0) booklist=dao.getBookByName(bookname);else if(pid!=null&pid.length()0&bookname=null|bookname.length()=0)booklist=dao.getBookByPublisher(Integer.parseInt(pid);elsebooklist=dao.getAllBook(); catch (Exception e) e.printStackTrace();if (booklist != null) request.setAttribute(bookList, booklist);request.getRequestDispatcher(booklist.jsp).forward(request, response);5.2.2用户注册模块点击左上方的注册按钮进行注册,如图5.3所示:图5.3 注册界面注:其中,叹号标注的为必填项!主要代码:protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding(utf-8);response.setContentType(text/html;charset=utf-8);PrintWriter out=response.getWriter();String username=request.getParameter(username);String userpass=request.getParameter(password);DBOper db=new DBOper();try db.getConn(localhost, haier,root,123);String sql=insert into userdetail(username,userpass,regtime) values(?,?,?);Date curTime=new Date();SimpleDateFormat dateFormate=new SimpleDateFormat(yyyy-MM-dd hh:mm:ss);String regtime=dateFormate.format(curTime);int num=db.executeUpdate(sql, new Stringusername,userpass,regtime);if(num0)out.println(注册成功!请记住您的用户名和密码);out.println(请登录);elseout.println(注册失败!);out.println(重新注册); catch (ClassNotFoundException e) / TODO Auto-generated catch blocke.printStackTrace(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();5.2.3用户登录模块点击左上方登录连接如果是已经注册的用户,可以直接登录,如图5.4所示。图5.4 用户登录 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding(utf-8);response.setContentType(text/html;charset=utf-8);String name=request.getParameter(username);String pwd=request.getParameter(password);PrintWriter out=response.getWriter();/通过ServletContext获得web.xml中设置的初始化参数ServletContext ctx=this.getServletContext();String server=ctx.getInitParameter(server);String dbname=ctx.getInitParameter(dbname);String user=ctx.getInitParameter(user);String password=ctx.getInitParameter(pwd);DBOper db=new DBOper();try db.getConn(server,dbname,user,password);String sql=select * from userdetail where username=? and userpass=?;ResultSet rs=db.executeQuery(sql, new Stringname,pwd);if(rs.next()SimpleDateFormat sformat=new SimpleDateFormat(yyyy-MM-dd hh:mm:ss);String logtime=sformat.format(new Date();HttpSession session=request.getSession();session.setAttribute(username,name);session.setAttribute(logtime,logtime);response.sendRedirect(main.html);elseout.print(request.getContextPath();out.println(登录失败!); catch (ClassNotFoundException e) / TODO Auto-generated catch blocke.printStackTrace(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace(); protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException doGet(request,response);5.3系统介绍5.3.1用户购书页面用户选购好图书后确认订单信息如图5.5所示。图5.5 用户购书5.3.2 购物车管理客户单击购物车后,可以对购物车进行管理,如图5.6所示。图5.6 购物车管理主要代码:SuppressWarnings(unchecked)protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException / TODO Auto-generated method stubrequest.setCharacterEncoding(utf-8);response.setContentType(text/html;charset=utf-8);String isbn=request.getParameter(isbn);ServletContext ctx = this.getServletContext();String server = ctx.getInitParameter(server);String dbname = ctx.getInitParameter(dbname);悕String user = ctx.getInitParameter(user);String pwd = ctx.getInitParameter(pwd);HttpSession session=request.getSession();if (session.getAttribute(cart)=null)java.util.List cart=new ArrayList();session.setAttribute(cart, cart);java.util.List cart=(java.util.List)session.getAttribute(cart);boolean find=false;for(int i=0;icart.size();i+)Book book=cart.get(i);if(book.getIsbn().equals(isbn)book.setCount(book.getCount()+1);find=true;break;if(find=false)BookDao dao=new BookDao();trydao.getConn(server, dbname, user, pwd);Book book=dao.getBookByIsbn(isbn);book.setCount(1);cart.add(book);catch(ClassNotFoundException e)e.printStackTrace();catch(SQLException e)e.printStackTrace();session.setAttribute(cart, cart);response.sendRedirect(cart.jsp);5.3.3 后台管理模块1.管理员登录。网上书店管理员必须通过合法验证,才能管理本书店,如图5.7所示。图5.7 管理员登录主要代码:protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding(GBK);response.setContentType(text/html;charset=GBK);PrintWriter out = response.getWriter();/ 获取表单用户名String username = request.getParameter(username);/ 获取表单用户密码String userpass = request.getParameter(password);ServletContext ctx = this.getServletContext();/ 通过ServletContext获得web.xml中设置的初始化参数String server = ctx.getInitParameter(server);/ 获取服务器地址String dbname = ctx.getInitParameter(dbname);/ 获取数据库名String user = ctx.getInitParameter(user);/ 获取数据库用户名String pwd = ctx.getInitParameter(pwd);/ 获取数据库密码DBOper db = new DBOper();try / 连接数据库db.getConn(server, dbname, user, pwd);String sq

温馨提示

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

评论

0/150

提交评论