郑州华信学院
课程设计说明书
题目:
姓 名: 秦金磊
院 (系): 信息工程系
专业班级: 计算机科学与技术
学 号: 0801110164
指导教师: 杨杨
成 绩:
时间: 年 月 日至 年 月 日
数据库与信息管理课程设计
目录
摘 要 ......................................................................................................................................................2
第一章 研究背景,开发目标及可行性分析 ......................................................................................3
1.1研究背景 ................................................................... 3
第二章 JAVA的网络功能与编程 ...........................................................................................................3
2.1 JAVA语言简介 .............................................................. 3
2.3 JSP的基础——Servlet 技术 ................................................. 4
第三章 网上书店详细设计 ....................................................................................................................4
3.1 需求分析 .................................................................. 4
3.2 总体设计 .................................................................. 5
3.3 功能设计 .................................................................. 5
3.4数据库的需求分析 ........................................................... 6
3.5 网上书店基本流程 .......................................................... 6
3.6 网上书店各页面功能 ........................................................ 6
3.6.1 网上书店首页bookMain.jsp详细功能及描述 ................................................................6
3.6.2显示购物车信息bookShopCart.jsp页面详细功能及描述 .............................................7
3.6.3网上书店客户登录userLogin.jsp页面详细功能及描述 ...............................................8
3.7 业务逻辑层各bean功能 ..................................................... 9
3.7.1 封装了数据库相关操作的bean(DB.java) ...................................................................9
3.7.2 封装了图书分类信息处理的bean(BookCat.java) .....................................................9
3.7.3封装了图书查询及显示条件的bean(SearchStatus.java) ........................................9
3.7.4封装了购物车信息处理的bean(ShopCart.java) ........................................................9
3.7.5封装了订单住处处理的bean(Order. java) ................................................................9
3.8 控制处理层 ............................................................... 10
总结 ....................................................................................................................................................... 11
秦金磊网上书店系统
摘 要
JAVA语言是目前Internet上大型的WEB应用程序开发时使用得最热门的编程语言,本文描述了JAVA和JSP技术的特点以及在互联网上的使用情况,介绍这两种技术的重要编程方法和两者之关的联系,并完成一个基于这种技术的网上书店系统。 书籍交易网站就是Internet和电子商务发展的产物,近几年在我国发展迅猛,如同一些书店纷纷在各地开设分店以拉近书店与顾客间距离一样。随着现今全民素质和科学技术水平的不断提高,知识更新的越来越快,人们随时都会有被淘汰的危机,为了不让社会淘汰,做到与时俱进就必须多读书不断的学习,21世纪是网络的时代、信息的时代,时间是非常宝贵的,人们由于种种原因没有时间到书店去,也不知道哪家书店有自己需要的书籍,同时那些传统书店的经营者又没什么好的方法让人们知道我这就有顾客需要的书籍,这种买卖双方之间信息交流上的阻碍成为“网上书店”网站发展的原动力。
网上书店网站的建立可以更好的解决这方面的问题,我们向广大用户推出的是一种全新的网上信息服务,旨在书店与消费者之间架起了一座高速、便捷的网上信息桥梁,我们的目的是节省您的时间、方便您的购书,使您永远走在时代的前沿。
【关键字】JAVA, JavaBeans, Servlet, JSP, 网络编程, 电子商务, 网上书店
数据库与信息管理课程设计
第一章 研究背景,开发目标及可行性分析
1.1研究背景
随着全球经济一体化的逐步发展和深入,网上书店已成为传统书店必不可少的经营策略之一.目前,网上书店在国际互联网上可以实现的商务已经多样化,可以完成从最基本的信息展示、信息发布功能到在线交易、在线客户服务、在线网站管理功能等,可以说,传统书店所具备的功能几乎都可以在互联网上进行电子化的高效动作。虽然传统书店规模有所不同,随着网上交易的开展,都将有力地改变企业的发展空间,会对企业的竞争力产生不可忽视的影响。这些影响主要体现在以下方面。
开发目标
开发一套校园内网上购书系统,可以让顾客通过浏览器浏览网站售书目录,从而挑选自己满意的图书,并下订单购买。而网站后台人员需要维护网站会员信息、书籍信息以及订单信息。本系统的目的就是要开发一套既方便客户网上购书,又方便网站维护人员维护网站WEB服务系统。
可行性分析
开发一个本系统的开发可以解决企业人事管理遇到的耗费大量资金和人力,管理内容繁复,而且容易丢失的问题。本系统的开发周期为2个月,耗费资金较少,且实用价值很高,各类企事业单位及学校等部门都可以使用。
第二章 JAVA的网络功能与编程
2.1 JAVA语言简介
Java是一种简单易用、完全面向对象、具有平台无关性且安全可靠的主要面向Internet的开发工具。自从1995年正式问世以来,Java的快速发展已经让整个Web世界发生了翻天覆地的变化。在早期,Java比较多的用在浏览器上,插入到网页中(即是Java Applet程序),成为最灵活、最强大的网页多媒体的载体,但由于Java虚拟机相对于个人电脑而言,有占用资源大,安全性相对较差等缺点,Applet逐渐的被后起之秀Flash所替代,但随着Java Servlet的推出,Java在电子商务方面开始崭露头角,最新的JSP(Java Server Page)技术的推出,更是让Java成为基于Web的应用程序的首选开发工具,目前的Java技术已成为所有大型电子商务项目的必然选择。
2.2 JAVA语言在网络上的应用
Java程序可以获取网络上结点的图象、声音、HTML文档及文本等资源,并可以对获得的资源进行处理。例如Java程序可以每隔一定时间读取某结点提供的最新数据,
秦金磊网上书店系统
并以图表的形式显示出来。在编程处理上,一般先生成一个URL类型的对象,然后用 Java中相应的方法(method)获取该对象所代表的资源。
2.3 JSP的基础——Servlet 技术
Java Servlet是JSP技术的基础,JSP本身就是预先被编译成Servlet,然后再运行的,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成,Servlet这个名称大概源于Applet,现在国内的翻译方式很多,本文为了避免误会,本文直接采用Servlet这个名称而不做任何翻译,读者如果愿意,可以称之为“小服务程序”。Servlet其实和传统的CGI程序和ISAPI、NSAPI等Web程序开发工具的作用是相同的,在使用Java Servlet以后,用户不必再使用效率低下的CGI方式,也不必使用只能在某个固定Web服务器平台运行的API方式来动态生成Web页面。许多Web服务器都支持Servlet,即使不直接支持Servlet的Web服务器也可以通过附加的应用服务器和模块来支持Servlet。得益于Java的跨平台的特性,Servlet也是平台无关的,实际上,只要符合Java Servlet规范,Servlet是完全平台无关且是Web服务器无关的。由于Java Servlet内部是以线程方式提供服务,不必对于每个请求都启动一个进程,并且利用多线程机制可以同时为多个请求服务,因此Java Servlet效率非常高。但Java Servlet也不是没有缺点,和传统的CGI、ISAPI、NSAPI方式相同,Java Servlet是利用输出HTML语句来实现动态网页的,如果用Java Servlet来开发整个网站,动态部分和静态页面的整合过程简直就是一场噩梦。这就是为什么SUN还要推出Java Server Pages的原因。
第三章 网上书店详细设计
3.1 需求分析
网上书店系统主要是实现网上选书、购书、产生订单等功能的系统。一个典型的网上商城一般都需要实现商品信息的动态提示、购物车管理、客户信息注册登录管理、订单处理等模块。
根据网上书店的基本需求,本系统需要完成的具体任务如下:
(1).书图查询: 当客户进入网上书店时,应该在主页面中分类显示最新的书目信息,以供客户选择所需图书,同时也应该提供按照图书名称,或者作者信息快速查询所需书目信息的功能。
(2).购物车管理:当客户选择购买某图书产品时,应该能够将对应图书信息,如:价格、数量记录到对应的购物车中,并允许客户返回书目查询页面,选择其他商品,并添加到购物车中,当对应的购物订单生成后,应该能够自动清除以生成订单的购物车中的信息。
(3).订单处理:对应客户购买图书商品信息的需求,在确定了所购图书商品的价格、数量等信息后,提示用户选择对应的送货方式及付款方式,最终生成对应的订单记录,以便于网站配货人员依据订单信息进行后续的出货、送货的处理。
(4).会员注册:为了能够实现图书商品的购买,需要管理客户相关的联系方式、送货地点等相关的信息。
数据库与信息管理课程设计
3.2 总体设计
系统组成
下表中给出了构成网上书店系统的各个组件,通过下表,可以从宏观上了解各个组件的
3.3 功能设计
(1).图书信息管理
该模块实现图书书目信息的分类显示,也是提供图书信息依据书名及作者信息快速搜索的功能。此外,在用户选择了对应书目信息后,还可以显示出有关该图书的详细信息,以便于客户了解所购商品。
(2).购物车管理
用于维护每一个进入网上书店的客户对应的购物车。即将客户所选购的图书商品信息记录到对应的购物车中,以便于到收银台进行结账处理。
(3).会员注册
实现网上书店客户信息的注册、及身份验证。由于目前网上商城普遍采用的方式为送货上门或者邮寄,因此需要收集与客户相关的联系方式、通信地址等信息。
(4).订单处理
根据客户购物车中的信息,以及客户所选择的送货方式和付款方式,连同客户对应的个人信息生成订单,以便于后续进行送货处理。
秦金磊网上书店系统
3.4数据库的需求分析
依据网上书店的处理需求,对就数据表的设计及功能如下。
(1).图书基本信息表:存放网上书店所销售图书的基本信息。
(2).图书分类基本信息表:存放网上书店所提供图书分类的信息。
(3).客户基本信息表:存放书店客户的基本信息。
(4).订单信息表:存放与客户相关的订单的基本信息。
3.5 网上书店基本流程
网上书店在运行过程中页面的基本流程如下图:
3.6 网上书店各页面功能
3.6.1 网上书店首页bookMain.jsp详细功能及描述
(1).获取图书分类信息以及图书基本信息集合
数据库与信息管理课程设计
(2).循环显示图书分类信息
(3).提交显示指定分类图书信息的请求,同时传递对应图书分类编号
(4).提交书目搜索请求及搜索条件的表单
(5).提交搜索关键字的表单元素
(6).选择搜索条件的表单元素
(7).显示图书记录总数、当前页面编号以及总页数
(8).循环显示对应图书书目信息
(9).显示图书名称、价格、销售价格、作者信息
显示图书详细信息bookShow.jsp页面详细功能及描述
1.依据图书记录编号获取待显示详细信息的图书类型的对象 ○
2.分别显示该图书对象的详细信息 ○
3.显示图书封面图片、名称、详细介绍、价格、销售价格 ○
4.单击“购买”按钮后,将提交放入购物车的请求 ○
5.显示图书目录 ○
本页面是在控制器响应了网上书店主页提交的查看图书详细信息请求,“bookDeatial.do”请求后,跳转到的页面。在该页面中将获取到的指定图书详细信息显示出来,同时如果用户单击“购买”按钮,将提交“bookBuy.do?bookId=”请求,进行后续放入购物车的处理。
3.6.2显示购物车信息bookShopCart.jsp页面详细功能及描述
(1).获取该用户购物车中信息的集合
(2).提交更新购物车请求的表单
(3).循环显示购物车中的每一条购物记录信息
(4).设置购买数量的文本框
(5).显示图书销售价格
(6).显示图书总价
(7).从购物车中移除购买记录信息
(8).更新订单按钮
(9).提交继续购书请求的超链接
(10).提交结算付款请求的超链接
本页面是在用户选择购买某种图书商品后,进入的页面。在该页面中将显示该用户购物车中现有的所有购买需求记录。同时提供更新购物车的操作界面,例如,可以输入购买数量或者选择删除购买记录。单击“更新订单”按钮后,将提交“updateShopCart.do”请求,进行更新购物车信息的处理。此外,也可以单击“继续购书”按钮,提交“bookSearch.do”请求返回网上书店主页面继续购书,或者单击“清空购物车”按钮提交“clearShopCart.do”请求。同时,如果用户确认去收银台,则可以单击“结算付款”按钮跳转到“userLogin.jsp”页面进行用户登录。
秦金磊网上书店系统
3.6.3网上书店客户登录userLogin.jsp页面详细功能及描述
(1).提交用户登录请求,同时提交登录用户信息的表单
(2).提交登录用户用户名及密码的表单元素
(3).登录按钮
(4).提交新用户注册请求的超链接
本页面是客户在购物车页面单击“结算付款”按钮后跳转过来的页面,在该页面中,用户在表单中输入用户名及密码,单击“用户登录”按钮后,将提交“login.do”请求,以便于进行后续获取用户相关信息的处理,对于没有用户身份的新客户,可以在本页面中单击“新用户注册”按钮,跳转到“userRegister.jsp”页面进行用户注册。 网上书店客户注册userRegister.jsp页面详细功能及描述
(1).提交新用户注册请求,同时提交新用户注册信息的表单
(2).提交注册用户姓名、地址、电子邮件地址、电话、用户名、密码以及确认密码表单元素
(3).注册按钮
在本页面中注册用户可以在表单中输入对应的注册信息,在单击“注册”按钮后,将会提交“regist.do”请求,同时提交新用户的相关注册信息,以便于进行后续新用户注册的处理。
3.6.4 选择送货方式及付款方式orderAddress.jsp页面详细功能及描述
(1).获取客户信息
(2).提交选择送货方式及付款方式的表单
(3).显示客户信息、姓名、地址、电话、送货方式、付款方式
本页面是在用户登录通过后,跳转到的页面,在该页面中首先获取对应用户的客户资料,同时提供送货方式以及付款方式的选择,在用户单击“确认”按钮后,将提交“addrConfirm.do”请求,生成生续完整的订单信息。
确认订单信息orderConfirm.jsp页面详细功能及描述
(1).获取购物车信息集合
(2).获取订单信息、客户信息
(3).显示客户姓名、地址、电话
(4).显示购物车中的信息
(5).显示所购图书书名、数量、总价
(6).显示整张订单总价
(7).显示订单信息中的送货方式信息
(8).显示付款方式信息
(9).显示订单编号
(10).提交继续购书的请求
(11).提交查看该用户所有订单的请求
本页面中将全面显示该客户本次购物生成的详细订单信息,同时如果单击“继续购书”按钮将提交“bookSearch.do”请求返回网上书店主页面,如果单击“查看订单”按钮将提交“orderHistory.do”,跳转到“orderHistory.jsp”页面。
显示客户所有订单信息orderHistory.jsp页面详细功能及描述
(1).获取该用户所有历史订单信息
(2).显示订单信息信息列表
数据库与信息管理课程设计
(3).显示订单编号、时间、总价
(4).提交取消订单请求的超链接
(5).提交返回购书请求的超链接
本页面将显示与当前用户相关的所有订单信息。同时用户可以单击“取消此单”超链接提交“delOrder.do?orderId=”请求删除该订单信息,此外也可以单击“返回购书”按钮提交“bookSearch.do”请求跳转到网上书店主页面。
3.7 业务逻辑层各bean功能
在本系统的业务逻辑层中分别完成了对图书信息、图书分类信息、购物车信息、订单信息以及客户信息等类型对象的保存和处理。所有文件包含在WEB-INF\classes目录中
3.7.1 封装了数据库相关操作的bean(DB.java)
采用了Struts架构下提供的数据库连接池建立与数据库的连接,在该bean中通过构造方法建立与数据库的连接,并提供了相应的方法完成数据库中的查询、更新等操作,同时也提供了关闭数据库连接的方法,以便于及时释放资源。3-7-2 封装了图书住处处理的bean
(Book.java)
除声明了与图书基本数据相关的基本属性和方法之外,还提供了图书信息的查询显示处理相关的几个方法。其中在调用查询满足条件的图书信息方法时,需要提供查询的依据,例如,分类、按作者还是按书名,对应关键字等。
3.7.2 封装了图书分类信息处理的bean(BookCat.java)
除了声明了与图书分类数据相关的基本属性和方法之外,还提供了与图书分类信息查询及显示处理相关的几个方法。
3.7.3封装了图书查询及显示条件的bean(SearchStatus.java)
主要封装了设置图书搜索查询条件相关的属性和方法,该程序中的方法将在搜索图书信息的程序中被调用。
3.7.4封装了购物车信息处理的bean(ShopCart.java)
为了能够简化类的定义,考虑到购物车中所需要处理的图书基本信息与图书类型对象中封装的信息相同,只是需要再补充上购买数量即可,因此在定义该类时继承了图书信息类。
3.7.5封装了订单住处处理的bean(Order. java)
除声明了与订单中所需要处理的数据相关的基本属性和方法之外,还提供了与订单查询、插入及删除处理相关的几个方法。此外,也提供了计算该订单所涉及总金额的方法。
秦金磊网上书店系统
3.8 控制处理层
下表是网上书店系统中的Action映射表。该映射决定了 Action与其他Web组件之间的关联关系。作为前后台之间桥梁,本表中指明了每个Action的入口(即调用Action
该程序负责处理查询显示满足条件图书书目信息时提交的“bookSearch.do”请求
(2).PageCtrlAction.java
该程序负责处理分页显示图书书目信息时进行页面跳转时提交的“bookPage.do”请求。
(3).BookDetailAction.Java
该程序负责处理显示指定图书编号的对应图书详细信息时提交的“bookDetail.do”请求。
(4).BookBuyAction.java
该程序负责处理购买图书时提交的“bookBuy.do”请求。
(5).UpdateShopCartAction.java
程序负责处理修改购物数量,或者删除购物记录时提交的“updateShopCart.do”请求。
(6).ClearShopCartAction.java
该程序负责处理从购物车页面提交的清空购物车时的“clearShopCart.do”请求。
(7).LoginAction.java
该程序负责处理从用户登录页面提交的“login.do”请求。
(8).RegistAction.java
该程序负责处理从新用户注册页面提交的“regist.do”请求。
(9).AddrConfirmAction.java
该程序负责处理从订单处理页面提交的选择送货方式及付款方式的“addrConfirm.do”请求。
(10).OrderHistoryAction.java
该程序负责处理从确认订单页面提交查看所有订单信息的“orderHistory.do”请求。
数据库与信息管理课程设计
总结
本文讲述了Java/JSP/Struts在WEB应用的一些基本知识,并通过网上书店的程序对JSP的运用进行了深化,从本文中可看出JSP与Struts框架结合的模式,在电子商务上应用十分灵活,不过要真正掌握好它们却并不是一件容易的事情,在实际应用的WEB开发中,还有很多关于安全方面的问题需要考虑。在这里要感谢上海浦东软件园的培训部的江玮老师,他在我论文及设计的定题以及修改上给予了我很多的支持,对我论文的完成帮助很大。
参考资料
(1)JSP编程技巧/清宏计算机工作室编著. 北京:机械工业出版社,2010.1 (2)精通JBuilder 3环境下的JAVA编程/锐思创作室. 北京:人民邮电出版社., 2009.1 (3)深入JAVA Servlet 网络编程. 清华大学出版社
(4)Struts开发入门与项目实践. 北京:人民邮电出版社, 2010.8
秦金磊网上书店系统
课程设计成绩评定表
郑州华信学院
课程设计说明书
题目:
姓 名: 秦金磊
院 (系): 信息工程系
专业班级: 计算机科学与技术
学 号: 0801110164
指导教师: 杨杨
成 绩:
时间: 年 月 日至 年 月 日
数据库与信息管理课程设计
目录
摘 要 ......................................................................................................................................................2
第一章 研究背景,开发目标及可行性分析 ......................................................................................3
1.1研究背景 ................................................................... 3
第二章 JAVA的网络功能与编程 ...........................................................................................................3
2.1 JAVA语言简介 .............................................................. 3
2.3 JSP的基础——Servlet 技术 ................................................. 4
第三章 网上书店详细设计 ....................................................................................................................4
3.1 需求分析 .................................................................. 4
3.2 总体设计 .................................................................. 5
3.3 功能设计 .................................................................. 5
3.4数据库的需求分析 ........................................................... 6
3.5 网上书店基本流程 .......................................................... 6
3.6 网上书店各页面功能 ........................................................ 6
3.6.1 网上书店首页bookMain.jsp详细功能及描述 ................................................................6
3.6.2显示购物车信息bookShopCart.jsp页面详细功能及描述 .............................................7
3.6.3网上书店客户登录userLogin.jsp页面详细功能及描述 ...............................................8
3.7 业务逻辑层各bean功能 ..................................................... 9
3.7.1 封装了数据库相关操作的bean(DB.java) ...................................................................9
3.7.2 封装了图书分类信息处理的bean(BookCat.java) .....................................................9
3.7.3封装了图书查询及显示条件的bean(SearchStatus.java) ........................................9
3.7.4封装了购物车信息处理的bean(ShopCart.java) ........................................................9
3.7.5封装了订单住处处理的bean(Order. java) ................................................................9
3.8 控制处理层 ............................................................... 10
总结 ....................................................................................................................................................... 11
秦金磊网上书店系统
摘 要
JAVA语言是目前Internet上大型的WEB应用程序开发时使用得最热门的编程语言,本文描述了JAVA和JSP技术的特点以及在互联网上的使用情况,介绍这两种技术的重要编程方法和两者之关的联系,并完成一个基于这种技术的网上书店系统。 书籍交易网站就是Internet和电子商务发展的产物,近几年在我国发展迅猛,如同一些书店纷纷在各地开设分店以拉近书店与顾客间距离一样。随着现今全民素质和科学技术水平的不断提高,知识更新的越来越快,人们随时都会有被淘汰的危机,为了不让社会淘汰,做到与时俱进就必须多读书不断的学习,21世纪是网络的时代、信息的时代,时间是非常宝贵的,人们由于种种原因没有时间到书店去,也不知道哪家书店有自己需要的书籍,同时那些传统书店的经营者又没什么好的方法让人们知道我这就有顾客需要的书籍,这种买卖双方之间信息交流上的阻碍成为“网上书店”网站发展的原动力。
网上书店网站的建立可以更好的解决这方面的问题,我们向广大用户推出的是一种全新的网上信息服务,旨在书店与消费者之间架起了一座高速、便捷的网上信息桥梁,我们的目的是节省您的时间、方便您的购书,使您永远走在时代的前沿。
【关键字】JAVA, JavaBeans, Servlet, JSP, 网络编程, 电子商务, 网上书店
数据库与信息管理课程设计
第一章 研究背景,开发目标及可行性分析
1.1研究背景
随着全球经济一体化的逐步发展和深入,网上书店已成为传统书店必不可少的经营策略之一.目前,网上书店在国际互联网上可以实现的商务已经多样化,可以完成从最基本的信息展示、信息发布功能到在线交易、在线客户服务、在线网站管理功能等,可以说,传统书店所具备的功能几乎都可以在互联网上进行电子化的高效动作。虽然传统书店规模有所不同,随着网上交易的开展,都将有力地改变企业的发展空间,会对企业的竞争力产生不可忽视的影响。这些影响主要体现在以下方面。
开发目标
开发一套校园内网上购书系统,可以让顾客通过浏览器浏览网站售书目录,从而挑选自己满意的图书,并下订单购买。而网站后台人员需要维护网站会员信息、书籍信息以及订单信息。本系统的目的就是要开发一套既方便客户网上购书,又方便网站维护人员维护网站WEB服务系统。
可行性分析
开发一个本系统的开发可以解决企业人事管理遇到的耗费大量资金和人力,管理内容繁复,而且容易丢失的问题。本系统的开发周期为2个月,耗费资金较少,且实用价值很高,各类企事业单位及学校等部门都可以使用。
第二章 JAVA的网络功能与编程
2.1 JAVA语言简介
Java是一种简单易用、完全面向对象、具有平台无关性且安全可靠的主要面向Internet的开发工具。自从1995年正式问世以来,Java的快速发展已经让整个Web世界发生了翻天覆地的变化。在早期,Java比较多的用在浏览器上,插入到网页中(即是Java Applet程序),成为最灵活、最强大的网页多媒体的载体,但由于Java虚拟机相对于个人电脑而言,有占用资源大,安全性相对较差等缺点,Applet逐渐的被后起之秀Flash所替代,但随着Java Servlet的推出,Java在电子商务方面开始崭露头角,最新的JSP(Java Server Page)技术的推出,更是让Java成为基于Web的应用程序的首选开发工具,目前的Java技术已成为所有大型电子商务项目的必然选择。
2.2 JAVA语言在网络上的应用
Java程序可以获取网络上结点的图象、声音、HTML文档及文本等资源,并可以对获得的资源进行处理。例如Java程序可以每隔一定时间读取某结点提供的最新数据,
秦金磊网上书店系统
并以图表的形式显示出来。在编程处理上,一般先生成一个URL类型的对象,然后用 Java中相应的方法(method)获取该对象所代表的资源。
2.3 JSP的基础——Servlet 技术
Java Servlet是JSP技术的基础,JSP本身就是预先被编译成Servlet,然后再运行的,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成,Servlet这个名称大概源于Applet,现在国内的翻译方式很多,本文为了避免误会,本文直接采用Servlet这个名称而不做任何翻译,读者如果愿意,可以称之为“小服务程序”。Servlet其实和传统的CGI程序和ISAPI、NSAPI等Web程序开发工具的作用是相同的,在使用Java Servlet以后,用户不必再使用效率低下的CGI方式,也不必使用只能在某个固定Web服务器平台运行的API方式来动态生成Web页面。许多Web服务器都支持Servlet,即使不直接支持Servlet的Web服务器也可以通过附加的应用服务器和模块来支持Servlet。得益于Java的跨平台的特性,Servlet也是平台无关的,实际上,只要符合Java Servlet规范,Servlet是完全平台无关且是Web服务器无关的。由于Java Servlet内部是以线程方式提供服务,不必对于每个请求都启动一个进程,并且利用多线程机制可以同时为多个请求服务,因此Java Servlet效率非常高。但Java Servlet也不是没有缺点,和传统的CGI、ISAPI、NSAPI方式相同,Java Servlet是利用输出HTML语句来实现动态网页的,如果用Java Servlet来开发整个网站,动态部分和静态页面的整合过程简直就是一场噩梦。这就是为什么SUN还要推出Java Server Pages的原因。
第三章 网上书店详细设计
3.1 需求分析
网上书店系统主要是实现网上选书、购书、产生订单等功能的系统。一个典型的网上商城一般都需要实现商品信息的动态提示、购物车管理、客户信息注册登录管理、订单处理等模块。
根据网上书店的基本需求,本系统需要完成的具体任务如下:
(1).书图查询: 当客户进入网上书店时,应该在主页面中分类显示最新的书目信息,以供客户选择所需图书,同时也应该提供按照图书名称,或者作者信息快速查询所需书目信息的功能。
(2).购物车管理:当客户选择购买某图书产品时,应该能够将对应图书信息,如:价格、数量记录到对应的购物车中,并允许客户返回书目查询页面,选择其他商品,并添加到购物车中,当对应的购物订单生成后,应该能够自动清除以生成订单的购物车中的信息。
(3).订单处理:对应客户购买图书商品信息的需求,在确定了所购图书商品的价格、数量等信息后,提示用户选择对应的送货方式及付款方式,最终生成对应的订单记录,以便于网站配货人员依据订单信息进行后续的出货、送货的处理。
(4).会员注册:为了能够实现图书商品的购买,需要管理客户相关的联系方式、送货地点等相关的信息。
数据库与信息管理课程设计
3.2 总体设计
系统组成
下表中给出了构成网上书店系统的各个组件,通过下表,可以从宏观上了解各个组件的
3.3 功能设计
(1).图书信息管理
该模块实现图书书目信息的分类显示,也是提供图书信息依据书名及作者信息快速搜索的功能。此外,在用户选择了对应书目信息后,还可以显示出有关该图书的详细信息,以便于客户了解所购商品。
(2).购物车管理
用于维护每一个进入网上书店的客户对应的购物车。即将客户所选购的图书商品信息记录到对应的购物车中,以便于到收银台进行结账处理。
(3).会员注册
实现网上书店客户信息的注册、及身份验证。由于目前网上商城普遍采用的方式为送货上门或者邮寄,因此需要收集与客户相关的联系方式、通信地址等信息。
(4).订单处理
根据客户购物车中的信息,以及客户所选择的送货方式和付款方式,连同客户对应的个人信息生成订单,以便于后续进行送货处理。
秦金磊网上书店系统
3.4数据库的需求分析
依据网上书店的处理需求,对就数据表的设计及功能如下。
(1).图书基本信息表:存放网上书店所销售图书的基本信息。
(2).图书分类基本信息表:存放网上书店所提供图书分类的信息。
(3).客户基本信息表:存放书店客户的基本信息。
(4).订单信息表:存放与客户相关的订单的基本信息。
3.5 网上书店基本流程
网上书店在运行过程中页面的基本流程如下图:
3.6 网上书店各页面功能
3.6.1 网上书店首页bookMain.jsp详细功能及描述
(1).获取图书分类信息以及图书基本信息集合
数据库与信息管理课程设计
(2).循环显示图书分类信息
(3).提交显示指定分类图书信息的请求,同时传递对应图书分类编号
(4).提交书目搜索请求及搜索条件的表单
(5).提交搜索关键字的表单元素
(6).选择搜索条件的表单元素
(7).显示图书记录总数、当前页面编号以及总页数
(8).循环显示对应图书书目信息
(9).显示图书名称、价格、销售价格、作者信息
显示图书详细信息bookShow.jsp页面详细功能及描述
1.依据图书记录编号获取待显示详细信息的图书类型的对象 ○
2.分别显示该图书对象的详细信息 ○
3.显示图书封面图片、名称、详细介绍、价格、销售价格 ○
4.单击“购买”按钮后,将提交放入购物车的请求 ○
5.显示图书目录 ○
本页面是在控制器响应了网上书店主页提交的查看图书详细信息请求,“bookDeatial.do”请求后,跳转到的页面。在该页面中将获取到的指定图书详细信息显示出来,同时如果用户单击“购买”按钮,将提交“bookBuy.do?bookId=”请求,进行后续放入购物车的处理。
3.6.2显示购物车信息bookShopCart.jsp页面详细功能及描述
(1).获取该用户购物车中信息的集合
(2).提交更新购物车请求的表单
(3).循环显示购物车中的每一条购物记录信息
(4).设置购买数量的文本框
(5).显示图书销售价格
(6).显示图书总价
(7).从购物车中移除购买记录信息
(8).更新订单按钮
(9).提交继续购书请求的超链接
(10).提交结算付款请求的超链接
本页面是在用户选择购买某种图书商品后,进入的页面。在该页面中将显示该用户购物车中现有的所有购买需求记录。同时提供更新购物车的操作界面,例如,可以输入购买数量或者选择删除购买记录。单击“更新订单”按钮后,将提交“updateShopCart.do”请求,进行更新购物车信息的处理。此外,也可以单击“继续购书”按钮,提交“bookSearch.do”请求返回网上书店主页面继续购书,或者单击“清空购物车”按钮提交“clearShopCart.do”请求。同时,如果用户确认去收银台,则可以单击“结算付款”按钮跳转到“userLogin.jsp”页面进行用户登录。
秦金磊网上书店系统
3.6.3网上书店客户登录userLogin.jsp页面详细功能及描述
(1).提交用户登录请求,同时提交登录用户信息的表单
(2).提交登录用户用户名及密码的表单元素
(3).登录按钮
(4).提交新用户注册请求的超链接
本页面是客户在购物车页面单击“结算付款”按钮后跳转过来的页面,在该页面中,用户在表单中输入用户名及密码,单击“用户登录”按钮后,将提交“login.do”请求,以便于进行后续获取用户相关信息的处理,对于没有用户身份的新客户,可以在本页面中单击“新用户注册”按钮,跳转到“userRegister.jsp”页面进行用户注册。 网上书店客户注册userRegister.jsp页面详细功能及描述
(1).提交新用户注册请求,同时提交新用户注册信息的表单
(2).提交注册用户姓名、地址、电子邮件地址、电话、用户名、密码以及确认密码表单元素
(3).注册按钮
在本页面中注册用户可以在表单中输入对应的注册信息,在单击“注册”按钮后,将会提交“regist.do”请求,同时提交新用户的相关注册信息,以便于进行后续新用户注册的处理。
3.6.4 选择送货方式及付款方式orderAddress.jsp页面详细功能及描述
(1).获取客户信息
(2).提交选择送货方式及付款方式的表单
(3).显示客户信息、姓名、地址、电话、送货方式、付款方式
本页面是在用户登录通过后,跳转到的页面,在该页面中首先获取对应用户的客户资料,同时提供送货方式以及付款方式的选择,在用户单击“确认”按钮后,将提交“addrConfirm.do”请求,生成生续完整的订单信息。
确认订单信息orderConfirm.jsp页面详细功能及描述
(1).获取购物车信息集合
(2).获取订单信息、客户信息
(3).显示客户姓名、地址、电话
(4).显示购物车中的信息
(5).显示所购图书书名、数量、总价
(6).显示整张订单总价
(7).显示订单信息中的送货方式信息
(8).显示付款方式信息
(9).显示订单编号
(10).提交继续购书的请求
(11).提交查看该用户所有订单的请求
本页面中将全面显示该客户本次购物生成的详细订单信息,同时如果单击“继续购书”按钮将提交“bookSearch.do”请求返回网上书店主页面,如果单击“查看订单”按钮将提交“orderHistory.do”,跳转到“orderHistory.jsp”页面。
显示客户所有订单信息orderHistory.jsp页面详细功能及描述
(1).获取该用户所有历史订单信息
(2).显示订单信息信息列表
数据库与信息管理课程设计
(3).显示订单编号、时间、总价
(4).提交取消订单请求的超链接
(5).提交返回购书请求的超链接
本页面将显示与当前用户相关的所有订单信息。同时用户可以单击“取消此单”超链接提交“delOrder.do?orderId=”请求删除该订单信息,此外也可以单击“返回购书”按钮提交“bookSearch.do”请求跳转到网上书店主页面。
3.7 业务逻辑层各bean功能
在本系统的业务逻辑层中分别完成了对图书信息、图书分类信息、购物车信息、订单信息以及客户信息等类型对象的保存和处理。所有文件包含在WEB-INF\classes目录中
3.7.1 封装了数据库相关操作的bean(DB.java)
采用了Struts架构下提供的数据库连接池建立与数据库的连接,在该bean中通过构造方法建立与数据库的连接,并提供了相应的方法完成数据库中的查询、更新等操作,同时也提供了关闭数据库连接的方法,以便于及时释放资源。3-7-2 封装了图书住处处理的bean
(Book.java)
除声明了与图书基本数据相关的基本属性和方法之外,还提供了图书信息的查询显示处理相关的几个方法。其中在调用查询满足条件的图书信息方法时,需要提供查询的依据,例如,分类、按作者还是按书名,对应关键字等。
3.7.2 封装了图书分类信息处理的bean(BookCat.java)
除了声明了与图书分类数据相关的基本属性和方法之外,还提供了与图书分类信息查询及显示处理相关的几个方法。
3.7.3封装了图书查询及显示条件的bean(SearchStatus.java)
主要封装了设置图书搜索查询条件相关的属性和方法,该程序中的方法将在搜索图书信息的程序中被调用。
3.7.4封装了购物车信息处理的bean(ShopCart.java)
为了能够简化类的定义,考虑到购物车中所需要处理的图书基本信息与图书类型对象中封装的信息相同,只是需要再补充上购买数量即可,因此在定义该类时继承了图书信息类。
3.7.5封装了订单住处处理的bean(Order. java)
除声明了与订单中所需要处理的数据相关的基本属性和方法之外,还提供了与订单查询、插入及删除处理相关的几个方法。此外,也提供了计算该订单所涉及总金额的方法。
秦金磊网上书店系统
3.8 控制处理层
下表是网上书店系统中的Action映射表。该映射决定了 Action与其他Web组件之间的关联关系。作为前后台之间桥梁,本表中指明了每个Action的入口(即调用Action
该程序负责处理查询显示满足条件图书书目信息时提交的“bookSearch.do”请求
(2).PageCtrlAction.java
该程序负责处理分页显示图书书目信息时进行页面跳转时提交的“bookPage.do”请求。
(3).BookDetailAction.Java
该程序负责处理显示指定图书编号的对应图书详细信息时提交的“bookDetail.do”请求。
(4).BookBuyAction.java
该程序负责处理购买图书时提交的“bookBuy.do”请求。
(5).UpdateShopCartAction.java
程序负责处理修改购物数量,或者删除购物记录时提交的“updateShopCart.do”请求。
(6).ClearShopCartAction.java
该程序负责处理从购物车页面提交的清空购物车时的“clearShopCart.do”请求。
(7).LoginAction.java
该程序负责处理从用户登录页面提交的“login.do”请求。
(8).RegistAction.java
该程序负责处理从新用户注册页面提交的“regist.do”请求。
(9).AddrConfirmAction.java
该程序负责处理从订单处理页面提交的选择送货方式及付款方式的“addrConfirm.do”请求。
(10).OrderHistoryAction.java
该程序负责处理从确认订单页面提交查看所有订单信息的“orderHistory.do”请求。
数据库与信息管理课程设计
总结
本文讲述了Java/JSP/Struts在WEB应用的一些基本知识,并通过网上书店的程序对JSP的运用进行了深化,从本文中可看出JSP与Struts框架结合的模式,在电子商务上应用十分灵活,不过要真正掌握好它们却并不是一件容易的事情,在实际应用的WEB开发中,还有很多关于安全方面的问题需要考虑。在这里要感谢上海浦东软件园的培训部的江玮老师,他在我论文及设计的定题以及修改上给予了我很多的支持,对我论文的完成帮助很大。
参考资料
(1)JSP编程技巧/清宏计算机工作室编著. 北京:机械工业出版社,2010.1 (2)精通JBuilder 3环境下的JAVA编程/锐思创作室. 北京:人民邮电出版社., 2009.1 (3)深入JAVA Servlet 网络编程. 清华大学出版社
(4)Struts开发入门与项目实践. 北京:人民邮电出版社, 2010.8
秦金磊网上书店系统
课程设计成绩评定表