收藏 分销(赏)

毕业设计(论文)-基于JSP的网上购书系统.doc

上传人:天**** 文档编号:4809338 上传时间:2024-10-13 格式:DOC 页数:41 大小:1.59MB
下载 相关 举报
毕业设计(论文)-基于JSP的网上购书系统.doc_第1页
第1页 / 共41页
毕业设计(论文)-基于JSP的网上购书系统.doc_第2页
第2页 / 共41页
毕业设计(论文)-基于JSP的网上购书系统.doc_第3页
第3页 / 共41页
毕业设计(论文)-基于JSP的网上购书系统.doc_第4页
第4页 / 共41页
毕业设计(论文)-基于JSP的网上购书系统.doc_第5页
第5页 / 共41页
点击查看更多>>
资源描述

1、 基于JSP的“网上购书系统” .摘 要随着网络信息的发展,网络在人们生活中的应用越来越广泛。人们越来越注重时间和效率,希望可以在最短的时间内购买到自己所需的图书。但由于书目的繁多和书籍信息更新的迅速,使去书店购书成为一件费时费力的事情,给人们繁忙的工作生活增添了很多麻烦,于是网上购书便成了人们向往的事情。本系统正是为了应对这一需求而设计的,使人们足不出户就可以轻轻松松地买到自己想要的书,既省时又省力。在电子商务网站中,网上书店是目前应用最广、最成功的典范之一。通过此类网站,用户可以充分利用Internet的发展给人类带来的便捷,突破时间和空间上的限制,实现网上购书。本系统以My Eclips

2、e6.0为主要开发工具,使用Oracle数据库,通过hibernet与数据库进行交互,实现了用户注册、登陆、身份验证及用户数据的采集、书籍的浏览查询和购买等功能。关键词:MVC、Hibernate 、JSP+Servlet、oracle、java AbstractAlong with the development of network information, network in peoples lives applied more and more widely. There is a growing focus on the efficiency and time and hope t

3、hat in the shortest possible time to buy the books which they need. However, due to the large bibliography of books and the rapid updating of information, that the purchase of books to bookstores becoming a very time-consuming and laborious things to people who working and living busy. All these thi

4、ngs adding a lot of trouble to people, so book online has become a matter of people yearn for. The system is to respond to the needs of the design which is both time and effort, so that people can easily stay at home and buy their own books which they want. Nowadays, in e-commerce sites, the online

5、bookstore is one of the most widely used and successful examples. Through such Web site, users can take full advantage of the facility which the development of Internet bring to humanity and take a breakthrough in time and space constraints, realize the online book buying finally. My Eclipse6.0 in t

6、he system as the main development tools, Oracle as the databases, through hibernet interact with the database . Achieving the user registration, login, authentication and user data collection, the browser queries the purchase of books and other functions.Key words: MVC、Hibernate 、JSP+Servlet、Oracle、

7、java目 录前 言3第1章 系统概述及可行性分析41.1 系统概述41.1.1 系统主要工作流程41.1.2 系统开发目的和研究背景51.2 可行性分析71.2.1 技术可行性分析71.2.2 环境可行性分析81.2.3 经济可行性分析8第2章 系统总体设计92.1 系统结构总框架设计92.2 系统结构流程设计92.3 数据流程图设计11第3章 系统数据库设计113.1 数据库概念结构设计113.2 数据库逻辑结构设计133.3 Oracle数据库具体实现15第4章 系统详细设计174.1 用户注册及登陆的实现174.1.1 登陆界面的设计及其变化174.1.2 日历功能的设计194.1.3

8、 登陆验证功能的设计204.1.4 登陆角色功能的设计224.1.5 普通用户注册界面234.2 购书模块的设计244.2.1 图书列表功能的设计244.2.2 模糊检索功能的设计264.2.2 购物车部分294.2.3 用户信息部分和购物清单部分314.3 用户订单管理模块的设计344.3.1 订单列表部分344.3.2 订单明细部分36第5章 关键技术及系统安全性能385.1 系统关键技术385.2 系统安全性能38第6章 结 论39参考文献40谢 辞41前 言20世纪90年代以来,计算机网络技术得到了飞速的发展,网络的全球化成为不可抗拒的潮流。21世纪是信息经济的时代,在信息社会里起决定

