基于JSP的网上购物系统
作者姓名:赵俊
专业班级:2005050302 指导老师:冷小鹏
摘 要
伴随着Internet的蓬勃发展,网络购物中心作为电子商务的一种形式正以其高效、低成本的优势,逐步成为新兴的经营模式和理念,人们已经不再满足用途信息的浏览和发布,而是渴望着能够充分享受网络所带来的更加多的便利。网络购物正适应了当今社会快节奏地生活,使顾客足不出户便可以方便快捷轻松地选购自己喜欢的商品。
本系统便是尝试用JSP在网络上架构一个动态的电子商务网站,它是在Windows XP下,以SQL Server 2000为数据库开发平台,Tomcat网络信息服务作为应用服务器,采用JSP(Java Server Pages)技术开发的网上购物系统。他分前台部分和后台部分,前台部分由用户使用,主要包括用户注册,购物车管理,订单管理,个人资料管理,留言板管理等功能;后台部分由管理员使用,主要包括商品管理,处理订单,用户信息管理,链接信息管理等功能。
建立后的网站系统是一个动态、交互式、具有商品提供、系统管理、用户留言等功能的电子商务网站。
关键字:JSP;SQL server 2000;Tomcat;网上购物系统
成都理工大学毕业设计(论文)
Online Shopcart Based on JSP
Abstract:Along with the vigorous development of the Internet, e-commerce networks as a shopping center is a form of its highly efficient, low-cost advantages, gradually emerging as a business model and philosophy, there is no longer meet use and dissemination of information browsing, but a desire to bring the full enjoyment network more convenient. Internet shopping is being adapted to the fast pace of today's society to live, so that customers can enjoy the convenience of fast and easy way to purchase their own like commodities.
The system is trying to use JSP in a dynamic network of e-commerce websites structure, which is in Windows XP, SQL Server 2000 for database development in platform, Tomcat application server as a network information services, use JSP (Java Server Pages) technology development online shopping system. Prospects and the background of some of his hours, the prospects of users, including users registered, a shopping cart management, order management, personal information management, message board management functions; Background in part by managers, including commodity management, processing orders, customer information management, information management, and other functions links.
After the establishment of the website is a dynamic, interactive, with commodities, systems management, voice mail, and other functions of the e-commerce website users.
Keywords:JSP; SQL Server 2000;Tomcat;Online shopping system
成都理工大学毕业设计(论文)
目录
第1章 前言.................................................................................................................. 1 1.1系统设计的背景 .................................................................................................. 1 1.2系统设计的意义 .................................................................................................. 1 第2章 系统概述.......................................................................................................... 2 2.1 JSP的技术原理 ................................................................................................... 2 2.1.1 JSP语言及其特点......................................................................................... 2 2.1.2 Java及Java Servlets概述 ............................................................................ 3 2.1.3 JavaBean简介 ............................................................................................... 4 2.2 相关服务器 ......................................................................................................... 4 2.2.1JDK的安装和配置 ........................................................................................ 4 2.2.2 Tomcat安装及配置 ....................................................................................... 5 2.2.2 SQL Server 2000简介 ................................................................................... 6 第3章 系统需求分析及总体设计.............................................................................. 9 3.1 需求分析 ............................................................................................................. 9 3.2 系统功能模块设计 ........................................................................................... 10 3.3 数据库需求分析 ............................................................................................... 10 第4章 数据库结构设计............................................................................................ 12 4.1 数据库实现 ....................................................................................................... 12 4.1.1 tb_Goods (商品信息表) .............................................................................. 12 4.1.2 tb_text(留言信息表) .................................................................................... 12 4.1.3 tb_user(用户注册信息表) ...................................................................... 13 4.1.4 tb_manager(管理员信息表) ........................................................................ 13 4.1.5 tb_sub(订单生成表) .................................................................................... 13 4.1.6 tb_shop(订单商品表) .................................................................................. 14 4.1.7 tb_Link(超级链接表) .................................................................................. 14
成都理工大学毕业设计(论文)
4.1.8 tb_Affiche(公告信息表) .............................................................................. 15 4.2 用JSP连接数据库 ........................................................................................... 15 第5章 系统详细设计................................................................................................ 16 5.1 前台部分 ........................................................................................................... 16 5.1.1 前台总体框架............................................................................................. 16 5.1.2 用户管理模块............................................................................................. 17 5.1.3 用户资料修改............................................................................................. 19 5.1.4 购物车模块................................................................................................. 19 5.1.5 订单查询模块............................................................................................. 21 5.1.6 留言板模块................................................................................................. 22 5.2 后台部分 ........................................................................................................... 23 5.2.1 后台总体框架............................................................................................. 23 5.2.2 管理员登录................................................................................................. 24 5.2.3 添加商品..................................................................................................... 25 5.2.4 订单信息管理............................................................................................. 25 5.2.5 查询用户信息............................................................................................. 26 5.2.6 添加链接..................................................................................................... 26 第6章 系统测试和维护............................................................................................ 28 6.1 系统测试 ........................................................................................................... 28 6.2系统维护 ............................................................................................................ 29 结论.............................................................................................................................. 30 致谢.............................................................................................................................. 31 参考文献...................................................................................................................... 32
成都理工大学毕业设计(论文)
第1章 前言
1.1系统设计的背景
计算机软件技术的日新月异推动了社会信息化的进程,这也使得开发人员不得不学习新的技术以适应这种局面。在web应用领域,动态网页技术作为web系统开发的核心,越来越受到业内人士的青睐。目前主流动态网页技术主要是指ASP、PHP、和JSP。
JSP(java server pages,java服务器页面)是SUN MicroSystems公司于1999年末在企业Java工具集中加入的一个新元素,它建立在Java Servlet之上。其设计目的是使开发人员,甚至非开发人员都能够高效率地创建Web内容。在过去几年里,使用JSP技术的开发人员飞速增加,它已经变成Web开发的主流技术之一。
用JSP开发的Web应用程序是跨平台的,它不但可以在Windows下运行,也能在Linux以及其他各种版本的UNIX操作系统上运行。这一点是ASP不具有的。JSP将网页的逻辑功能设计与界面分离,同时它支持可重用的基于组件的设计以及它的跨平台特性,使Web应用变得简单,因此它在问世不长时间就超过了ASP和PHP,为许多大型网站所采用。
1.2系统设计的意义
首先本系统是基于JSP技术的网上购物系统,能够有效地将产品管理系统和网上订购系统有效地结合在一起,通过网站实现企业的在线交易来销售自己的产品,进一步扩大市场份额。通过产品订购管理系统的网上交易,企业可以随时随地了解和掌握销售情况,实现产品销售统计分析同时又能有效地控制商场运营成本,开辟了一个新的销售渠道。
1
成都理工大学毕业设计(论文)
第2章 系统概述
2.1 JSP的技术原理
2.1.1 JSP语言及其特点
在传统的网页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或者Enterprise
2
成都理工大学毕业设计(论文)
JavaBeansTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享
(3)采用标识简化页面开发
Web页面开发人员不会都是熟悉脚本语言的编程人员。JavaServer Page技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。
通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。
(4)JSP能提供所有Servlets功能
与Servlets相比,JSP能提供所有Servlets功能,它比用Println书写和修改HTML更方便。可以更明确地进行分工,Web页面设计人员编写HTML,只需留出空间让Servlets程序员插入动态部分即可。JSP技术能够支持高度复杂的基于Web的应用。
(5)健壮的存储管理和安全性
由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为Java Servlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。
(6)一次编写,各处运行
作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。随着越来越多的供应商将JSP支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,更改工具或服务器并不影响当前的应用。 2.1.2 Java及Java Servlets概述
JSP技术是用JAVA语言作为脚本语言的,谈及JSP技术,少不了要对JAVA技术进行一些基本的介绍。
Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。用Java实现的HotJava浏览
3
成都理工大学毕业设计(论文)
器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。另一方面,Java技术也不断更新。
Servlet是一种于平台和协议的服务器端的Java应用程序,可以生成动态的Web页面。 它担当Web浏览器或其他HTTP客户程序发出请求,与HTTP服务器上的数据库或应用程序之间的中间层。
Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。 2.1.3 JavaBean简介
JavaBean是一种基于Java的软件组件,JavaBean和Active控件一样,可以通过封装业务逻辑建立一整套可重复利用的对象库。JSP对于在Web应用中集成JavaBean组件提供了完善的支持,这种支持不仅能缩短开发时间(可以直接利用经过测试和可信任的已有组件),避免重复开发,也为JSP应用带来了更多的可伸缩性。JavaBean组件可以用来执行复杂的计算任务,或负责与数据库的交互及数据提取等。
由于Java语言在这些方面所具有的特点和优势,使得基于它的软件JavaBean组件技术倍受人们关注。它的任务就是:一次编写,可以在任何地方执行,可以在任何地方重用。JavaBean组件可以在任何地方重用包括了可以在应用程序、其他组件、文档、Web站点和应用程序构造器工具等多种方案中再利用。 为了创建和使用Java软件组件,JavaBean被实现为一种于平台和结构的应用程序接口,它的实现可以忽略内部的结构和细节问题,只需定义其外部的特征及对外功能就行。其中,属性、方法和事件三种接口可以对外进行开发。
2.2 相关服务器
2.2.1JDK的安装和配置
从官方网站http://java.sun.com下载该JDK后,进行默认安装,并进行相关
4
成都理工大学毕业设计(论文)
的环境配置。
安装和配置完毕后,在“命令提示符”中输入javac,会出现如图2-1所示,则说明JDK安装和配置都是正确的。
图2-1 javac调试界面
2.2.2 Tomcat安装及配置
直接运行下载的apache-tomcat-5.5.17.exe文件,按照一般的Windows程序安装步骤即可安装好Tomcat,安装时它会自动寻找JDK的位置。安装过程中需要选择一个文件夹作为Tomcat的安装目录。
安装完成以后,添加一个Tomcat的环境变量,添加方法和JDK的环境变量的添加方法相同。
设置完毕后就可以运行Tomcat服务器了。Tomcat成功启动后,在浏览器中输入http;//localhost;8080/,如果出现欢迎界面,则说明Tomcat安装成功。欢迎界面如图2-2所示。
图2-2 Tomcat欢迎界面
5
成都理工大学毕业设计(论文)
2.2.2 SQL Server 2000简介
SQL Server是由微软公司开发的一个大型的关系数据库系统,它为用户提供了一个安全,可靠,易管理和高端的客户/服务器数据库平台.
SQL Server 数据库的中心数据驻留在一个中心计算机上,该计算机被称为服务器.用户通过客户机的应用程序来访问服务器上的数据库,在被允许访问数据库之前, SQL Server首先对来访问的用户请求做安全验证,只有验证通过后才能够进行处理请求,并将结果返回给客户机应用程序.
SQL全称是“结构化查询语言(Structured Query Language)”,最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言,得到了广泛的应用。如今无论是像Oracle ,Sybase,Informix,SQL server这些大型的数据库管理系统,还是像Visual Foxporo,PowerBuilder这些微机上常用的数据库开发系统,都支持SQL语言作为查询语言。SQL已经成为关系型数据库普遍使用的标准,使用这种标准数据库语言对程序设计和数据库的维护都带来了极大的方便,广泛地应用于各种数据查询。
SQL语言的常用操作有:建立数据库数据表(CREATE TABLE);从数据库中筛选一个记录集(SELECT),这是最常用的一个语句,功能强大,能有效地对数据库中一个或多个数据表中的数据进行访问,并兼有排序、分组等功能;在数据表中添加一个记录(INSERT);删除符合条件的记录(DELETE);更改符合条件的记录(UPDATE)。 (1)SQL Server 2000
首先,要定义一个数据库名称(DSN)。打开“开始”|“设置”|“控制面板”|“管理工具“,在文件夹下有ODBC数据源的快捷方式。
在弹出的“ODBC数据源管理器”对话框中选择“系统DSN”选项卡,然后单击“添加”按纽,选择“SQL Server”为数据库驱动程序,单击“完成”按纽。如图2-3所示。
6
成都理工大学毕业设计(论文)
图2-3 创建新数据源
在弹出的“创建SQL Server的新数据源”对话框的“数据源名称”文本框输入“biye”,在“描述”文本框中可以写上数据库的功能。在“服务器”下拉列表中选择要连接的SQL Server,此处要安装的本地服务器,所以选择“XY”即可。如图2-4所示。
图2-4 选择数据库服务器
单击“下一步”按钮,选择“使用用户输入登录ID和密码的SQL Server验证”单选按钮,“登录ID”默认为“zzjj”,密码为空。如图2-5所示。
图2-5 SQL Server身份验证设置
单击“下一步”按钮,在下拉列表中选择该数据库的数据库为“毕业设计”,如图2-6所示。
图2-6 选择SQL数据库
7
成都理工大学毕业设计(论文)
单击“下一步”按钮,再单击“完成”按钮即可打开“ODBC Microsoft SQL Server 安装”对话框。如图2-7所示。
图2-7 测试数据源
8
成都理工大学毕业设计(论文)
第3章 系统需求分析及总体设计
3.1 需求分析
作为一个网上购物系统.首先为了保证客户能够很方便的进行商品的选择,系统应该具有分类选择商品,查看热门商品,查看最高销量产品等功能,系统应该实现“购物车”的功能,用户可以把选中的商品放入“购物车”中,在选购完毕后再到“收银台”一起结账。同时,为了及时宣传商家的各种优惠举措,系统还应该在首页显示购物网站最新的促销消息。在系统的后台,管理员能够管理商品,商品分类,新闻,新闻类别以及客户购买订单。为了更好进行服务,系统还应该支持用户投诉功能.因此可分析出网络商城主要功能包括:
(1)前台部分由用户使用,主要包括用户注册,购物车管理,订单管理,个人资料管理,留言板管理
(2)后台部分由管理员使用,主要包括管理员身份验证,商品管理,处理
订单,用户信息管理,连接信息管理
设计的目标是实现一个功能较为强大的网络商城系统,该系统能够实现用户的注册,简便的商品寻找和查看,购物篮式的商品选购,收银台统一结算,用户订单投诉等功能,在系统的后台,管理员可以处理用户订单并配送获取,并可以对商品信息,商品类别,新闻,新闻类别,用户投诉等实现集中管理。
网络商城主要实现如下目标:
(1) 采用最新技术架构:B/S(浏览器/服务器)架构,实现真正的业务集中管
理,零系统维护。
(2) 人性化的设计:程序设计充分考虑使用方便,界面友好。 (3) 信息发布,方式多样。
(4)实现商品分类查询以及销售排行。 (5) 为会员提供综合性,规范化服务。
(6) 会员可随时查询自己的会员资料和修改个人信息。 (7)用户的订单规范化管理。
9
成都理工大学毕业设计(论文)
3.2 系统功能模块设计
系统功能结构图如图3-1所示。
用 户管 理 购物车管理 订单管理 个人资料管理 留言板管理 管理员身份验证 商品管理 处理订单 用户信息管理 公告信息管理 链接信息管理 前台功能 后台功能 网上购物系统 图3-1 功能模块设计图
从图中可以看出,网上购物系统可以分为前台和后台两个部分,前台部分由用户使用,主要包括用户注册,生成订单,购物车管理,查看购物车,查看留言,订购产品,订单查询和发布留言7个模块;后台部分由管理员使用,主要包括管理员身份验证,商品管理,处理订单,用户信息管理,连接信息管理5个模块。
3.3 数据库需求分析
数据库的设计通常是以一个已经存在的数据库管理系统为基础的,常用的数据库管理系统有MYSQL,SQL Server, Oracle等。我采用了SQL server2000数据库管理系统,建立的数据库名为db_shopcart。
整个系统功能需要以下数据项:
用户:用户id、用户名称、登录密码、用户真实姓名、性别、邮箱地址、联系地址、联系电话、密码问题、答案、注册时间。
留言:主题id、作者姓名、Email、主题名称、留言内容、发布时间。 商品:商品id、名称、价格、图片路径、类型、简要介绍、存储地址、上传
10
成都理工大学毕业设计(论文)
人姓名、发布时间、是否推荐。
订单:订单号、用户名、真实姓名、订购日期、Email、地址、邮编、付款方式、联系方式、运送方式、订单核对、其他。 管理员:管理员id、管理员名称、管理员密码。 公告:公告内容、公告时间。
11
成都理工大学毕业设计(论文)
第4章 数据库结构设计
4.1 数据库实现
4.1.1 tb_Goods (商品信息表)
主要用于保存商品的基本信息,该表的结构如表4-1所示
表4-1 tb_Goods(商品信息表)
列 名 Goodsid Goodsname Goodsprice Goodstype Goodsintro Goodsimage Goodsif Dattime
说 明 物品id 物品名称 物品价格 物品类型 物品介绍 图片路径 是否推荐 发布时间
类 型 ( 长 度 ) Int (4) Varchar (50) Bigint (8) Varchar (20) Text (16) Varchar (50) Int (4) Dattime (8)
备 注 不允许空,主键 不允许空 不允许空 不允许空 不允许空 不允许空 不允许空 不允许空
4.1.2 tb_text(留言信息表)
主要用于记录留言信息,该表的结构如表4-2所示。
表4-2 tb_text(留言信息表)
字 段 Textid Username Email Dattime Textname Textgut
说 明 主题id 作者姓名 Email 发布时间 主题名称 留言内容
类型(长度) Int(4) Varchar(20) Varchar(50) Dattime(8) Varchar(50) Text (16)
备注
不允许空,主键 不允许空 不允许空 不允许空 不允许空 不允许空
12
成都理工大学毕业设计(论文)
4.1.3 tb_user(用户注册信息表)
表4-3 tb_user(留言信息表)
字 段 Uid Username Email question password gender
说 明 用户id 用户名 Email 提问问题 密码 性别
类型(长度) Int(4) Varchar(20) Varchar(50) Varchar(50) Varchar(50) Bit(1)
备注
不允许空,主键 不允许空 不允许空 不允许空 不允许空 不允许空
4.1.4 tb_manager(管理员信息表)
主要用于保存管理员信息,该表的结构如表4-4所示。
表4-4 tb_manager(管理员信息表)
字 段 Id Admin Adminpass
说 明 管理员id 管理员名称 管理员密码
类 型 ( 长 度 ) Int(4) Varchar(30) Varchar(16)
备 注 不允许空 不允许空 不允许空
4.1.5 tb_sub(订单生成表)
主要用于保存会员信息,该表的结构如表4-5所示。
13
成都理工大学毕业设计(论文) 表4-5 tb_sub(订单生成表)
字 段 Subid
说 明 订单id
类型(长度) Varchar(50) Varchar(50) Varchar(50) Bigint (8) Bigint (8) Varchar(50) Varchar(50) Varchar(50)
备注 不允许空 不允许空 不允许空 不允许空 不允许空 不允许空 不允许空 不允许空
username 用户名 Goodssum Tel Price Address Post Paytype
货物数量 电话 货物价格 送货地址 邮寄方式 付款方式
4.1.6 tb_shop(订单商品表)
主要用于记录某一订单表中所订购的商品的详细信息,该表的结构如表4-6所示。
表4-6 tb_shop(订单商品表)
字 段 Subid Goodsname Price Goodssum Goodscount
说 明 订单id 货物名称 货物价格 货物数量 统计
类型(长度) Varchar(50) Varchar(50) Bigint (8) Bigint (8) Bigint (8)
备注 不允许空 不允许空 不允许空 不允许空 不允许空
4.1.7 tb_Link(超级链接表)
主要用于记录添加的超级链接信息,该表的结构如表4-7所示。
表4-7 tb_Link(超级链接表)
字 段 Lname Laddress Ldatetime
说 明 链接名 链接地址 发布时间
14
类型(长度) Varchar(50) Varchar(50) Dattime(8)
备注 不允许空 不允许空 不允许空
成都理工大学毕业设计(论文)
4.1.8 tb_Affiche(公告信息表)
主要用于记录后台添加的公告信息,该表的结构如表4-8所示。
表4-8 tb_Affiche(公告信息表)
字 段 Test Dattime
说 明 公告内容 公告时间
类型(长度) Test(16) Dattime(8)
备注 不允许空 不允许空
4.2 用JSP连接数据库
在本系统中,需要多次连接数据库,而且这种连接是一项很消耗资源的操作,因此,在本系统中对数据库连接的部分写成了一个JavaBean。文件名为JDBConnection.java,关键代码如下: package com.zj.tool; import java.sql.*;
public class JDBConnection { private String dbDriver = \"com.microsoft.jdbc.sqlserver.SQLServerDriver\"; //数据库的驱动 private String url =
\"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_shopcart\"; // URL地址 public Connection connection = null; public JDBConnection() {
try { Class.forName(dbDriver).newInstance(); // 加载数据库驱动 connection = DriverManager.getConnection(url, \"sa\加载数据库 }
catch (Exception ex) { System.out.println(\"数据库加载失败\");}}}
15
成都理工大学毕业设计(论文)
第5章 系统详细设计
5.1 前台部分
前台部分由用户使用,包括用户注册,购物车管理,订单管理,个人资料管理等几个部分。 5.1.1 前台总体框架
(1)模块功能介绍
用户管理:为了便于网站的管理,必须有一套完整的用户管理体系。该网站用户管理模块由用户注册,用户登陆,找回密码3部分组成。
订单查询:登陆用户可以通过订单号查询订单。
购物车:所选商品须通过购物车进行保存,然后生成订单。
修改个人资料:为了保护用户信息不受非法侵害,用户登陆后即可对个人的注册信息进行修改。
留言板:用户可以查看和添加留言信息。 (2)前台文件构架
本网上购物网站的前台文件结构如图5-1所示。 订单查询页面 订单查询 添加留言板 留言信息验证 网站导航 购物车 修改用户资料 留言板 左侧导航 商品展示 后台入口 前台首页 用户注册 查看物品清单 用户注册信息 查看购物车 清空购物车 修改 添写订单 图5-1 前台文件结构图
16
成都理工大学毕业设计(论文)
(3)网站前台首页的运行结果如图5-2所示。
图5-2 购物网站首页
5.1.2 用户管理模块
用户管理模块主要包括用户注册,登录及找回密码3个部分. (1)用户注册
当用户第一次登录时首先要注册,成为会员后,才可以购买物品.用户可以通过单击首页的注册按键来打开注册页面进行会员注册操作,用户注册页面的运行结果如图5-3所示.
图5-3 用户注册页面
为了便于管理网站对用户的管理,在index.htm 用户注册页接收到的注册信息要经过严格的过滤,保证注册用户的唯一性,在提交表单后需要对数据表中的数据进行查询,如果没有找到,则在插入数据表时提示注册成功,否则提示用
17
成都理工大学毕业设计(论文)
户以被占用,请重新注册,关键代码如下:
String uid=request.getParameter(\"uid\");
用户登录窗口设置在首页上,主要用来接收用户输入的用户名和密码,并更新用户在网站中的状态信息. 会员登录窗口的运行结果如图5-4所示。
图5-4 会员登录窗口
网站首页在用户第一次访问时会判断用户是否登录,未登录则显示用户登录窗口,提示用户登录或注册.对于已经登录的用户,在用户登录窗口将显示用户的相关信息.
首页主要是根据保存用户名信息的Session参数来判断用户是否已经登录的,关键代码如下:
String name=(String)session.getAttribute(\"name\");
在会员登录窗口中单击登录按纽后,系统将对用户名和密码进行验证,判断用户是否是已注册用户,如果已注册,则更新用户在网站中的状态,如果没 有注册,则拒绝用户的登录操作,登录数据验证的程序代码如下:
JDBConnection con=new JDBConnection();
where Username='\"+username+\"' and Userpass='\"+password+\"'\"; ResultSet rs=con.executeQuery(sql); if(rs.next()){
session.setAttribute(\"username\session.setAttribute(\"password\ }
(3)找回密码
当密码意外丢失,会给用户带来不必要麻烦,重新注册一个新的用户,浪费了新得用户的时间,也浪费了网站的资源,如果用户只记住自己的用户名和电子邮箱名,并提供密码提示的问题和答案,就可以找回密码。运行结果如图5-5所示。
18
成都理工大学毕业设计(论文)
图5-5 找回密码页面
用户单击查找按钮,系统会将表的数据提交到user/res.jsp 中。user/res.jsp 页用来验证提交过来的4个条件,是否完全符合数据库中的查询条件。只有符合才能显示密码结果,否则弹出“你输入的信息有误”的提示对话框。关键代码如下: String username=request.getParameter(\"username\"); String email=request.getParameter(“email”);
String sql=”select from user where Username='\"+username+\"' and Email='\"+email+\"'\";” ResultSet rs=con.executeQuery(sql);
if(rs.next()){ =rs.getString(“password”) }
5.1.3 用户资料修改
用户资料修改在前台主页上,单击“修改资料”链接,进入用户修改资料页面,该页面主要用于修改用户信息,其运行结果如图5-6所示。
图5-6 修改用户信息
个人资料修改完毕后,要将修改后的数据信息更新注册到数据表中,单击“修改”按钮,如果提交的数据无误,将弹出“数据更新成功”消息对话框:否则将弹出“更新失败”的消息对话框。结果展示页面的关键代码如下: if(session.getAttribute(\"username\")==null){if(rs.next()){ …… } } 5.1.4 购物车模块
在超市购物,可以根据自己的需要将很多的物品挑选到购物车(篮)中。而在网上虚拟的购物商城中,通常都会采用一种被称做“购物车”的技术来模拟现实
19
成都理工大学毕业设计(论文)
生活。这种技术用起来十分方便,不但可以随时添加,查看,修改,清空购物车中的内容,还可以随时去收银台结帐。
(1)添加购物车
添加购物车就是把用户选中的商品放在购物车中。当用户在前台首页中单击商品展示区的“购买”按钮时,系统会将该商品的详细信息展示在查看物品清单页中,运行结果如下图5-7所示。
图5-7 查看物品清单页面运行结果
用户在单击物品清单页面下方的“放入购物车”链接,便可将商品放入购物车,关键代码如下:
Str chr=new Str(); if(session.getAttribute(\"username\")==null){ …… } (2)查看购物车
为了方便用户随时查看购物情况,在网站的首页加入了查看购物车链接,通过它可以将所选物品信息放入购物车中显示出来。查看购物车页面运行结果如下图5-8所示。
图5-8 购物车在网页中运行结果
在程序中笔者使用一组文本框记录用户购买的商品数量,用户可以在文本框中输入想要购买的数量然后单击修改按钮。如果要删除物品,可以在数量文本框里输入“0”,并单击修改按钮来更新购物车中商品的数量。
(3)生成订单
生成订单是网上购物商城的最终目的,前面的所有的功能的实现都是为最后生成一个用户满意的订单做基础,在此要生成一个可以供用户随时查询订单号,还要保存用户订单中所购买的商品信息。当用户确认对购物车不再改变后,就可
20
成都理工大学毕业设计(论文)
以到收银台结帐并生成订单。结帐的流程是:从购物车中读取商品名称,商品数量,商品价格信息,生成唯一的一个订单号,同时也把用户注册的基本信息读取出来,形成一个完整的订单写入数据库中,结帐填写订单的页面如下图5-9所示。
图5-9 购物车在网页中运行结果
在生成订单模块中主要使用了调出用户信息并生成唯一订单号,调出用户信息就是完全的对数据库进行操作,利用session 对象把登陆后的用户名保存起来,在订单生成时把保存的用户名从数据库的用户表中取出即可。以下代码段sub/index.jsp 是关键代码:
String buy=request.getParameter(\"buy\"); if(buy!=null&&buy.equals(\"查看\")){ response.sendRedirect(\"look.jsp\"); } else if(buy!=null&&buy.equals(\"购买\")){ response.sendRedirect(\"order.jsp\"); } (4)清空购物车
清空购物车是指当用户订单生成后,倘若还想继续购物,一定要清空购物车在进行选购商品,这样防止重复购物。清空购物车只需要将session 中存储的shop 对象清空即可。此功能是由user/putin.jsp 完成的,关键代码如下:
Vector newshop=new Vector(); session.removeAttribute(\"shop\"); 5.1.5 订单查询模块
用户提交订单后,通常产生的订单号查询信息及执行状态。用户在网站首页中单击“订单查询”超链接,进入输入订单号页面,运行结果如图5-10所示。
21
成都理工大学毕业设计(论文)
图5-10 订单号页面
在文本框中输入订单号并单击提交的按钮,如果订单号输入无误,系统将根据定单号转到订单查询显示页面,运行结果如下图5-11所示。
图5-11 订单查询页面
该方法实现非常简单,只需要根据用户录入的订单号在数据表中查询出对应的货品信息即可,关键代码如下:
int spif=0; String subid=request.getParameter(\"subid\"); String sql=\"select * from tb_Shop where Subid='\"+subid+\"'\"; sum=sum+price; if(!rs.next()){ …… }
5.1.6 留言板模块
留言板是一个商务网站中不可少的一部分,他可以增进用户与网站之间的交流。添加留言是用户与用户,以及用户与网站之间的一种交流模式,只有把用户想要表达的内容添加到数据库中,才能在浏览留言板中显示。
用户在留言板中单击“添加留言”超链接就可以打开添加留言页面,该页面用来提交用户输入的留言信息,留言信息写好后,可以点击提交按钮,显示提交成功,若点击浏览留言,可打开留言板页面,该页面显示所有用户的留言,时间最近的排在最前面。
运行结果如图5-12所示。
22
成都理工大学毕业设计(论文)
图5-12 留言板页面
用户在添加留言页中单击提交按钮,系统将数据表提交到admin/addlea.jsp 页,该页用来实现将留言内容存入数据库中,关键代码如下:
String username=request.getParameter(\"username\"); int temp=con.executeUpdate(sql);
5.2 后台部分
5.2.1 后台总体框架
后台功能只允许具有管理员权限的用户使用,它是实现前台功能的基础。主要包括管理员身份验证,订单信息管理模块,添加商品模块,查询用户信息管理模块,添加链接模块,公告信息管理模块组成
后台功能介绍 (1)功能模块介绍
管理员身份验证:为合法用户提供一个后台入口。
订单信息管理模块:网站管理者对用户订单的执行和编辑状态。 添加商品模块:向商品表插入前台首页展示的商品信息。
查询用户信息管理模块:查询注册所有用户,对一些非法或失信用户进行删除操作。
添加链接模块:管理员向前台首页添加友情链接信息。 公告信息管理模块:网站向用户发送最新公告信息。 (2)后台文件结构
网站后台文件结构,如图5-13所示。
23
成都理工大学毕业设计(论文)
左侧导航 后台首页 后台头部 后台中部
图5-13 后台文件结构图
显示查询 删除用户订单 添加商品 订单信息管理 添加超级链接 用户信息管理 添加公告信息 执行订单状态 删除用户 公告处理 (3)后台首页运行结果
网站后台首页运行结果,如图5-14所示。
图5-14 后台首页图
5.2.2 管理员登录
在前台首页单击管理员入口,将转到管理员登录页面。该页面的功能是对管理员身份验证,用户输入用户名和密码后单击“登录”按键,系统将判断用户名和密码的有效性,如果通过验证则转到后台首页,反之则提示错误。管理员登录页面的运行结果如图5-15所示。
图5-15 管理员图
在管理员登录页面中,对管理员的身份进行验证,关键代码如下: String login=request.getParameter(\"login\"); response.sendRedirect(\"index.htm\");
24
成都理工大学毕业设计(论文)
5.2.3 添加商品
单击导航区的“添加商品”超链接,系统将打开添加商品页面,该页面主要用于商品信息添加到数据库表中,以提供前台首页商品展示类别展示所需要的数据依据。目录添加页面的运行结果如图5-16所示。
图5-16添加商品页面
为了确保信息在数据表中的唯一性,在用户提交表单时,需要先根据用户输入的商品名称对数据表进行查询,确保此商品在数据表中不存在后,方可进行添加操作。在程序中与此功能对应的页为admin/gcheck.jsp ,关键代码如下: Date date=new Date();
e=\"+goodsname+\"; ResultSet rs=con.executeQuery(sql); 5.2.4 订单信息管理
用户在前台购物所产生的订单不能立即执行需要系统管理员在后台订单,运行结果如图5-17所示。信息管理审核确认它执行性。用户单击导航拦中的“订单信息管理”超链接进入用户订单处理页面,该页面是会显示进期所没有被处理的订单,其运行结果如图5-17所示:
图5-17 用户订单处理界面
用户订单处理页面显示的是用户的基本信息。要知道订单中所涉及的商品,需要单击对应的订单号的超链接打开商品订购祥单页才行。商品订购祥单的运行结果如图5-18所示。
25
成都理工大学毕业设计(论文)
图5-18 商品详细订购界面
商品订购祥单主要通过提交的订单号从tb-shop表中查询出对应的商品显示在页面中,管理员审核后可通过复选框来设置订单是否执。
当选中“是/否”复选框时,系统会根据提交的订单号更新数据表。如果没有更新成功,将转到spif.jsp页执行。关键代码如下:
Copyright © 2019- xiaozhentang.com 版权所有 湘ICP备2023022495号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务