基于JSP的网上购物系统设计Word文件下载.docx
《基于JSP的网上购物系统设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于JSP的网上购物系统设计Word文件下载.docx(20页珍藏版)》请在冰豆网上搜索。
用JSP开发的Web应用程序是跨平台的,它不但可以在Windows下运行,也能在Linux以及其他各种版本的UNIX操作系统上运行。
这一点是ASP不具有的。
JSP将网页的逻辑功能设计与界面分离,同时它支持可重用的基于组件的设计以及它的跨平台特性,使Web应用变得简单,因此它在问世不长时间就超过了ASP和PHP,为许多大型网站所采用。
1.2系统设计的意义
首先本系统是基于JSP技术的网上购物系统,能够有效地将产品管理系统和网上订购系统有效地结合在一起,通过网站实现企业的在线交易来销售自己的产品,进一步扩大市场份额。
通过产品订购管理系统的网上交易,企业可以随时随地了解和掌握销售情况,实现产品销售统计分析同时又能有效地控制商场运营成本,开辟了一个新的销售渠道。
第2章系统概述
2.1JSP的技术原理
2.1.1JSP语言及其特点
在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。
JSP页面看上去象标准的HTML和XML页面,并附带有JSP引擎能够处理和抽取的额外元件。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给用户。
程序片段可以操作数据库、重新定向网页以及发送E-mail等,这就是建立动态网站所需要的功能。
所有程序都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低。
它基于强大的Java语言,具有良好的伸缩性,在网络数据库应用开发领域具有得天独厚的优势。
JSP技术在多个方面加速了动态Web页面的开发:
(1)将内容的生成和显示进行分离
使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。
使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的,例如请求帐户信息或者特定的一瓶酒的价格)。
生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。
如果核心逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。
在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBCTM技术访问数据库,或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。
这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。
(2)强调可重用的组件
绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者EnterpriseJavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。
开发人员能够共享
(3)采用标识简化页面开发
Web页面开发人员不会都是熟悉脚本语言的编程人员。
JavaServerPage技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。
标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。
通过开发定制化标识库,JSP技术是可以扩展的。
今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。
这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。
(4)JSP能提供所有Servlets功能
与Servlets相比,JSP能提供所有Servlets功能,它比用Println书写和修改HTML更方便。
可以更明确地进行分工,Web页面设计人员编写HTML,只需留出空间让Servlets程序员插入动态部分即可。
JSP技术能够支持高度复杂的基于Web的应用。
(5)健壮的存储管理和安全性
由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为JavaServlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。
(6)一次编写,各处运行
作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。
随着越来越多的供应商将JSP支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,更改工具或服务器并不影响当前的应用。
2.1.2Java及JavaServlets概述
JSP技术是用JAVA语言作为脚本语言的,谈及JSP技术,少不了要对JAVA技术进行一些基本的介绍。
Java是由SunMicrosystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。
用Java实现的HotJava浏览器(支持Javaapplet)显示了Java的魅力:
跨平台、动态的Web、Internet计算。
从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Javaapplet。
另一方面,Java技术也不断更新。
Servlet是一种独立于平台和协议的服务器端的Java应用程序,可以生成动态的Web页面。
它担当Web浏览器或其他HTTP客户程序发出请求,与HTTP服务器上的数据库或应用程序之间的中间层。
Servlet是位于Web服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。
2.1.3JavaBean简介
JavaBean是一种基于Java的软件组件,JavaBean和Active控件一样,可以通过封装业务逻辑建立一整套可重复利用的对象库。
JSP对于在Web应用中集成JavaBean组件提供了完善的支持,这种支持不仅能缩短开发时间(可以直接利用经过测试和可信任的已有组件),避免重复开发,也为JSP应用带来了更多的可伸缩性。
JavaBean组件可以用来执行复杂的计算任务,或负责与数据库的交互及数据提取等。
由于Java语言在这些方面所具有的特点和优势,使得基于它的软件JavaBean组件技术倍受人们关注。
它的任务就是:
一次编写,可以在任何地方执行,可以在任何地方重用。
JavaBean组件可以在任何地方重用包括了可以在应用程序、其他组件、文档、Web站点和应用程序构造器工具等多种方案中再利用。
为了创建和使用Java软件组件,JavaBean被实现为一种独立于平台和结构的应用程序接口,它的实现可以忽略内部的结构和细节问题,只需定义其外部的特征及对外功能就行。
其中,属性、方法和事件三种接口可以独立对外进行开发。
2.2相关服务器
2.2.1JDK的安装和配置
从官方网站下载该JDK后,进行默认安装,并进行相关的环境配置。
安装和配置完毕后,在“命令提示符”中输入javac,会出现如图2-1所示,则说明JDK安装和配置都是正确的。
图2-1javac调试界面
2.2.2Tomcat安装及配置
直接运行下载的apache-tomcat-5.5.17.exe文件,按照一般的Windows程序安装步骤即可安装好Tomcat,安装时它会自动寻找JDK的位置。
安装过程中需要选择一个文件夹作为Tomcat的安装目录。
安装完成以后,添加一个Tomcat的环境变量,添加方法和JDK的环境变量的添加方法相同。
有一点需要注意的是由于Oracle的服务器启动后会占用8080端口,而tomcat服务器用的也是8080端口,所以需要更改tomcat的端口号,方法如下:
到tomcat安装到的目录下找到conf文件夹,在里面找到context.xml,用记事本打开后找到不是在<
!
--***-->
下面的8080,把它改为其他端口即可,本项目改为8899;
设置完毕后就可以运行Tomcat服务器了。
Tomcat成功启动后,在浏览器中输入http:
//localhost:
8899,如果出现欢迎界面,则说明Tomcat安装成功。
欢迎界面如图2-2所示。
图2-2Tomcat欢迎界面
第3章系统需求分析及总体设计
3.1需求分析
作为一个网上购物系统.首先为了保证客户能够很方便的进行商品的选择,系统应该具有分类选择商品,查看热门商品,查看最高销量产品等功能,系统应该实现“购物车”的功能,用户可以把选中的商品放入“购物车”中,在选购完毕后再到“收银台”一起结账。
同时,为了及时宣传商家的各种优惠举措,系统还应该在首页显示购物网站最新的促销消息。
在系统的后台,管理员能够管理商品,商品分类,新闻,新闻类别以及客户购买订单。
为了更好进行服务,系统还应该支持用户投诉功能.因此可分析出网络商城主要功能包括:
(1)前台部分由用户使用,主要包括用户注册,购物车管理,订单管理,个人资料管理,留言板管理
(2)后台部分由管理员使用,主要包括管理员身份验证,商品管理,处理订单,用户信息管理,连接信息管理
设计的目标是实现一个功能较为强大的网络商城系统,该系统能够实现用户的注册,简便的商品寻找和查看,购物篮式的商品选购,收银台统一结算,用户订单投诉等功能,在系统的后台,管理员可以处理用户订单并配送获取,并可以对商品信息,商品类别,新闻,新闻类别,用户投诉等实现集中管理。
网络商城主要实现如下目标:
(1)采用最新技术架构:
B/S(浏览器/服务器)架构,实现真正的业务集中管理,零系统维护。
(2)人性化的设计:
程序设计充分考虑使用方便,界面友好。
(3)信息发布,方式多样。
(4)实现商品分类查询以及销售排行。
(5)为会员提供综合性,规范化服务。
(6)会员可随时查询自己的会员资料和修改个人信息。
(7)用户的订单规范化管理。
3.2系统功能模块设计
系统功能结构图如图3-1所示。
图3-1功能模块设计图
从图中可以看出,网上购物系统可以分为前台和后台两个部分,前台部分由用户使用,主要包括用户注册,生成订单,购物车管理,查看购物车,查看留言,订购产品,订单查询和发布留言7个模块;
后台部分由管理员使用,主要包括管理员身份验证,商品管理,处理订单,用户信息管理,连接信息管理5个模块。
3.3数据库需求分析
数据库的设计通常是以一个已经存在的数据库管理系统为基础的,常用的数据库管理系统有MYSQL,SQLServer,Oracle等。
我采用了Oracle10g数据库管理系统,建立一个用户名和密码都是ccut得用户。
整个系统功能需要以下数据项:
用户:
用户名称、登录密码、用户真实姓名、性别、邮箱地址、联系地址、联系电话、注册时间。
留言:
主题id、作者姓名、Email、主题名称、留言内容、发布时间。
商品:
商品id、名称、价格、图片路径、类型、简要介绍、存储地址、上传人姓名、发布时间、是否推荐。
订单:
订单号、用户名、订单日期、订单状态,总价。
订单项:
订单项号,订单号,商品号,数量。
管理员:
管理员id、管理员名称、管理员密码。
公告:
公告内容、公告时间。
第4章数据库结构设计
4.1数据库实现
4.1.1product_ccut(商品信息表)
主要用于保存商品的基本信息,该表的结构如表4-1所示
表4-1product_ccut(商品信息表)
列名
说明
类型(长度)
备注
Productid
物品id
Number(6)
不允许空,主键
productname
物品名称
Varchar2(70)
不允许空
price
物品价格
number(10,2)
type
物品类型
Varchar2(20)
intro
物品介绍
clob
image
图片路径
Varchar2(30)
4.1.2text_ccut(留言信息表)
主要用于记录留言信息,该表的结构如表4-2所示。
表4-2text_ccut(留言信息表)
字段
类型(长度)
备注
Textid
主题id
number(6)
Username
作者姓名
Varchar2(20)
Email
Varchar2(50)
Dattime
发布时间
Date(8)
Textname
主题名称
Textgut
留言内容
4.1.3user_ccut(用户注册信息表)
表4-3user_ccut(留言信息表)
用户名
主键,不允许空
password
密码
sex
性别
Varchar2
(2)
name
真实姓名
Phone
联系电话
Varchar2(12)
4.1.4manager_ccut(管理员信息表)
主要用于保存管理员信息,该表的结构如表4-4所示。
表4-4manager_ccut(管理员信息表)
Id
管理员id
Int(4)
Admin
管理员名称
Varchar(30)
Adminpass
管理员密码
Varchar(16)
4.1.5order_ccut(订单生成表)
主要用于保存会员订单信息,该表的结构如表4-5所示。
表4-5oder_ccut(订单生成表)
orderid
订单id
Varchar(50)
不允许空,主键
username
Varchar(50)
totalPrice
商品总价
Number(10,2)
orderDate
订单日期
Date
State
订单状态
4.1.6orderitem_ccut(订单项表)
主要用于记录某一订单表中所订购的商品的详细信息,该表的结构如表4-6所示。
表4-6orderitem_ccut(订单商品表)
orderitemid
订单项id
Number(6)
Orderid
不允许空,外键
商品id
Qty
商品数量
Number(5)
4.1.7Affiche_ccut(公告信息表)
主要用于记录后台添加的公告信息,该表的结构如表4-8所示。
表4-8Affiche_ccut(公告信息表)
Test
公告内容
Test(16)
公告时间
Dattime(8)
4.2用JSP连接数据库
在本系统中,需要多次连接数据库,而且这种连接是一项很消耗资源的操作,因此,在本系统中使用tomcat的链接池并且对数据库连接的部分写成了一个JavaBean以方便前期的测试工作。
第5章系统详细设计
5.1前台部分
前台部分由用户使用,包括用户注册,购物车管理,订单管理,个人资料管理等几个部分。
5.1.1前台总体框架
(1)模块功能介绍
用户管理:
为了便于网站的管理,必须有一套完整的用户管理体系。
该网站用户管理模块由用户注册,用户登陆,找回密码3部分组成。
订单查询:
登陆用户可以通过订单号查询订单。
购物车:
所选商品须通过购物车进行保存,然后生成订单。
修改个人资料:
为了保护用户信息不受非法侵害,用户登陆后即可对个人的注册信息进行修改。
留言板:
用户可以查看和添加留言信息。
(2)前台文件构架
本网上购物网站的前台文件结构如图5-1所示。
图5-1前台文件结构图
(3)网站前台首页的运行结果如图5-2所示。
图5-2购物网站首页
5.1.2用户管理模块
用户管理模块主要包括用户注册,登录及找回密码3个部分.
(1)用户注册
当用户第一次登录时首先要注册,成为会员后,才可以购买物品.用户可以通过单击首页的注册按键来打开注册页面进行会员注册操作,用户注册页面的运行结果如图5-3所示.
图5-3用户注册页面
<
scriptlanguage="
javascript"
>
if(form.pasa.value=="
"
)
{alert("
请输入你的用户名"
);
form.username.focus();
returnfalse;
}
if(form.password.value=="
){alert("
请输入确认密码"
form.password.focus();
returnfalse;
if(form.password.value!
=form.password.value){
alert("
你输入的两次密码不一致"
}}}<
/script>
为了便于管理网站对用户的管理,在index.htm用户注册页接收到的注册信息要经过严格的过滤,保证注册用户的唯一性,在提交表单后需要对数据表中的数据进行查询,如果没有找到,则在插入数据表时提示注册成功,否则提示用户以被占用,请重新注册,关键代码如下:
Stringuid=request.getParameter("
uid"
用户登录窗口设置在首页上,主要用来接收用户输入的用户名和密码,并更新用户在网站中的状态信息.会员登录窗口的运行结果如图5-4所示。
图5-4会员登录窗口
网站首页在用户第一次访问时会判断用户是否登录,未登录则显示用