9、作用的不是资本,而是信息知识,伴随着高科技Internet的出现,Internet正在走入千家万户,它不仅仅给人们提供了一个全新获取信息的手段,而且日益影响我们的生活、学习和工作方式。因此,许多人、许多公司都希望自己能够制作网页,以展现本人或公司的风采和产品,以及有许多顾客想要通过上网来购物。 为了迎合人们的文化知识需要和方便大家购物,电子商务随之而出。网络购书管理系统是目前Internet上广泛使用的在线系统之一,它要求实现的功能非常多,最重要的当属图书的销售,也就是管理库房中的图书,以及管理用户的购物车,从而实现结账等功能。同时,为了保证图书交易的正常进行,必须对用户身份进行验证。最后该系

10、统还必须具有管理员的功能,允许管理员对整个系统的数据库进行操作。现在人们购书大多是去书店,在书店里寻找自己需要的书籍并购买。经过几年实践,我国电子商务发展迅猛,越来越走向务实,网络的应用已经蓬勃发展起来。开发一类适合现代人网上购书的系统网上书店是非常必要和可行的,此类系统在我国已得到初步应用并有很广泛的市场需求前景。 网上书店系统可以实现人们远程逛书店和购买图书的愿望。本系统的主要功能是帮助经营实物书店的人们扩大市场和增加知名度,帮助在实际买书的过程中受到时间和地域限制的人们更方便地购买图书。其基本功能包括普通用户注册、登录、图书展示、图书查询、在线浏览图书、远程购买、远程交易和管理员对书籍及

11、订单的管理等。本系统使用的开发工具是MyEclipse6.0,使用的数据库是Oracle 10g。该系统是基于实体书店及出版社等用户背景开发的,可以有效的实现网上图书交易。本系统采用Sun公司J2EE企业及编程模式,采用可视化的编程环境,简单易懂的编程语言,用较少的代码可以实现大量繁琐复杂的问题的功能,本系统采用现在流行的MVC框架,不仅易于上手,而且扩展性也好,下面将本系统的主要内容介绍如下:第1章主要介绍论文的研究背景及意义;第2章主要介绍系统实际需求和系统总体设计;第3章主要介绍本系统数据库的设计;第4章主要介绍本系统详细设计;第5章主要介绍本系统的关键技术及系统安全性能。第1章 系统概

12、述及可行性分析1.1 系统概述随着现代信息技术的飞速发展,全球性的网络化、信息化进程正逐渐改变着人们的生活方式,促使信息系统必须高效地处理内部信息,由传统的生活方式逐步提高到基于数据库的网络自动化信息处理。本系统采用MVC三层架构的模式:M即model,就是模式层,相关技术是JavaBean。V即view,视图层,相关技术是Jsp,用于显示操作界面。C,即control,控制层,相关技术是servlet,用于控制和转发分别来自操作界面操作请求和数据库的处理信息。在设计模式上,本系统用到了工厂模式和ORM模式等。工厂模式是我们最常用的模式了,著名的Jive论坛就大量使用了工厂模式,工厂模式在Ja

13、va程序系统可以说是随处可见。使用工厂模式会给本系统带来更大的可扩展性和尽量少的修改量,而其中最关键的就是建立工厂类和相应的类接口。所谓ORM模式,即Object Relational Mapping,对象关系映射模式,采用映射元数据来描述对象关系的映射细节,通常采用xml格式。在该系统中使用ORM技术是为了解决面向对象与关系数据库存在的互不匹配的现象。 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将java程序中的对象自动持久化到关系数据库中,其本质就是将数据从一种形式转换到另外一种形式。本系统在开发过程中还结合了Struts和 Hibernate来处理页面逻辑和对象的持久化

