版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、CHANGSHA UNIVERSITY OF SCIENCE & TECHNOLOGY毕业设计(论文)题目:基于web开发的图书销售系统的设计与实现 学生姓名: 学 号: 班 级: 专 业: 指导教师: 20一五 年 6 月基于web开发的图书销售系统的设计与实现学生姓名: 学 号: 班 级: : 计算机与通信工程学院指导教师: 完成日期: 20一五年6月基于web开发的图书销售系统的设计与实现摘要社会在不断的发展壮大,特别是互联网技术不断地深入到社会的各个层面,网上图书销售系统等各个网上销售系统也不断的应运而生【1】。鉴于目前的图书销售系统的功能不全,操作繁杂,系统要求硬件等级高等问题,要想
2、设计一个有个性化的图书销售系统。从而在书店对新书的进货,对书籍出售的管理能力,对会员信息和图书信息的管理能力,对书店管理人员软件操作的适应时间和操作感觉这些方面都将大大的提高。本系统正是基于这一现状而开发出来。关键词:web开发 图书销售 数据库系统分析 软件工程DESIGNAND IMPLEMENTATION OF WEBDEVELOPMENT SYSTEM BASED ON BOOK SALESABSTRACTSociety in constant development and expansion, particularly Internet technology continues d
3、eep into all levels of society, and various other online book sales system of online sales system also continuously emerged【1】.Currently the general book sales system failure, complex operation, system requirements and high level of hardware problems, but imagine having a personalized book sales man
4、agement system. Thus the purchase of new books in the bookstore; the ability to manage the sale of books; books for members and staff management; time to adapt to the bookstore manager software operation and operating feel will greatly improve these aspects. The system is based on the status quo and
5、 developed.Keywords:web development;book sales database design;system analysis;software engineering目 录TOC o 1-4 h u HYPERLINK l _Toc420334722 1 绪论 页 共 53 页1 绪论1.1课题的研究背景和意义传统的购物方式局限于实体店等购物方式,而本系统将传统方式向网上销售的转变将大大提高人们的购买水准,也为了能够促进网上图书销售行业的发展,它不仅实现人们足不出户就能够方便快捷地买到自己喜欢的各种书籍,而且想能够向消费者展示一种新颖的购书方式。网上购书的方式必
6、将被人们所接受。【2】近年来,随着人类社会进入信息化时代步伐的加快,Internet从过去主要用于科研和简单信息的发布向商业化大踏步迈进,电子商务这种新的运营模式也随着这一时代的趋势应运而生。因此,开发功能强大,性能完善的网上图书销售系统具有十分重要的意义和价值。本系统正是基于这一现状而开发。鉴于电子商务的特点,各类市场上销售的大部分商品都可以在互联网上销售,图书销售也因此受到广泛的关注,人们可以通过登录网站浏览书籍目录等选购自己中意的书籍。因此本系统设计具有广泛的应用价值使用价值。1.2国内外发展现状及发展趋势就目前国内情况来说,网上图书系统主要有京东,当当,亚马逊等网上图书销售网上搞图书在
7、线销售,但总体上的发展比较缓慢而且功能方面也不够完善。其中基于数据库的存储技术还有待加强改善。在现在这种大数据时代。信息量已经不是以前所能想象的。而国内的数据库技术还远不及国外一些发达国家的水平。因此在设计诸如在线销售的系统的时候考虑数据库方面的设计就是目前急需解决的问题。而国外一些发达国家不仅在数据库方面处于领先水平,在整体系统布局方面也比国内相关网站先进得多。因此总的来说国外的发展技术比国内的还是要先进些。但是我相信通过我国这几年经济的迅猛发展,此类技术一定会得到较大的改善。类似网站今后的发展趋势我认为应该会向云端存储数据发展,毕竟在这个信息大爆炸的社会无时无刻不充斥这信息的交互和分享。因
8、此光靠诸如sql,oracle等技术的支持肯定是得不到较大的改善的。在今后的发展中,这类网站会向集成信息,大数据存储方面发展。也会使数据存储得到更大的提高。1.3本论文的主要内容与结构本文是基于web开发的图书销售系统的设计与实现,通过系统的功能模块的实现来更好地使消费者实现网上图书购物。开发环境为MyEclipse,数据库运用Oracle Database 11g,在Windows7系统下调试运行。本文主要组织结构如下:第一章介绍开发背景、研究意义与国内外发展现状;第二章主要介绍本系统所要运用到的相关技术和开发环境;第三章为本系统的需求分析;第四章为本系统的总体设计与数据库设计的实现;第五章
9、本系统的具体实现;第六章为系统的详细设计与实现、系统的各个模块的调试与实现;最后一章是总结与致谢结束语等。2相关技术简介与开发环境2.1MyEclipse开发平台(1)MyEclipse是在eclipse基础上加上一些插件而开发的集成开发环境。其主要用于web,移动设备的开发。Eclipse是一个开放源码,基于Java的开发平台,自带一个插件集:JDK。虽然许多用户都喜欢将Eclipse用作Java的集成开发环境,但Eclipse不仅仅是一个开发环境而已,因为其本身自带的许多插件集,它允许程序员构建与Eclipse无缝集成的工具。而且Eclipse也不是只支持JAVA语言的平台,事实上C/C+
10、和PHP等语言的插件已经开发使用了。【3】(2)基于此系统是基于web开发的图书销售系统,因此主要用到的是MyEclipse的web开发工具,tomcat服务器和web开发插件。还用到JDBC数据库链接工具等多项技术。2.2Oracle数据库(1)Oracle是orcale公司的关系数据库管理系统,系统可移植性好,方便,功能强,适用于各类开发环境。高效率,可靠性好的适应高吞吐量的数据库为用户提供解决方案。【4】(2)本系统的数据统一插入到Oracle Database 11g中,以关键字为查询字段,创建多个表存放图书信息和用户信息。创建触发器响应事件的点击。2.3搜索引擎技术(1)该系统最为核
11、心的技术是搜索引擎技术的使用,搜索引擎是根据用户的查询请求,按照一定算法从索引数据中查找信息返回给用户。为了保证用户查找信息的精确度,搜索引擎需要建立索引表并维护一个庞大的索引数据库。(2)该系统首页的数据查询采用模糊查询,查询可分为按图书名称查询,按图书作者查询以及按图书信息查询等查询。查询后再匹配数据库的数据给予查询结果返回给用户。并显示信息查询结果是否查询出来。查询出来显示在界面上,未查询出来会提示用户查询未果。2.4通过JDBC对数据库进行访问JDBC 从物理结构上说就是Java 语言访问数据库的一套接口集合。从本质上来说就是调用者(程序员)和实行者(数据库厂商)之间的协议。JDBC
12、的实现由数据库厂商以驱动程序的形式提供。JDBC API 为Java 开发者使用数据库提供了统一的编程接口,它由一组Java类和接口组成,使得开发人员可以使用纯Java 的方式来连接数据库,并进行操作。【6】2.5Java多线程技术线程是通过程序的一条执行路线。多线程是一个程序同时运行多个任务的能力。它是在一个程序的内部进行分工合作。优化程序的通常方法是确定瓶颈并改进它。瓶颈是一个程序中最慢的部分,他限制了其他任务的运行。据个例子说明:一个Spider程序需要下载十个页面,要完成这一任务,程序必须向服务器发出请求然后接受这些网页。当程序等待响应的时候其他任务不能执行,这就影响了程序的效率。如果
13、用多线程技术可以让这些网页的等待时间合在一起,不用互相影响,这就可以极大的改进程序性能。【7】2.6Java语言Java是James Gosling在Sun公司领导的小组开发的,Java最初被称为Oak,是1991年为消费电子产品的嵌入式芯片而设计的。1995年改名为Java,并重新设计用于开发Internet应用程序。Java拥有的高效性、多平台移植性、通用性与高安全性,使之成为拥有显著优势以及广阔应用前景的一种语言。如今在移动互联网和云计算的大行其道之下,JAVA体现出了极强的优越性。因此本系统也鉴于其优点使用其作为开发语言。3需求分析3.1 设计目标随着大数据时代的到来,特别是时至今日,
14、信息化社会日益在我们的生活中凸现出来,因此有必要对各种信息进行分类整理然后反馈给消费者自己所需的信息。而本系统正是基于消费者对图书购买的背景需求下开发而来。图书销售已由传统的书店图书销售到现今的书店和网上销售并存。并且网上销售在今后的社会上将会越来越多的影响到人们的购物方式,即由传统的书店购书到网上购书,前景不可估量。而本系统就是要基于这一现状开发出来。目的就是能够方便消费者能够借助搜索引擎来查询自己钟意的图书并进行购买。设计目标:本次研究选择的开发语言为Java,该系统基于B/S架构,用户可以通过浏览器对服务器使用访问。首先需要实现网上购书的基本功能,显示图书列表、添加图书到购物车、确认订单
15、,我所研究的重点是对网上购物车的设计与实现模块。 系统可实现功能如下:1.能够进行游客或已注册用户对网上图书列表的浏览,以及对各图书的详细信息的查看;2.能够完成已登陆客户对图书的选购并统一添加图书到个人购物车,并且对已添加到购物车的图书进行数量的增加、减少、修改和删除等操作;3.能够通过查看购物车对所选图书进行确定、挑选,确认或修改购物者的联系方式。3.2 可行性分析可行性分析主要讲述系统在经济,技术和社会等方面是否具有可行性从而确立整个系统是否具有可行性。3.2.1经济可行性本系统意在让消费者方便在网上进行图书购买等便利购物。因此发展潜力巨大。用户量稳定。经济上可以视为一款可行性极高的开发
16、系统。3.2.2技术可行性本系统基于MyEclipse环境开发,数据统一存放在Oracle Database 11g中,在Windows7下运行,利用JDBC技术进行数据访问,因此在技术上,本系统是可行的。3.2.3操作可行性本系统的面向对象为各类用户群体,操作简单,在人性化方面也较好。采用模糊搜索使用户能够快速的查询自己想要购买的图书。在操作上简单快捷。3.2.4其他可行性本系统是属于毕业设计范围的开发系统,在法律和各方面并未侵犯其他专利。内容是日常的图书用品信息。并无其他国家禁止的不良信息。所以在其他方面均有可行性。3.3 性能需求本课题所研究的图书销售系统有如下的性能要求查询响应快。本系
17、统将数据一律插入到Oracle Database 11g中,在采用模糊查询的条件下能够快速的搜索出用户所查询的图书信息,在时间上小于用户的等待时间,因此能够进行快速的查询并返回用户所需的信息。安全性较强。本系统的用户信息与订单信息均需用户登陆后方可修改查看,采用MD5加密技术进行加密,能够大大提升用户信息的安全性。因此在信息保护方面可以算是比较完善的。可扩展与可维护性。在本系统的设计过程中。每个模块的功能都单独存放,这能够方便将来在添加一些额外功能时能够在不破坏原有系统的功能前提下增加额外的功能模块,这就使系统的扩展性大大提升。从而也大大的减少了系统维护的工作量,某一模块出问题时只需在相应的模
18、块内进行修改即可。从而使整个系统维护性也大大提升。3.4 功能需求本课题研究的图书销售系统具有以下几个功能:用户注册,用户登录,购物车,用户订单,图书商品列表等。3.4.1用户注册用户注册的功能主要是进行非会员用户在进行图书购书时要先进行用户注册以保存用户的图书信息和用户信息,也是为了保证用户的个人信息的安全性。此模块是添加新的用户,填写用户个人基本信息,包括姓名,密码,确认密码,E-mail,个人爱好,联系方式等。3.4.2用户登陆如果游客要使用注册用户提供的功能,那么在使用之前必须登陆或注册后登陆。否则将无法进行图书选购。用户只要输入注册用户名和密码进行登录。若用户输入的以上两项与数据库中
19、保存的数据相符,则用户登录成功,可以向用户开放全部前台子系统;如果不符,则登录失败。3.4.3购物车用户可以将浏览到的钟意的图书加到购物车中,如果觉得有买的必要,就可以下订单购买图书了,如果觉得不需要可以再调整图书购物车,购物车主要存放的是图书的相关信息。3.4.4用户订单订单管理的功能是对选择好用户的订单进行处理,包括图书简介,图书数量,图书的增加,删除等操作。3.4.5图书商品列表图书商品列表主要是显示了用户检索出来的图书的基本信息,包括图书的名称,图书的作者,图书的简介,图书的类型等等。方便用户了解选购图书。3.5 需求分析总结根据用户对图书购买的需求分析得出,用户的基本需求如表3-1所
20、示:表3-1 需求列表需求用户根据自己喜好进行图书查询与搜索,系统根据用户查询反馈相关图书信息给用户用户图书消费者用户所做的工作图书消费者用户注册用户登陆检索查询图书填写、修改、删除图书订单用户需求图书信息图书订单信息用户信息最优解决方案用Oracle数据库实现,开发语言运用Java最优方案原因Oracle数据库的数据保存可靠,成本小;Java语言灵活性强、适应性强、基于web开发的图书销售系统主要任务是根据图书消费者的喜好和查询来反馈图书信息给消费者。消费者根据检索出的图书信息进行购买和参考。如果满足消费者需求则进一步进行图书购买,填写用户相关信息,填写购买图书数量等信息进行图书购买。并且可
21、以在购物车上进行图书信息的存储,以便日后在购买时能够快速的进行图书交易。4 总体设计在本章中,我们将描述图书销售系统具体的功能模块设计以及数据库的设计。系统概要分析在第一部分叙述,数据库设计实现在第二部部分详细给出。总体设计的目的是为系统的详细设计与实现做准备。4.1概要设计4.1.1系统功能模块图根据上一章功能需求分析,我们已经明确了企业采购系统的总体模块:用户注册,用户登录,购物车,用户订单,图书商品列表模块。整个系统的总体设计模块图如图4.1.1所示:图书销售系统图书销售系统管理端客户端管理端客户端图书的增删改查管理员个人信息订单的删除购物车图书搜索购买用户订单用户登录用户注册图书的增删
22、改查管理员个人信息订单的删除购物车图书搜索购买用户订单用户登录用户注册图4.1.1 系统功能结构图从图中我们可以看出,用户管理模块和购物车模块是整个系统的重点所在。两个模块占据了系统中的主要功能,而系统的重难点也在于这两个模块的实现。在下一个部分,我们来介绍各个模块的主要功能以及流程。4.1.2系统流程图用户注册流程图此模块是添加新的用户,填写用户个人基本信息,包括用户名、密码、确认密码、联系地址,个人爱好,E-mail等。这一部分功能的流程图如图4.1.2所示:录入用户信息录入用户信息录入用户信息录入用户信息Yes信息为空?Yes信息为空?No提示信息不能为空提示信息不能为空YesYes用户
23、已存在?用户已存在?提示用户已存在注册成功注册成功图4.1.2 用户注册流程图用户登陆流程图如果游客要使用注册用户提供的功能,那么在使用之前必须用户登录方可进行相关功能的查询。用户只要输入用户名、密码就可以登陆进行图书购物了。若用户输入的以上两项与数据库中保存的用户数据相符,则表明用户登录成功,可以开放全部前台子系统;如果不符,则登录失败。用户登陆的流程图如图4.1.3所示:登录信息录入登录信息录入接受登录信息用户名,密码为空接受登录信息用户名,密码为空?Yes提示用户名或密码不能为空提示用户名或密码不能为空NoNo按照用户名查询按照用户名查询NoNo用户已存在?已登录NoNo提示用户不存在提
24、示密码错误用户已存在?已登录NoNo提示用户不存在提示密码错误YesYes口令正确吗口令正确吗?YesYes图4.1.3 用户登录流程图购物车流程图用户可以将浏览到的满意的图书加到图书购物车中,如果觉得有买的必要,就可以下订单购买图书了,如果觉得不需要可以再调整图书购物车流程设计如图4.1.4所示;购物车查看商品下订单调整尚品No购物车查看商品下订单调整尚品No是否已购买是否已购买YesYes图4.1.4购物车流程图订单流程主要包括订单的添加与删除,执行。如图4.1.5所示;订单删除订单发货订单处理用户订单订单删除订单发货订单处理用户订单图4.1.5 订单流程图4.2 数据库设计与实现4.2.
25、1 系统的E-R图设计根据本系统的系统设计需求,得出如下的系统E-R图。1.实体名:用户属性:用户名 密码 Email 性别 生日用户E-R图如图所示:图用户E-R图2.实体名:图书属性:图书名 价格 图书分类 详细信息 图书大小 用户E-R图如图所示:图图书E-R图3.实体名:购物车属性:图书图片 价格 折扣数量购物车E-R图如图所示:图购物车E-R图4.实体名:订单属性:收货地址 收货人 电话号码 订单E-R图如图所示:图订单E-R图4.2.2数据库表格结构根据上述的数据ER图的设计,将E-R图转换为关系模型。则图书销售系统数据库包含以下几个表:用户表consumer,图书表books,订
26、单表orders,如表4.2.2,4.2.3,4.2.4所示用户信息表表4.2.2用户信息表列名数据类型长度备注用户名varchar20主键密码varchar20Emailvarchar20性别varchar6生日date爱好varchar90地址varchar60备注varchar1200图书信息表表4.2.3图书信息表列名数据类型长度备注图书号number10主键图书名称varchar一五0图书作者varchar50图书厚度varchar30图书价格number图书折扣varchar20图书类型varchar10图书图片varchar50订单信息表表4.2.4订单信息表列名数据类型长度备注
27、订单号number20主键订单名varchar20 xvarchar11联系地址varchar100收件人varchar205 图书销售系统的具体实现5.1公共模块的实现5.1.1 数据库连接方法概述鉴于本系统采用Oracle Database 11g存储数据,MyEclipse开发平台,因此采用JDBC数据库连接技术进行数据连接访问。jdbc由各种类和接口组成,也可以构建更高级的工具和接口。鉴于本系统的数据连接。JDBC连接分为以下几个步骤:加载jdbc的驱动程序提供jdbc连接的URL数据库的链接创建PreparedStatementStatement执行sql语句进行结果处理关闭jdbc
28、的对象5.1.2 JDBCClass类的具体实现1加载驱动程序driver = pro.getProperty(className);name = pro.getProperty(name);password = pro.getProperty(password);url = pro.getProperty(url);driver = new String(driver.getBytes(iso8859-1),gbk);name = new String(name.getBytes(iso8859-1),gbk);url = new String(url.getBytes(iso8859-1)
29、,gbk);password = new String(password.getBytes(iso8859-1),gbk);Class.forName(driver);2提供jdbc连接的URLurl jdbc:oracle:thin:xlocalhost:一五21:XE3数据库的连接conn = DriverManager.getConnection(url,name,password);4创建PreparedStatementStatementpublic Object query(String sql, Object args, Class clazz) /sql是查询语句,args是存
30、放参数,根据clazz可用反射自动封装成voObject obj = null;Connection conn = dbManager.getConnection();/得到一个ConnectionPreparedStatement pstmt = null;ResultSet rs = null;try pstmt = conn.prepareStatement(sql);/获得preparedStatementif(args != null) setParameters(pstmt, args);/设置参数rs = pstmt.executeQuery();/执行命令,返回结果集obj =
31、 mapRow(rs, clazz);/封装结果集 catch (SQLException e) e.printStackTrace(); finally DBManager.free(conn,pstmt,rs);/释放资源return obj;5执行sql语句rs = pstmt.executeQuery();/执行命令,返回结果集6进行结果处理publicinterface RowMapper public Object mapRow(ResultSet rs);7关闭jdbc的对象DBManager.free(conn,pstmt,rs);/释放资源5.1.3 模糊查询的语句实现用户在
32、查询自己想要的书籍时,会用模糊查询来查询书籍,于是本系统中我们用sql语句来实现此功能。public GoodsVO selectGoodsbyName(String name) Object obj = null;GoodsVO gvo = null;String sql = select * from goods where gdname like ? or gdauthor like ?;/obj = jdbc.query(sql, new Objectname, GoodsVO.class);obj = jdbc.query(sql, new Objectname,name, new
33、SetParameters()xOverridepublicvoid setParameters(PreparedStatement pstmt, Object obj) try for (int i = 0; i obj.length; i+) if (obji.getClass().getName().equals(java.lang.String) System.out.println(%+obji.toString()+%);pstmt.setString(i + 1, %+obji.toString()+%); elseif (obji.getClass().getName().eq
34、uals(java.lang.Integer) pstmt.setInt(i + 1, Integer.valueOf(obji.toString(); elseif (obji.getClass().getName().equals(java.lang.Float)pstmt.setFloat(i+1, Float.valueOf(obji.toString(); elseif (obji.getClass().getName().equals(java.util.Date) pstmt.setDate(i+1,new Date(java.util.Date)obji).getTime();
35、 catch (SQLException e) e.printStackTrace();, GoodsVO.class);if(obj!=null) gvo = new GoodsVOobj.length;for(int i=0;iobj.length;i+) gvoi = (GoodsVO)obji;System.out.println(GoodsVO)obji).toString();return gvo;6详细设计与系统实现6.1 界面设计图书销售系统的界面分为用户注册界面、用户登录界面、购物车界面以及订单界面。6.1.1用户界面用户注册界面是将非会员用户进行身份注册,以便今后在进行图书
36、购买时能够存储用户信息。也作为用户在登陆本系统时的凭证,也可以保护用户的信息安全。当用户注册完毕时,将用户输入的信息存储到数据库中以便日后登录时匹配数据库的相关信息作为登陆凭证。界面设计如图6.1.1所示图6.1.1用户注册界面用户注册界面代码如下:用户注册 Welcome to BookShopping本网站提供在线购书服务,让您足不出户就能够购买您喜爱的图书,方便快捷,欢迎使用本购物系统。用户名*:密码*:确认密码:6.1.2登陆界面登陆界面是用户作为登陆本系统的凭证,用户填写用户名和密码之后先和数据库里面的用户信息进行匹配,如果匹配成功则登陆成功,反之则提示登录失败。界面设计如图6.1.
37、2所示:图6.1.2用户登录界面详细设计代码如下:用户名:输入名字密码:输入密码忘记密码? 还没有账户? 注册6.1.3购物车界面购物车界面主要是保存用户选购的图书的信息。如图书图片,图书名,单价,折扣,数量,总价以及操作等等。购物车界面如图6.1.3所示:图6.1.3购物车信息管理界面详细设计代码如下:购物车商品总数:$goodslist.size()商品图片商品名单价折扣数量总价操作商品名:$item.gdvo.gdname $item.gdvo.gdprice元$item.gdvo.gddiscount折$item.number$(item.gdvo.gddiscount * item.
38、gdvo.gdprice * item.number)/100.0元总计:$sum 元6.1.4订单界面订单界面主要是来用户填写其收货人,收货地址,x等收件人相关信息的。订单界面如图6.1.4所示:图6.1.4订单界面详细设计代码如下:查看购物车=确认订单信息=付款到货填写收货地址:填写收货人:填写x请输入有效的电话购物车商品总数:$goodslist.size()商品图片商品名单价折扣数量总价商品名:$item.gdvo.gdname $item.gdvo.gdprice元$item.gdvo.gddiscount折$item.number$(item.gdvo.gddiscount * i
39、tem.gdvo.gdprice * item.number)/100.0元总计:$sum 元6.2 系统实现系统的实现任务是实现DAO层、实现Service层和实现系统Servlet层,这是基于Web的图书销售系统设计实现的重点。6.2.1 DAO层的实现DAO模式在Java中经常使用,它是数据访问对象第一个面向对象的接口【8】。DAO组件可以对数据库进行封装操作。这种模式在使用之后,能充分体现Services层组件封装DAO层组件的模式。同时也体现了分离业务逻辑层和DAO组件层的功能。DAO层需要做的是处理数据库数据及和数据库数据异常等。本系统使用的DAO层主要有用户信息层,图书信息层和订
40、单信息层的信息接口。用户信息层的DAO实现如下:package com.zyj.dao;import java.util.List;import com.zyj.vo.ConsumerVO;public interface ConsumerDao ConsumerVO getConsumerInfoByName(ConsumerVO vo);boolean consumerRegister(ConsumerVO vo);图书信息层的DAO实现如下:package com.zyj.dao;import com.zyj.vo.GoodsVO;public interface GoodsDao Go
41、odsVO selectGoodsbyKind(String kind);GoodsVO selectGoodsbyName(String name);GoodsVO selectGoodsbyId(Long goodid);订单信息层的DAO实现如下:package com.zyj.dao;import com.zyj.vo.OrdersVO;public interface OrderDao boolean insertOrder(OrdersVO vo);OrdersVO selectOrderBycname(String cname);DAO接口不参与任何技术的实现,这是其最大的特点。
42、它只是知识定义了增删改查方法的,不管是传统Java数据库连接方式还是其他技术方式,DAO组件都能实现。DAO生成和管理都是由Spring容器负责的。6.2.2 Service层的实现Service层也叫业务逻辑层,主要用来处理业务逻辑层的控制层的调用。然后调用DAO层,最后返回结果到控制层。本系统使用的Service层主要有图书Service层,用户Service层和订单Service层。图书Service层的实现如下:package com.zyj.service;import com.zyj.dao.GoodsDao;import com.zyj.daoImpl.GoodsDaoImpl;
43、import com.zyj.vo.GoodsVO;public class GoodsService GoodsDao dao = new GoodsDaoImpl();public GoodsVO getGoodsbykind(String kind) return dao.selectGoodsbyKind(kind);public GoodsVO getGoodsbyName(String name) return dao.selectGoodsbyName(name);public GoodsVO getGoodsbyId(Long goodid) return dao.select
44、GoodsbyId(goodid);用户Service层的实现如下:package com.zyj.service;import com.zyj.dao.ConsumerDao;import com.zyj.daoImpl.ConsumerDaoImpl;import com.zyj.vo.ConsumerVO;public class Consumer ConsumerDao dao = new ConsumerDaoImpl();public ConsumerVO checkLogin(ConsumerVO vo) return dao.getConsumerInfoByName(vo);
45、public boolean register(ConsumerVO vo) return dao.consumerRegister(vo);订单Service层的实现如下:package com.zyj.service;import com.zyj.dao.OrderDao;import com.zyj.daoImpl.OrderDaoImpl;import com.zyj.vo.OrdersVO;public class OrderService OrderDao dao = new OrderDaoImpl();public boolean tiJiaoDingDan(OrdersVO
46、vos) for(int i=0;ivos.length;i+) System.out.println(vos= +vosi);if(!dao.insertOrder(vosi) return false;return true;public OrdersVO chaxunBycname(String cname) return dao.selectOrderBycname(cname);6.2.3 Servlet层的实现Servlet一般在客户端上运行,返回用户想要获取是数据,用户输入范文数据库的信息后在java服务器上运行时,服务器将请求信息发送到Servelet层中,然后Servlet将
47、数据库里的响应信息发送到服务器中,服务器再将信息返回到用户手中。本系统的Servlet层主要有用户层的Servlet,图书信息的Servlet和购物车的Servlet。用户层的Servlet的实现如下(部分代码):public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException String command = request.getParameter(action);System.out.println(Command: + comma
48、nd);command = new String(command.getBytes(iso8859-1),utf-8);System.out.println(Command1: + command);if(Let me in.equals(command) doCheckLogin(request, response);if(register.equals(command) doRegister(request,response);if(showgerenzhongxin.equals(command) doShowConsumer(request,response);图书信息的Servlet
49、的实现如下(部分代码):public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException String command = request.getParameter(command);System.out.println(command);if (classify.equals(command) doClassify(request, response);if (souso.equals(command) doSouso(request,
50、 response);if (showgoodsdetails.equals(command) doShowGoods(request,response);public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException doGet(request, response);购物车的Servlet的实现如下(部分代码):public void doGet(HttpServletRequest request, HttpServletResp
51、onse response)throws ServletException, IOException String command = request.getParameter(command);System.out.println(command);if(shifoudenglu.equals(command) /登录购物车doCheckDengLu(request,response);if(showGoods.equals(command) /商品加入购物车或者立即购买doShowGoods(request, response);if(shanchugoods.equals(command
52、) /删除购物车里的商品doDeleteGoods(request,response);if(jiezhang.equals(command) /用来购物车中的商品进行结账doJieZhang(request,response);if(tijiaodingdan.equals(command) doTiJiaoDingDan(request,response);参考文献1 夏俊博,宋晓宇 著.“电脑知识与技术”,学术交流J,2011年7月2 百度百科,20一五年3 百度百科,20一五年4 百度百科,20一五年5 刘晓华,张健,周惠贞编著.JSP应用技术开发详解(第三版)M.北京:电子工业出版社
53、,2011年6 林上杰等 编著.JSP2.0技术手册M. 北京:电子工业出版社,2011年7Y.Daniel Liang编著 Java语言程序设计M北京:电子工业出版社,2011年8 李贤华 著,基于JSP技术的大型网上购物系统的设计与实现J.计算机与现代化,2010年9Amon-C-Shinder-T.,Carasik-Henmi,“TheBest Damn Firewall Book PeriodSyngress”M, 201010 Asibonler . User Interface Design-Bridging the Gap from User Requirements to De
54、sign Windows.USA.IntelCorporation.201111 张刚 著.信息系统开发实践教程M. 成都:电子科技大学出版社,2010年总结本次毕业设计是基于Web网上销售图书系统的设计与实现,采用MyEclipse工具作为开发环境,Oracle 11g作为数据库管理工具,Tomcat作为服务器。利用JDBC完成数据库访问。在整个开发工程中,采用软件工程开发流程进行开发,上线进行需求分析,然后进行整体设计和数据库设计,表格的设计等到最后的系统实现。综合各个模块之间的关系进行开发设计,本系统经过几个月的开发终于完成了各个模块的功能。在实现过程中难免有不足之处。望各位老师批评指正
55、。致谢经过数月的工作,基于Web网上销售图书系统终于能够初步的实现。毕业设计与论文的制作加强了我对软件工程专业的深入理解,四年的学习在这次毕业设计中得到了充分的运用。感谢彭纪良老师一路上的帮助,当我遇到技术和理论难题时,老师总是为我指点迷津,让我走出困惑。这是我毕业设计能够成功的重要因素。还有身边支持我的家人朋友,他们是我努力学习的动力,再次对他们表示感谢。在长沙理工大学学习的四年转瞬即逝,我已经准备好踏上社会出力,大学生活令人难忘,毕业设计的这几个月更是倾注了我许多心血。虽然今后我不一定会继续从事软件开发有关的工作,但是软件工程依然是一个十分具有活力的专业。软件工程的世界,深奥却有趣,我衷心
56、希望有更多的年轻人投入到软件开发及工作中去。我的本专业学得不好,这是我大学四年唯一遗憾的地方,但我学会了许多其他的知识,学会了与人相处的能力,学会了学习本身的能力。再次感谢大学里帮助过我的同学、老师、学长学姐们,没有你们就没有现在的我。最后再次感谢彭纪良老师对我毕业设计的帮助。附录:(部分源代码)package com.zyj.util.jdbc;import java.io.BufferedInputStream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOExcep
57、tion;import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.Properties;public class DBManager String driver = null;String name = null;String password = null;String url = nul
58、l;public Connection getConnection() Properties pro = new Properties();Connection conn = null;InputStream is = null;String path = DBManager.class.getClassLoader().getResource(perties).getPath();/通过URI形式try is = new BufferedInputStream(new FileInputStream(path);pro.load(is);System.out.println(Driver:
59、+ pro.getProperty(className);driver = pro.getProperty(className);name = pro.getProperty(name);password = pro.getProperty(password);url = pro.getProperty(url);driver = new String(driver.getBytes(iso8859-1),gbk);name = new String(name.getBytes(iso8859-1),gbk);url = new String(url.getBytes(iso8859-1),g
60、bk);password = new String(password.getBytes(iso8859-1),gbk);Class.forName(driver);conn = DriverManager.getConnection(url,name,password); catch (IOException e) e.printStackTrace(); catch (ClassNotFoundException e) e.printStackTrace();System.out.println(连接错误!); catch (SQLException e) System.out.printl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川巴中市2026-2027学年高三上学期零诊考试生物试卷
- 银川市总工会姚永伟1
- 《系统安装与维护》课件
- 信息管理概论课件第6章
- 管理学概论之第一章 导论
- 园林工程公司出纳员述职报告
- 新版2026年教科版一年级科学上册【全册】教学设计(附目录)合集
- 温馨九月-感谢恩师-桃李满天下-九月谢恩师主题班会
- 2026年食品加工操作工高级工技能鉴定试题及答案
- 【学习课件】第四章、可持续发展的基本内涵
- 《高二开学第一课》主题班会课件
- 2020风电场设备事故现场处置方案
- 自考《兽医法规14239》考试复习题库(必备版)
- 《中华民族大团结》(初中)第1课-爱我中华教学课件
- 2021废(污)水处理用复合碳源
- 化学(基础模块)中职PPT完整全套教学课件
- 架空导地线-液压压接(郭学闻)
- 技师培训交直流调速
- 输变电工程项目安全管理台账
- 《高级计量经济学》-厦门大学经济学院
- GB/T 9239.1-2006机械振动恒态(刚性)转子平衡品质要求第1部分:规范与平衡允差的检验
评论
0/150
提交评论