基于JSP网上书店系统的设计与实现.docx
《基于JSP网上书店系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于JSP网上书店系统的设计与实现.docx(25页珍藏版)》请在冰豆网上搜索。
基于JSP网上书店系统的设计与实现
摘要
JAVA语言是目前Internet上大型的WEB应用程序开发时使用得最热门的编程语言,本文描述了JAVA和JSP技术的特点以及在互联网上的使用情况,介绍这两种技术的重要编程方法和两者之关的联系,并完成一个基于这种技术的网上书店系统。
[关键字]JAVA,JavaBeans,Servlet,JSP,网络编程,电子商务,网上书店
前言
随着计算机、网络、通信技术的发展和日益融合,以及Internet的普及应用,包括电子商务〔EC、视频会议、网上书店等在的一些应用已开始引起社会的关注,并逐步走进人们的日常生活。
JSP是Sun公司推出的一种开发技术,Sun公司借助自己在Java上的不凡造诣,又把人们引进JSP时代,JSP即JavaServerPage,它可以在Servlet和JavaBean的支持下,完成功能强大的Web应用程序。
所以,在我的毕业设计中,我采用了JSP作为开发工具,构建了一个能实现简单的电子商务的小型动态商务——网上书店销售系统。
通过这次的毕业设计,我了解了目前流行的动态商务的构成和运作原理,掌握了用JSP构建动态的相关知识和技术原理,锻炼了自己的动手实践能力。
在这次毕业设计过程中,我得到了指导老师杜雪平老师的悉心指导。
在此,我对你表示衷心的感!
第1章概述
1-1JAVA语言简介
Java是一种简单易用、完全面向对象、具有平台无关性且安全可靠的主要面向Internet的开发工具。
自从1995年正式问世以来,Java的快速发展已经让整个Web世界发生了翻天覆地的变化。
在早期,Java比较多的用在浏览器上,插入到网页中<即是JavaApplet程序>,成为最灵活、最强大的网页多媒体的载体,但由于Java虚拟机相对于个人电脑而言,有占用资源大,安全性相对较差等缺点,Applet逐渐的被后起之秀Flash所替代,但随着JavaServlet的推出,Java在电子商务方面开始崭露头角,最新的JSP技术的推出,更是让Java成为基于Web的应用程序的首选开发工具,目前的Java技术已成为所有大型电子商务项目的必然选择。
1-2开发背景
我国的网上书店虽然从数量上取得了一定的进展,但从售量而言却不尽人意,目前,国尚无一家在网上零售领域形成绝对领先优势的网上书店。
发展比较好的寥寥无几,比较成功的有当当书店〔.dangdang.。
伴随着电子商务技术的不断成熟,电子商务的功能也越来越强大,注册用户可以在网上搜索购买到自己想要的各种商品,初步让人们体会到了足不出户,便可随意购物的快感。
我的毕业设计也就正是一个电子商务系统的开发---网上商品销售系统。
第2章JAVA技术简介
2-1在Windows平台下配置JSP运行环境
为了使系统能够正常运行JSP和相关程序,必须先配置好能够使用JSP的WEB服务器。
各种能使用Servlet技术的WEB服务器中,运用得最多的是Tomcat服务器,如果仅是为了用于测试程序,Tomcat的配置则显得太复杂了,本文推荐使用Resin服务器,Resin据称是最快的Servlet运行平台,不过限于单站点,对传统的一些网关支持不是很好,因此对于商业而言,不是最好的选择,不过如果仅是为了测试Servlet,这个Resin的安装可谓有点傻瓜化。
Resin比较新的版本是3.x,但目前实际用的2.x版本的比较多,Resin可到官方站点下载:
.caucho./download/本文使用的是版本,文件位置:
如果你的电脑上已装好JDK,直接把下载的resin包解压到D:
盘根目录解压后即为服务器的目录,把本文的源程序jspweb文件夹也放在D:
盘根目录,即是D:
\jspweb为根目录,打开D:
\resin-2.1.13\conf\resin.conf〔是一份XML形式的配置文件,找到doc这里改为D:
\jspweb,然后运行D:
\resin-2.1.13\bin\httpd.exe,在浏览器输入localhost:
8080/j1.jsp,看到了"我是JSP!
"的字样了吧,你的Servlet服务器就这样配置成功了,为了能编译Servlet类,还需要做的事情是:
把D:
\resin-2.1.13\lib加入到windows的CLASSPATH的环境变量中。
2-2JSP、ASP和PHP技术之比较
JSP与ASP、PHP技术都是目前网上最流行的在服务器端运行的脚本技术,JSP能用JavaBeans技术封装,达到商业逻辑的目的,ASP对应之的是COM组件,因此两者都能用于开发商业逻辑,PHP则更像于一个纯脚本,仅适合于普通的开发,而不能用作商业逻辑而被冠以"PersonHomePage"的名称,这是最贴切不过的了。
JSP与ASP相比,JSP具有跨平台、安全、强大的可伸缩性的特点,而果硬要挑一些毛病,JSP相对别的脚本更加难掌握,因为精通JSP必须精通Java语言,对于中小型项目,我们要考虑开发人员、开发速度、开发成本等问题,在这方面ASP和PHP会比JSP更容易胜出。
值得一提的是,ASP的最新版本ASP.NET与原来的ASP性质完全是不同的,它和JSP一样,都是一种编译性的脚本,本身完全与强大的Net框架结合,完美的支持Xml的各种应用,与昔日的ASP不可同日而语,但是无论是ASP还是ASP.NET,它都摆脱不了Windows平台本身,这是ASP一个致命的缺点。
2-3JSP语法基础
2-3-1嵌入了JAVA语言的HTML文件
把下面网页保存为:
j1.jsp
这就成了一个最简单的JSP页面了,其中
是声明输出的文件类型为text/html,字符编码是gb2312,在JSP中里的容表示的是JSP编译时的一些选项或向客户端发送的头信息的JSP指令,里的容就是Java语言,如果有必要,更改适当设定,还可以使用javascript作为脚本,不过实际应用中很少有人这样做。
2-3-2request、out&response--与访问者的交互
接收客户端的请求和向客户端返回信息是动态网页最常做的事情,在JSP中,主要通过request、response、out三大对象实现这些功能。
request对象的作用是接收用户通过URL或通过表单向发服务器发送请求信息和与用户计算机相关的一些信息。
response对象用于网页传回用户端的回应。
out用于传送回应的输出,即向客户端返回信息。
把上面的例子稍作修改:
保存为j2.jsp在浏览器上输入:
"localhost:
8080/j1.jps?
msg=我是JSP"看一下效果,这和j1.jsp的结果一样吧?
但它输出的是客户端返回的信息,这在意义上完全不同于前者。
2-3-3session--保持访问者的会话状态
会话状态维持是Web应用开发者必须面对的问题。
有多种方法可以用来解决这个问题,如使用Cookies、隐藏的表单输入域,或直接将状态信息附加到URL中。
JavaServlet提供了一个在多个请求之间持续有效的会话对象,该对象允许用户存储和提取会话状态信息,JSP也置了这个对象。
Session最基本的用法是:
创建一个会话session.putValue<"名称","值">;
获得一个会话的值session.getValue<"名称">;
2-3-4JSP其它基本置对象
JSP有九大置对象,除了上述四种以外,还包括:
pageContext网页的属性是在这里管理
applicationServlet正在执行的容
configServlet的构架部件
pageJSP网页本身
exception针对错误网页,未捕捉的例外
这些基本的置对象是构成JSP页面的重要因子。
第3章系统设计
本系统采用三层架构设计,它的工作原理如图3-1所示。
图3-1三层架构模型
采用三层构架以后,用户界面层通过统一的接口向业务层发送请求,业务层按自己的逻辑规则将请求处理之后进行数据库操作,然后将数据库返回的数据封装成类的形式返回给用户界面层。
3.1数据库设计
数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率,以及实现的效果产生影响。
合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。
3.1.1数据库需求分析
针对一般在线书店的需求,得出如下需求信息。
▪用户分为游客和已注册用户。
▪订单分为单详细订单和总订单。
▪一个用户可以购买多本图书。
▪一个用户对应一订单。
▪一个列表对应多订单。
针对本系统功能分析,总结出如下的需求信息。
▪用户,包括数据项:
用户ID、用户名、密码。
▪图书,包括数据项:
图书编号、图书名、价格、图书介绍。
▪订单列表,包括数据项:
订单编号、图书编号、购书数量。
▪订单,包括数据项:
订单编号、用户编号、下单时间。
从本系统中规划出的实体有:
用户实体、图书实体、订单实体、订单列表实体。
订购
用户
订单列表
订单
图书
实体之间关系的E-R图如图3-5所示。
11N
N
图3-5实体关系E-R图
用户信息实体的E-R图如图3-6所示。
图书实体的E-R图如图3-7所示。
订单实体的E-R图如图3-8所示。
订单列表实体的E-R图如图3-9所示。
图书
图书编号
图书名称
分类编号
封面
图3-6图书实体E-R图
用户
用户名
密码
用户编号
E-mail
图3-7用户实体E-R图
订单
订单编号
用户编号
图书编号
订购数量
图3-8订单实体E-R图
订单列表
订单号
用户编号
图书编号
是否付款
图3-9订单列表实体E-R图
3.1.2数据库逻辑结构设计
在线书店数据库中各个表的设计结果如下面的标和所示。
表3.1为图书信息列表book。
表3.1图书信息表book
字段名
数据类型
长度
允许空
说明
ID
int
4
自动编号,主键
bookname
int
4
书名
bookclass
varchar
255
图书类别
author
varchar
100
yes
图书作者
publish
float
8
yes
bookNo
varchar
100
yes
书号
Content
text
16
yes
容介绍
price
tinyint
1
yes
价格
Amount
int
4
yes
总数量
Leav_number
int
4
yes
库存量
picture
int
4
yes
封面
reg_time
datetime
8
yes
入库时间
表3.2为用户信息列表shop_user。
表3.2用户信息表shop_user
字段名
数据类型
长度
允许空
说明
ID
int
4
自动编号,会员编号
username
varchar
4
no
用户名
password
varchar
100
no
密码
Names
int
4
yes
会员级别
Sex
varchar
50
yes
名字
Addr
varchar
50
yes
地址
Phone
varchar
25
yes
Post
varchar
25
yes
邮编
Email
varchar
25
yes
Retime
datetime
8
yes
注册时间
RegIpAddr
varchar
20
yes
注册ip
表3.3为订单表,记录订单信息ord