14、工作,使用了当前流行的Struts框架,采用Hibernate作为ORM框架。1.1.1 系统主要工作流程可以将该系统划分为以下几个层次模块:客户端(即浏览器)、表现层、业务逻辑层、数据访问层、数据库。首先通过Tomcat把本系统estore部署到webapplication下,然后启动Tomcat。当客户端通过浏览器发送一个请求,通过servlet把该请求转交给业务逻辑层进行相应增删改查的处理,通过hibernet与数据库交互,从数据库中取或存数据,把结果返回给业务逻辑层,再返还给JSP,继而客户便可通过浏览器看到操作结果。具体数据流程为:在页面上进行相应的操作,触动action(里面有ur

15、l)到webroot-web-inf-web.xml里通过action触发的相应事件找到对应的servlet,通过servlet名字找到相应的servlet类,通过servlet调用service层的方法,通过service调用相应dao层的方法,dao层通过hibernite与数据库交互进行相应的增,删,改,查的处理。本系统主要工作流程图1-1所示:客户端ServerletService方法dao层Hibernet表现层业务逻辑层数据访问层数据库图1-1 系统主要工作流程图1.1.2 系统开发目的和研究背景传统的购书方式中,需要去书店挑选,选择到合适的书籍有时需要耗费相当多的时间和精力,这是

16、一个繁杂的过程,已经越来越不适应社会信息化建设与现代生活方式的需要。尤其在经济不发达地区,书店分布少,书籍种类少,顾客不易买到自己想要的书籍,给顾客购书带来了很多的不便。本网上购书系统正是为了解决此类问题而设计的,它是信息化建设的产物,也是传统书店的延伸。可以利用互联网络足不出户随时随地购书,加上数据库技术的利用,大大简化了图书选择和购买的过程。网上书店是一个基于Internet的网上图书销售系统。用户可以通过浏览器登陆书店页面,浏览其中的图书信息,将书店中感兴趣的书加入到购物车中,如果决定购买图书,则可以将购物车中的图书作为订单下达。网上书店系统管理员会定期处理用户下达的订单。用户使用网上书

17、店可以足不出户购买到自己感兴趣的图书,而且可以使用图书检索功能更快地找到所需的图书。网上书店利用Internet的优势,打破了传统书店的经营模式。 在电子商务网站中,网上书店是目前应用最广、最成功的典范之一。通过此类网站,用户可以充分利用Internet的发展给人类带来的便捷,突破时间和空间上的限制,实现网上购书。网上书店的崛起对传统的图书流通体系产生了强烈的冲击,有效地缩短了图书的流通发行环节,将广大读者、图书、出版社、发行者紧密地联系在一起,大大提高了图书流通率,同时也丰富了人们的头脑,增加了人们的知识面,提高了工作效率。网上购书有着经营成本低、库存虚拟、用户检索方便、地域限制少等优点,网

18、上购书系统正是信息时代和效率优先最完美的结合体。在这个信息逐步发达的时代,在这个追求时间和效率的时代,网上购物将成为一种趋势和时尚。1.1.3 需求分析1. 系统用户使用网上书店系统的用户主要有两种:一种是消费者,可以浏览网上书店中的书藉信息、进行网上购书;另一种是网站的管理者,可以对网上书店中的书藉信息进行管理、处理客户的订单。2. 系统功能需求鉴于网上书店系统的两种用户角色的说明,可将系统分为前台和后台,前台是给客户使用的,用于展示图书信息和完成与客户的交互;后台是给网站的管理者使用的,用于管理网站的内容。网上书店前台实现的功能有:(1)网站首页。首页是客户打开网站的第一个页面,为以吸引客

