1.国内有哪些好的超市超市程序java开源电子商城系统?
2.购物系统基于JAVA技术框架的产品
3.求一个ASP课程设计 网上购物系统 做过的朋友们拜托给发下 791419843@qq.com
国内有哪些好的java开源电子商城系统?
国内知名的开源电子商城系统丰富多样,其中几个颇受欢迎的购物购物有: 1. 分布式B2C商城 xbin-store 这是一个模仿国内知名B2C网站设计的分布式商城系统,基于Spring Boot、系统Dubbo、源码源码MVC、设计MyBatis、代码php复制统计源码Druid、超市超市程序Solr、购物购物Redis等技术构建,系统旨在提供一个高效、源码源码稳定、设计功能丰富的代码B2C电商解决方案。 2. Zscat-me 该项目是超市超市程序一个基于Spring Boot和Dubbo的全栈商城项目,集成了SSO登录、购物购物API网关、系统流量控制、自动CRUD、自动缓存、读写分离、分布式缓存、分布式定时任务、分布式锁、消息队列、事件机制、OAuth2.0登录、全文搜索、Qiniu文件服务、Dubbo集成等功能,提供了一个功能全面的电商平台。 3. 猫宁Morning公益商城 猫宁Morning公益商城是中国首个将传统公益商城互联网化的平台,具备B2C模式下的商城功能,包括注册、登录、商品浏览、购物车、订单管理、支付、评价、论坛等功能,同时后台提供用户管理、商品管理、订单管理、公告资讯管理等服务。 4. BDShop商城系统 BDShop是基于Spring Boot和Node.js的B2C电子商城系统,采用了前后端分离架构,旨在实现高效、灵活的电商解决方案。 5. Javashop-B2C 单店商城 Javashop-B2C基于Java技术构建,采用EOP(Enation Open Platform)框架,提供库存管理、订单流程、统计功能、支付方式等功能,易于扩展和定制,适合搭建稳定高效的B2C电商平台。 6. 小V铺微信开源商城 小V铺是完全免费的开源商城项目,支持HTML5+CSS3技术,提供商城源码、API和前端组件库,用户可以轻松定制和扩展,支持微信公众号、手机浏览器和朋友圈购物,通过域名能查到源码吗功能全面,适用于一站式电商解决方案。购物系统基于JAVA技术框架的产品
iMall:电子商务解决方案产品,基于jsp+mysql/jsp+oracle技术框架,提供全面的企业级电子商务支持。采用JAVA开发语言,应用顶尖国内电子商务技术架构。其大容量、跨平台、易扩展、可移植、安全稳定性高,标准页面设计,提供快速个性化定制,优化客户体验。所有功能模块经过验证,营销管理支持到位,使用简便。 iMall灵活配置系统功能和属性设置,适应各行各业,支持企业根据自身资源和需求寻找适合的电子商务运营模式。成熟的JAVA技术提供高安全基础,跨平台稳定运行,减少前期投入,平台易扩展,灵活性增强,延长使用寿命。 SHOP++:开源电子商务系统,应用于构建网上购物、网上交易、交易信息发布等系统,为企业提供安全、高效、强大的电子商务解决方案。定位于营销型、互动型、赢利型企业级网上商城系统,提供电子商务标准化、网络支付多样化、售后服务一体化等解决方案,帮助企业以最小的投入启动或扩展电子商务平台,构建网上商店,突破地域、成本、时间限制,拓展销售渠道,建立电子商务品牌价值。 博商:电子商务解决方案,成本低、部署周期短、功能完善、性能优越,是中小企业开展电子商务的理想选择。广泛应用在服装、化妆品、母婴、家纺家居、皮包等领域,无论外贸或内销、批发或零售,帮助企业快速构建专业网上商店,分时成交带实时资金源码轻松拓展网上业务。 JavaShop:使用Java语言开发,基于J2EE架构的商城系统,逻辑业务搭建在自主研发的TurboPortal平台上。具备优秀的负载性能、极快的响应速度、稳定的产品质量、牢固的安全特性、流畅的web流程控制、良好的跨平台特性和后续开发的可扩展性。 全网商城商业王国B2C系统:面向中小企业,基于多年实施大型电子商务项目经验研发,关注“提升销量”与“降低成本”的基础要点。提供全面卓越的贴心保障,邀请中小企业在中国B2C领域创造自己的商业王国。 JspShop:网络购物系统,基于Jsp/JavaBean模式,以其稳定性和优越的速度被全球企业证明为高效稳定的平台。这种平台具有“一次编写、到处运行”的优势,易于移植到不同平台,如Unix、Linux、Windows,降低企业更换平台时的成本,提高运算质量。扩展资料
购物系统又称网上商城管理系统、网店系统、购物车程序等,是一个建设网上商店的WEB程序。一般的购物系统多具备傻瓜性操作的特性,使得用户能给顺利的通过其轻松的搭建自己独立的网上电子商务平台。求一个ASP课程设计 网上购物系统 做过的朋友们拜托给发下 @qq.com
4.2 功能模块设计
层次模块结构是将系统划分为若干子系统,子系统下再划分为若干的模块。而模块是指具备有输入输出、逻辑功能、运行程序和内部数据四种属性的一组程序。在结构化系统设计中,模块一般都是按功能划分的,通常称为功能模块。合理的功能模块的划分能够极大限度地减少重复劳动、提高开发工作的效率并增大系统的可维护性。
以前面的系统分析为基础,将系统分为两大模块,即前台模块和后台模块。
网络购物中心的功能结构如图4.1所示。
图 4.1 网络购物中心功能结构图
4.2.1 前台模块的功能模块设计
前台模块主要为登陆网站的用户提供商品和服务的信息,填写并提交订单的服务。这样,将前台模块再细分为用户管理模块、订单查询模块、购物车模块、修改个人资料模块、留言板模块。顾名思义,这些模块的名称基本概括了它们的功能。下面详细说明一下这些功能模块的设计:
(1)用户管理模块:
为了方便于网站的管理,必须由一套完整的用户管理体系。该网站用户管理模块主要实现用户的注册、登录、找回密码3方面功能。中长线趋势买入指标源码
(2)购物车模块:
在超市购物,可以根据自己的需要将很多种商品挑选至购物车或购物篮中,然后到收银台结款。而在网上虚拟的商城中,当然没有办法使用真正的购物工具,因此,通常都会采用一种被称为“购物车”的技术来模拟现实生活。在网上商城中,所选商品须通过购物车进行暂存,然后生产订单。这种技术使用起来十分方便,不但可以随时添加、查看、修改、清空购物车中的内容,还可以随时去收银台结款。
(3)订单管理模块:
用户提交订单后,通过产生的订单号查询订单信息及执行状态。只需要根据用户录入的订单号在数据表中查询处对应的货品信息即可。
(4)个人资料管理模块:
用户资料修改时为用户更改个人信息所提供的窗口,为了保护用户信息部受非法侵害,用户只有登录网页后才有权限修改个人资料。
(5)留言板管理模块:
留言板是一个商务网站中不可缺少的组成部分,它可以增进用户与网站之间的交流。在现实网络开发中存在着各种各样的留言板,但它们都由基于浏览留言板及添加留言板2部分组成。
这样,子模块各自的内容基本设计好。下面可以设计如何将这些模块组织在一起,构成一个结构比较合理的前台了。除了在主页中建立面向其他模块的链接外,也要在其他模块中建立返回主页面的链接。另外各个模块间也应该互相链接起来。
4.2.2 后台管理模块的功能模块设计
后台管理模块的功能是对站内的资源进行管理和维护。以后台的业务流程分析和前台各个模块的设计为基础、根据用户的需求分析来确定后台管理模块应具有的功能。后台管理模块的各个子功能模块如下:
(1) 管理员身份验证模块:
为合法用户提供一个后台入口。该模块的功能是对管理员身份进行能够验证。用户输入登录ID和密码后,系统将判断登录ID及密码的有效性,如果通过验证则状态后台主页,反之则提示错误。
(2) 商品管理模块:
向商品表插入前台首页展示的商品信息,也就是添加商品信息的功能。
(3) 处理订单模块:
网站管理者对用户订单的执行和编辑状态。
(4) 用户信息管理模块:
查询注册所有用户,对一些非法或失信用户进行删除操作 。
(5) 公告信息管理模块:
网站向用户发布最新公告信息。
(6) 链接信息管理模块:
管理员向前台首页添加友情链接信息。
4.3 数据库设计
数据库是数据库应用程序的重要组成部分。一个设计结构合理的数据库对于应用程序的开发效率和程序的性能都是非常重要的。数据库的设计过程大致如下:
(1) 根据用户需求,确定数据库中要保存的数据信息。对用户需求进行分析时数据库设计的第一个阶段。不断的调查与研究用户需求,了解企业运作流程等系统需求,使设计概念模型的基础。
(2) 设计数据库的概念模型。概念模型是按用户的观点来对数据建模,使用与进行信息世界建模的工具。它对整个数据库的如何查看源码的版本信息设计具有深刻的影响。
(3) 逻辑结构设计。逻辑结构是把概念结构转化为与所采用的数据库管理系统所支持的数据模型相符合的过程。
(4) 数据库的实施和维护。
在设计好前台与后台的功能模块后,就开始进行数据库的设计了。根据网站系统的分析,数据库是整个网站的核心。从前台显示的信息到后台操作的对象,都是围绕数据库展开的。
4.3.1 E-R图
E-R图是一种概念模型。概念模型实际上是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模,是显示世界到信息世界的第一层抽象,使数据库设计人员进行数据库设计的有利工具,也是数据库设计人员和用户之间进行交流的语言,因此概念模型一方面应该具有较强的语义表达能力,能够方便、直接的表达应该用众的各种语义知识,另一方面他还应该简单、清晰并且易于用户理解[7]。以下是各个数据表的实体图。
(1)商品信息表tb_Ware的实体图
图 4.2 商品信息表tb_Ware的实体图
(2)用户信息表tb_User的实体图
图 4.3 用户信息表tb_User的实体图
(3)留言信息表tb_Text的实体图
图 4.4 留言信息表tb_Text的实体图
(4) 订单生成表tb_Sub的实体图
图 4.5 订单生成表tb_Sub的实体图
(5)订单商品表tb_Shop的实体图
图 4.6 订单商品表tb_Shop的实体图
(6)超级链接表tb_Link的实体图
图 4.7 超级链接表tb_Link的实体图
(7)管理员信息表tb_Admin的实体图
图 4.8 管理员信息表tb_Admin的实体图
(8)公告信息表tb_Affiche的实体图
图 4.9 公告信息表tb_Affiche的实体图
(9)总体E_R图
图 4. 总体E-R图
4.3.2 基本表设计
表的设计是这次设计的一个核心内容。根据前面对网站前台与后台功能模块的分析和对数据库中实体关系的设计,可以看到网站中所用到的数据信息基本包括:商品信息、用户信息、留言信息、订单信息、超级链接信息、管理员信息、公告信息等。下面是为数据库设计的表:
(1) 商品信息表tb_Ware
商品信息表tb_Ware用来保存商品的基础信息。结构如表4.1所示。
表4.1 tb_Ware的结构
字段名称 数据类型 长度 是否允许空 是否为主键 字段描述
Wareid Int 4 否 是 货物编号
Warename Varchar 否 否 货物名称
Wareprice Bigint 8 否 否 货物价格
Waretype Varchar 否 否 货物类型
Wareintro Text 否 否 货物介绍
Wareimage Varchar 否 否 路径
Wareif Int 4 否 否 是否推荐
Dattime Datetime 8 否 否 发布时间
(2) 用户信息表tb_User
用户信息表tb_User用来保存用户信息。表tb_User的结构如表4.2下。
表4.2 tb_User的结构
字段名称 数据类型 长度 是否允许空 是否为主键 字段描述
Userid Int 4 否 是 用户ID
Username Varchar 否 否 用户名
Rname Varchar 否 否 真实姓名
Userpass Varchar 否 否 用户密码
Email Varchar 否 否 Email
Address Varchar 否 否 用户地址
Photo Varchar 否 否 联系电话
Question Varchar 否 否 密码问题
Result Varchar 否 否 答案
Dattime Datetime 8 否 否 注册时间
(3) 留言信息表tb_Text
留言信息表tb_Text用来记录留言信息。表tb_Text的结构如表4.3所示。
表4.3 tb_Text的结构
字段名称 数据类型 长度 是否允许空 是否为主键 字段描述
Textid Int 4 否 是 主题ID
Username Varchar 否 否 作者姓名
Email Varchar 否 否 Email
Dattime Datetime 8 否 否 发布时间
Textname Varchar 否 否 主题名称
Textgut Text 否 否 留言内容
(4) 订单生成表tb_Sub
订单生成表tb_Sub用来记录新生成的订单。表tb_Sub的结构如表4.4所示。
表4.4 tb_Sub的结构
字段名称 数据类型 长度 是否允许空 是否为主键 字段描述
Sub Varchar 否 是 订单编号
Username Varchar 否 否 用户名
Rname Varchar 否 否 真实姓名
Spdate Datetime 8 否 否 订购日期
Email Varchar 否 否 Email
Address Varchar 否 否 地址
Post Varchar 否 否 邮编
Payment Char 否 否 付款方式
Photo Varchar 否 否
****Carry Varchar 否 否 运送方式
Spif Int 4 否 否 订单核对
Other Text 否 否 其它
(5) 订单商品表tb_Shop
订单商品表tb_Shop用来记录某一订单中所定购的商品的详细信息。表tb_Shop的结构如表4.5所示。
表4.5 tb_Shop的结构
字段名称 数据类型 长度 是否允许空 是否为主键 字段描述
Subid Varchar 否 否 订单id
Warename Varchar 否 否 货物名称
Price Bigint 8 否 否 货物价格
Wsum Bigint 8 否 否 货物数量
Wcount Bigint 8 否 否 统计
(6) 超级链接表tb_Link
超级链接表tb_Link主要用于记录调价的超级链接信息。表tb_Link的结构如表4.6所示。
表4.6 tb_Link的结构
字段名称 数据类型 长度 是否允许空 是否为主键 字段描述
Lname Varchar 否 否 链接名
Laddress Varchar 否 否 链接网址
Ldatetime Datetime 8 否 否 发布时间
(7) 管理员信息表tb_Admin
管理员信息表tb_Admin主要用于记录管理员的信息。表tb_Admin的结构如表4.7所示。
表4.7 tb_Admin的结构
字段名称 数据类型 长度 是否允许空 是否为主键 字段描述
Id Int 4 否 否 管理员ID
Admin Varchar 否 否 管理员名
Adminpass Varchar 否 否 管理员密码
(8) 公告信息表tb_Affiche
公告信息表tb_Affiche主要用于记录后台调价的公共信息。表tb_Affiche的结构如表4.8所示。
表4.8 tb_Affiche的结构
字段名称 数据类型 长度 是否允许空 是否为主键 字段描述
Test Text 否 否 公告内容
Dattime Datetime 8 否 否 公告时间
第5章 系统实现
在上一章着重讨论了系统各个模块功能的设计,并详细分析了每一个模块的功能。在本章将具体讨论如何实现功能模块,最终实现整个系统。经过这个阶段的设计工作,应该得出对目标系统的描述,从而在编码阶段可以把这个描述直接翻译成用JSP网页设计语言书写的程序。
5.1 程序设计
本系统设计的网站在设计过程中包含页面(HTML)的设计以及客户端验证机制(JavaScript)的设计。JavaScript也叫小脚本语言,他是一种非常流行的动态网页技术。他不仅能够实现网页的动态效果,而且能够在一定程度上检测网页的错误,从而在一定程度上实现网站的安全。本系统应用服务器端JSP动态网页技术,以及在Serverlet和JavaBean的可重用组件技术的支持下,结合客户端动态网页技术Javascript以及与HTML的无缝结合的设计,从而方便系统的实现[]。
5.2 系统页面的设计与实现
如果将网站比作一个人的话,服务器就像大脑,数据库就像五脏六腑,其内嵌的Java和JavaScript组合起来就像是细胞与神经,而网页就是这个人的皮肉。网页将网站的各个组成部分包裹起来,形成易懂并且美观的外表展示给大家。浏览者登陆网站后看到的就是一个个网页的组合。所以设计和实现每一个网页也是非常重要的工作。
随着科技的高速发展,众多网页制作的应用软件应运而生。相对于传统的动态网页开发工具而言,由于继承了Java语言的许多优点,用JSP开发动态网站十分方便,开发效率较高。此外,JSP还具有强大的组件(Java Bean)支持功能,可以方便地实现组件复用,进一步提高了开发效率。
在整个网页的制作过程中,都是结合使用HTML语言来实现设计的。系统的页面设计决定了网站的风格, 制作好的网站不仅提供给营销商,更多的要供浏览者浏览。所以整个网站系统应注重的是:易导航性、易操作性和友好的交互界面。因此,网站的设计最好要简洁、明了、格调清新、实用、易于使用和维护。在页面的风格上应保持统一,这里采用CSS样式表将所有页面的字体、字号、颜色以及超链接的样式做统一定义。
5.3 前台功能模块的实现
整个系统分为了前台功能模块和后台功能模块。下面详细讨论主要的几个功能模块的程序实现。在每个模块的介绍中,将具体说明一些涉及要点。
前台功能模块分为用户管理模块、订单查询模块、购物车模块、修改个人资料模块、留言板模块5个部分。前台首页主要有以下几个部分:
(1)网站导航:主要用户显示网站的旗帜广告、各功能模块导航;
(2)用户登录:用户在此注册、登录或找回密码;
(3)商品分类搜索:用户按商品类别进行搜索显示;
(4)销售排行榜:按照商品的销售数量显示销售排行信息;
(5)商品展示区:按后台添加商品的时间顺序展示商品;
(6)友情链接:显示友情链接信息;
(7)后台登录入口:管理员可以通过该入口登录后台。
首页运行结果如图5.1所示。
图 5.1 首页运行结果
5.3.1 用户管理模块
用户管理模块主要实现用户的注册、登录、找回密码等功能。
1、 用户注册
当用户第一次登录时首先要在网站上注册,成为会员用户才可以在网站上购物,注册页面必须填写一些用户的基本信息,如用户名、密码、联系电话等信息。要注意的是,在用户注册页面user/index.htm中用户自定义JavaScript检验用户注册信息不允许为空。
用户注册页面user/index.htm如图5.2所示。
图 5.2 用户注册页面运行结果
为了便于网站对用户的管理,在index.htm用户注册页面接收到的注册信息要经过严格的过滤,保证注册用户名的唯一性,在提交表单后需要对数据表中的数据进行查询,如果没有找到,则在插入数据表时提示注册成功,否则提示此用户已被占用请重新注册。
用户注册的流程图如图5.3所示。
图 5.3用户注册系统流程图
2、用户登录
用户登录窗口设置在首页上,主要用来接收用户录入的用户名及密码。单击“注册”按钮时,会提交到user/index.htm页面执行;单击“登录”按钮时,系统将对输入的用户名和密码进行验证,如果数据表中用户名和密码存在就显示登陆成功,并返回首页,否则弹出错误提示信息。
用户登录的流程图如图5.4所示。
图 5.4 用户登录系统流程图
3、找回密码
当密码以外丢失会给用户带来不必要的麻烦,重新注册一个新的用户即浪费了时间,也浪费网站的资源,如果用户只记住自己注册的用户名及电子邮箱名并提供密码提示的问题和答案就可以找回密码。找回密码页面user/pass.htm如图5.5所示。
图 5.5找回密码页面运行结果
用户单击“查找”按钮,系统会将伤表中所示的数据表单提交到user/res.jsp中。user/res.jsp页用来验证提交过来的四个条件是否完全符合数据库中的查找条件,只有符合才能显示密码结果,否则弹出“你输入信息有误”的提示对话框。
5.3.2 用户资料修改模块
用户资料修改时为用户更改个人信息所提供的窗口,用户只有登录网页后才有权限修改个人资料信息。
用户资料修改模块在前台主页的导航条上,单击“修改资料”链接,进入用户资料修改页面,该页面主要用户修改用户信息。用户资料修改页面如图5.6所示。
图 5.6 用户资料修改页面运行结果
个人信息修改完毕后,要将修改后的数据信息更新到注册数据表中,单击“修改”按钮,如果提交的数据无误,将弹出“数据更新成功”的消息对话框;否则将弹出“更新失败”的消息对话框。
用户资料修改模块流程图如图5.7所示。
图 5.7 用户资料修改模块流程图
5.3.3 购物车模块
购物车模块中,主要包含以下几个功能,即:添加购物车、查看购物车、生成订单和清空购物车。
购物车页运行结果如图5.8所示。
图 5.8 购物车页面运行结果
1、 添加购物车
添加购物车就是把用户选中的商品暂时存放在购物车中,当用户在前台首页中单击商品展示区的“购买”按钮时,系统会将该商品的详细信息展示在查看物品清单页面中。用户在单击物品清单页面下方的“放入购物车”链接,便可以将该商品放入购物车中。
添加商品的代码流程是从session中读取shop对象,如果为空则说明还没有进行购物或者已经清空了购物车,需要新建购物车对象;将商品名称与购物车列表中的商品名称对比,如果已经存在,则把商品数量加1。
在这段代码流程中,还使用了集合类型。集合类型在Java中又称为向量,是一元集合,可以加入重复数据,它的作用和数组相同,可以保存一系列数据,但集合类型也有它独特的优点,就是可以方便地对集合内的数据进行查找、增加、删除和修改等操作。
2、 查看购物车
为了方便用户随时查看购物情况,在网站的首页加入了查看购物车的链接,通过它可以将用户所有选中的商品信息放入购物车中显示出来。在程序中使用了一组文本框记录用户购买的商品数量,用户可以在文本框中输入想要购买的数量然购单击“修改”按钮。如果欲删除该商品,可以在数量文本框里输入“0”,并需要单击“修改”按钮来更新购物车中商品的数量。
系统每次只会将1个商品放入购物车中,如果用户需要多个同种商品,可以通过修改商品信息右侧相应文本框的值来完成。操作完成后需要通过单击“修改”按钮来保存操作。
3、 生成订单
生成订单时网上购物商城的最终目的,前面所有功能的实现都是为最后生成一个用户满意的订单作基础,在此要生成一个可供用户随时查询的订单号,还要保存用户订单中所购买的商品信息。当用户确认对购物车不再改变以后,就可以到收银台结帐并生成订单。结帐的流程为:从购物车中读取商品名称,商品数量,商品价格信息,生成一个唯一的订单号,同时也把用户注册的基本信息读取出来,形成一个完整的订单写入数据库。
在生成订单模块中主要使用了调出用户信息并生成唯一订单号,调出用户信息就是完全的对数据库进行操作,利用session对象把登录后的用户名保存起来,在订单生成时把保存的用户名从数据库的用户标中取出即可;生成唯一订单号方法有很多,只要确保订单号码的唯一性及方便用户记录以便于查询自己订单的执行状态即可。
订单生成后,用户单击“提交”按钮,便可以将录入的订单信息保存到数据库中。
4、 清空购物车
清空购物车是指当用户订单生成后,倘若还想继续购物一定要清空购物车再进行选购商品,这样防止重复购物,其实清空购物车实现起来非常简单,只需要将session中存储的shop对象清空即可。
购物车模块流程图如图5.9所示。
图 5.9购物车模块流程图
5.3.4 订单查询模块
用户提交订单后,通过产生的订单号查询订单信息及执行状态。用户在购物中心首页中单击“订单查询”超链接,就可以进入输入订单号页面,在页面的文本框中输入订单号并单击“提交”按钮,如果订单号输入无误,系统将根据用户录入的订单号在数据表中查询处对应的货品信息并转到订单查询显示页面将货品信息显示出来。
订单查询模块流程图如图5.所示。
图 5. 订单查询模块流程图
5.3.5 留言板模块
留言板模块由浏览留言板和添加留言板两部分组成。下面分别对这两部分进行介绍。
1、浏览留言板
单击网站首页的“留言板”超链接进入留言板页面,在该页面中,主要显示用户所填写的留言,以便其他用户查阅。
留言板中显示的数据是从数据表中检索出来并显示在网页中的,为了方便查看网页信息,使用了分页显示功能。对网页进行分页显示首先要确定记录跨度,就是每页所显示的记录数,在这个网站的留言板中,设定了int pagesize=4,即每页中只允许显示4条留言信息,用户可以通过单击“上一页”、“下一页”、“最后一页”、“第一页”或则从文本框中键入一个数值跳转到相应页浏览留言信息。
记录的总条数可以从数据库中通过查询语句rs.last();rowcount=rs.getRow得到,而计算总页数时,根据总页数=总记录数/跨度,如果除不尽就加1的原理,设计代码为:
pagecount=((rowcount%pagesize)==0?(rowcount/pagesize);(rowcount/pagesize)+1)。
如果获取文本框中的数据不为空就把它转换成整型数据,然后赋值给当前获取页再做进一步判断;如果获取的页数大于总页数就把总页数赋给获取页数,否则就把获取页数值赋为1。而计算当前记录数时,当前记录数=(获取页数-1)*跨度+1。代码如下所示。
int showpage=1;
if(topage!=null){
showpage=Integer.parseInt(topage);
if(showpage>pagecount){
showpage=pagecount;
}else if(showpage<=0){
showpage=1;
}
}
rs.absolute((showpage-1)*pagesize+1);
有了以上这几个关键变量,网页分页显示功能基本上已经实现了,下一步就是在当前记录数位置开始循环,当数据库没有记录的时候一定要终止循环程序。代码如下:
for(int i=1;i<=pagesize;i++){
……
if(!rs.next())
break;
}
2、添加留言
添加留言是用户与用户,以及用户与网站之间的一种交流模式,只有把用户想要表达的内容添加至数据库中,才能在浏览留言板中进行显示。
用户在留言板中单击“添加留言”超链接就可以打开添加留言页面,该页面主要用来提交用户输入的留言信息。用户在添加留言页中单击“提交”按钮,系统会将数据表单提交到admin/addle.jsp页,该页用来实现江留言内容存入到数据库中。
留言板模块的流程图如图5.所示。
图 5. 留言板模块流程图
5.4 后台功能模块的实现
后台功能只允许具有管理员权限的用户使用,它是实现前台功能的基础。后台包括管理员身份验证、添加商品模块、订单信息管理模块、查询用户信息管理模块、添加链接模块、公告信息管理模块。后台首页主要有以下几个部分。
(1)后台导航区:放置管理员可操作项目的链接;
(2)操作区:显示所有后台导航的链接信息。
5.4.1 管理员登录模块
在前台首页单击管理员入口,将转到管理员登录页面,该页面的功能是对管理员身份进行验证。在管理登录页面中,是通过JavaScript来实现录入数据完整性验证的。用户输入登录ID和密码后单击“登录”按钮时,如果录入数据完整性验证通过,系统会将数据提交到Acheck.jsp登录页面,该页面用来判断输入信息在数据库中tb_Admin表是否存在提交的用户名和密码,如果登录ID及密码有效,就保存用户名信息,管理员有权对网站进行维护;反之则提示错误。
登录页面如图5.所示。
图 5. 管理员登录页面运行结果
流程图如图5.所示。
图 5. 管理员登录系统流程图
5.4.2 添加商品模块
单击导航区中的“添加商品”超链接,系统将打开添加商品页面,该页面主要用于将商品信息添加到数据库中,以提供前台首页商品展示所需要的数据依据。用户单击“添加”按钮后添加商品如图5.所示。
图 5. 添加商品信息页面运行结果
为了减少人为错误,在提交商品信息时,需要对数据的合法性进行验证,输入的商品价格不能使字符型,而输入的只支持Gif格式等,这些任务由脚本语言JavaScript的函数check()来完成。代码如下。
function check(){
……
if(form1.image.value==""){
alert("请输入展示的路径");
form1.image.focus();
return false;
}
if(isNaN(form1.wareprice.value)){
alert("商品价格输入不正确");
form1.wareprice.focus();
return false;
}
为了确保商品在数据表中的唯一性,在用户提交表单时,需要先根据用户输入的商品名称对数据表进行查询,确保此商品在数据表中不存在后,方可执行插入操作。这一功能由admin/wcheck.jsp来完成。
流程图如图5.所示。
图 5. 添加商品信息模块流程图
5.4.3 订单信息管理模块
用户在前台购物所产生的订单并不能立即执行,需要系统管理员在后台进行订单信息管理审核以确认它的执行性。用户单击导航区中的“订单信息管理”超链接进入用户订单处理页面,该页面上会显示近期所有没被处理的订单。用户订单处理页面显示的是用户基本信息,要想知道订单中所涉及的商品,需要单击对应订单号的超链接打开商品订购详单页面才行。
商品订购详单主要通过提交的订单号从tb_Shop表中查询处对应的商品并显示在页面中,管理员审核后可通过复选框来设置订单是否执行。程序中利用admin/shop.jsp来完成这些功能。当选中“是/否”复选框时,系统会根据提交的订单号更新数据表,如果更新成功,则转到spif.jsp也执行。
流程图如图5.所示。
图 5. 订单信息管理模块流程图
5.4.4 查询用户信息模块
查询用户信息模块用来完成对注册用户的浏览及删除功能。如果用户蓄意性注册或者在很长时间内没有订单产生,管理员就可以将该用户信息删除。单击导航区中的“查询用户信息”超链接进入用户信息页面,就可以看到用户信息。在这一部分的设计中,也使用了分页显示功能。对于一些失信用户只需要单击右侧的“删除”超链接,即可转到admin/deluser.jsp页中做删除处理。
流程图如图5.所示。
图 5. 查询用户信息模块流程图
5.4.5 添加链接模块
用户在后台首页导航区中单击“添加链接”即可进入添加友情链接页面,该页面用户在前台显示友情链接信息。添加链接页面如图5.所示。
图 5. 添加链接页面运行结果
用户单击“提交”按钮后,系统将添加链接页面的数据表单提交admin/addlink.jsp页面处理。若添加失败,则提示故障信息,并返回页面。