19、户,更体现人性化设计,本网站设置了背景变换功能,即在不同的季节展现出不同的背景设计风格。(2)新注册用户。提供客户网上自助注册功能,填写注册表单并提交后,就能成为网上书店的用户,注册成功并登录后就可以进行网上购书了。(3)用户登录。供已注册的用户登录,登录后才能在网上购书。(4)网上购书。已登录的用户可以将需要购买的书藉放入购物车,可将已放入购物车中的书藉生成一张订单并作确认。网上书店后台管理实现的功能有:(1)书藉管理。供网站管理员对网上书店中的书藉进行管理,可增加书藉信息。(2)订单管理。供网站管理员管理客户提交的订单,对于已经提交的订单,管理员可以根据订单信息进行发货。1.2 可行性分析

20、1.2.1 技术可行性分析1、Java是Sun公司推出的新的一代面向对象程序设计语言,特别适合于Internet应用程序开发。Java的产生与流行是当今Internet发展的客观要求,Java是一门各方面性能都很好的编程语言,它的基本特点是简单、面向对象、分布式、解释的、健壮的、安全的、结构中立的、可移植的、性能很优异的、多线程的、动态的,特别适合在Internet环境上开发的应用系统。2、Web应用程序开发环境JSP技术JSP的全称是Java Server Pages,它是SUN推出的一种动态网页技术标准。它在传统的静态页面文件(*.html,*.htm)中加入JAVA程序片段和JSP标记,

21、就构成了JSP页面。JSP具有以下的优点:a)能够跨平台:JSP支持绝大部分平台,包括现在非常流行的LINUX系统,应用非常广泛的Apache服务器也提供了支持JSP的服务;b)一次编写,处处运行:作为JAVA开发平台的一部分,JSP具有JAVA的所有优点。 3、Tomcat应用服务器目前支持JSP的应用服务器是较多的,Tomcat是其中较为流行的一个Web服务器,被JavaWorld杂志的编辑选为2001年度最具创新的Java产品,可见其在业界的地位。 Tomcat是一个免费的开源的,在Tomcat中,应用程序的部署很简单,你只需将你的工程放到相应目录下即可,Tomcat会自动检测到这个文件

22、,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。4、Oracle 数据库Oracle 是以高级结构化查询语言(SQL)为基础的大型关系数据库,是目前最流行的客户/服务器(Client/Server)体系结构的数据库之一。 1.2.2 环境可行性分析本系统的开发环境:操作系统:Windows系列操作系统; 开发工具:MyElcipse 6.0; 应用服务器:Tomcat 5.0.28; 数据库:Oracle。 1.2.3 经济可行性分析经济可行性:该系统对操作环境要求不大,系统的开发不需要很

23、强技术和经济支持,维护起来也很方便,就其功能带来的利益来说,是完全可行的。第2章 系统总体设计2.1 系统结构总框架设计本网上购书系统主要分成三大模块:客户管理、图书管理和订单管理。其中各模块又是由若干个子模块构成的,形成一个结构紧凑、功能明确完整的网上购书系统。系统结构总框架设计如图2-1所示: 2-1整个系统结构图2.2 系统结构流程设计用户必须按照正确的顺序进入系统,用户的角色分为管理员和普通用户两种。管理员用户无需注册,可以直接用管理员用户名和密码登陆;普通用户需先注册,注册成功后方可登陆。两种用户登陆成功后便可通过按键提示进行相应操作,具体系统结构流程图如图2-2所示:图2-2 系统

24、结构流程图2.3 数据流程图设计本系统的中心角色是用户。用户开始注册、登陆,然后用户就可以进行书籍检索、购买、确认订、付款等。系统管理人员可以查看订单信息,根据订单信息发货等。图2-3 系统数据流程图第3章 系统数据库设计3.1 数据库概念结构设计数据库在本购书系统中占有及其重要的地位,数据库结构设计的好坏关系到系统的运行效率、存储数据的效率、系统的复杂程度等,合理的数据库结构设计可以提高系统性能。考虑到用户需求的各种实体,本网上购书系统规划出的实体有用户信息实体、图书信息实体、购物车信息实体、订单信息实体,订单明细信息实体。各实体总体描述E-R图如图3-1所示:图3-1 系统实体总体描述E-

25、R图3.2 数据库逻辑结构设计将以上的数据库概念结构转化为关系数据模型,即数据库的逻辑结构。各个数据表的字段设置如下各表所示:字段号字段名 类型宽度小数索引1登陆账号数值型4主键2用户名字符型20唯一3密码字符型304邮编字符型65地址字符型606电话字符型117E-mail字符型20表3-1 用户信息表字段号字段名 类型宽度小数索引1图书编号数值型4主键2书名字符型30唯一3作者字符型504出版社字符型505出版日期日期时间106图书单价数值型627ISBN字符型13表3-2 图书信息表 字段号字段名 类型宽度小数索引1图书编号数值型4主键2书名字符型30唯一3数量字符型54价格数值型725

26、操作布尔型1表3-3 购物车信息表字段号字段名 类型宽度小数索引1订单编号数值型10主建2用户登陆账号数值型4外键3订单处理字符型104图书价格数值型75邮寄方式数值型46邮费数值型27折扣数值型118需付款总额数值型729付款情况布尔型1 表3-4 用户订单信息表字段号字段名 类型宽度小数索引1订单编号数值型10 主键2书名字符型10 外键3价格数值型624数量数值型3表3-5 订单明细表3.3 Oracle数据库具体实现对数据库进行操作的部分SQL语句:create sequence book_seq start with 1 increment by 1;create sequence

27、customer_seq start with 1 increment by 1;create sequence orderform_seq start with 1 increment by 1;create sequence orderline_seq start with 1 increment by 1;create table customer(id number primary key,name varchar2(20),password varchar2(20),zip varchar2(20),address varchar2(50),telephone varchar2(20

28、),email varchar2(30);create table orderform(id number primary key, cost number(8,2),orderdate date, customerid number references customer(id);create table book(id number primary key,name varchar2(100),price number(8,2);create table orderline(id number primary key,num number not null,orderid number r

29、eferences orderform(id),bookid number references book(id); 第4章 系统详细设计4.1 用户注册及登陆的实现4.1.1 登陆界面的设计及其变化在浏览器地址栏键入以下地址:http:/127.0.0.1:8888/estore_jsp/login.jsp 即出现本系统的登陆界面。为体现人性化设计,本系统在登陆窗口上增加了日历和日期选择功能,并且网页的设计风格可以随季节的不同而变化,使用户在登陆到本网站时在不同的季节有不同的心情。例如,在本网站的登陆界面可以随季节的变化而表现出不同的风格,随着日期设置的变化,登陆界面可以随着春夏秋冬四季的交

30、替而变化,其交替时间分别为春分日(3月21日)、夏至日(6月22日)、秋分日(9月23日)和冬至日(12月22日)。具体实现效果如图4-1(a)(b)(c)(d)所示: 图4-1(a)春 图4-1(b)夏 图4-1(c) 秋 图4-1(d)冬其中部分实现代码如下:var date_spring=year+/03/21;var date_summer=year+/06/22; var date_autumn=year+/09/23; var date_winter=year+/12/22; var date1=new Date(date_spring).getTime(); /春var date

31、2=new Date(date_summer).getTime();/夏var date4=new Date(date_autumn).getTime();/秋var date5=new Date(date_winter).getTime();/冬var date3=new Date(date_show).getTime(); /当前时间 if(date3date1)&(date3date2)&(date3date4)&(date3date5)|(date3date4);alert(date3date5);4.1.2 日历功能的设计 在登陆界面上增加了日历功能,其时间与计算机的时间是一致的,同

32、时也可以自己选择日期,日期变化后登陆界面随之变化。其效果图如图4-2所示:其中部分实现代码如下:/选择日期功能function change_date(temp,mode)var t_month,t_year; if (mode) if(mode=1) t_month=parseInt(cele_date_month.value,10)+parseInt(temp,10); else t_month=parseInt(temp) if (t_monthcele_date_month.options(cele_date_month.length-1).text) cele_date_month.

33、value=cele_date_month.options(0).text; change_date(parseInt(cele_date_year.value,10)+1,0); else cele_date_month.value=t_month; set_cele_date(cele_date_year.value,cele_date_month.value); else t_year=parseInt(temp,10); if (t_yearparseInt(cele_date_year.options(cele_date_year.length-1).text,10) cele_da

34、te_year.value=cele_date_year.options(cele_date_year.length-1).text; set_cele_date(cele_date_year.value,12); else cele_date_year.value=t_year; set_cele_date(cele_date_year.value,cele_date_month.value); 4.1.3 登陆验证功能的设计在登陆过程中,如果出现用户名或密码输入错误或空输入,系统便会弹出提示信息。该功能通过action触发的用户名和密码验证事件找到对应的servlet,通过servlet名

35、字找到相应的servlet类,通过servlet调用service层的方法,通过service调用相应dao层的方法,dao层通过hibernite与数据库交互进行相应的查找和操作。效果图如图4-1-3(a)和4-1-3(b)所示: 4-1-3(a)登陆用户名验证 4-1-3(b)登陆密码验证其中部分实现代码如下:function init()setTimeout(refWin,60000000);function queren()if(f1.name.value=)alert(请输入用户名!);return;if(f1.password.value=)alert(请输入密码!);return

36、;f1.submit();function ss()if(window.event.keyCode=13)if(f1.name.value=)alert(请输入用户名!);return;if(f1.password.value=)alert(请输入密码!);return;f1.submit();4.1.4 登陆角色功能的设计为了便于网站管理,系统用户可以以不同的身份进行登陆,分为管理员用户登录和普通用户登录。其中管理员用户的登录用户名和密码是系统设定的,用户名和密码均为admin;而普通用户使用本系统要先进行注册,注册成功后方可进行登陆。管理员用户的功能是在普通用户功能的基础上增加了一些功能,

37、如书籍的添加、订单的管理等。其实现效果图如图4-1-4(a)和4-1-4(b)所示: 图4-1-4(a)管理员登陆 图4-1-4(b)普通用户登录其部分功能实现代码如下:String name=request.getParameter(name);String password=request.getParameter(password);Customer c=null;try if(admin.equals(name)&(password.equals(admin)response.sendRedirect(listBookStore1.jsp);/管理员页面System.out.print

38、ln(管理员登陆);elseSystem.out.println(客户登陆);c=customerService.login(name, password);/获得的customer放入内存sessionHttpSession session=request.getSession();session.setAttribute(customer,c);/若有别的request就得用内部跳转response.setCharacterEncoding(UTF-8);response.sendRedirect(listBookStore.jsp);/用户页面 catch (CustomerServic

39、eException e) e.printStackTrace();request.setAttribute(error1,e.getMessage();request.getRequestDispatcher(login.jsp).forward(request,response);4.1.5 普通用户注册界面普通用户登录本购书系统前需要先进行注册,注册成功后方可进行操作,用户所有注册信息都将被系统管理员获取,其值也将被传送到订单管理页面上。在出现的登陆界面页中点击“注册新用户”即进入用户注册界面,输入用户登陆账号、密码等基本信息并提交后,即可返回登陆界面,并在其中输入已经通过注册验证的用户名及密码。当点击登录时就进入http:/127.0.0.1:8888/estore_jsp/listBookStore.jsp中,即可进行图书的检索、购买等。其具体实现代码略,其效果图如图所示:图4-1 普通用户注册界面4.2 购书模块的设计4.2.1 图书列表功能的设计在用户登陆界面输入通过验证的用户名和密码并点击“提交”后,系统便调用RegisterServlet中的doPost方法,此时页面就跳转到进入图书列表界面。用户以不

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服