jsp汽车配件销售系统sqlserver

演示视频:

3.1 系统设计思想

3.1.1 页面模块化

把页面中一些常用的部分集成为模块,例如页面的头部、尾部和数据库连接文件,这样设计新的页面时如果有重复出现的部分,只需要拿现成的模块来组装就可以了。

在本系统中,将数据库连接存入conndb.JSP文件中,当需要数据库连接时,只要用Include语句包含此文件即可。

另外系统页面结构定义在一个模板文件template.JSP中,在这个文件中可以看到系统中基本的页面组成结构。只要在此模板页面中的特定位置加上实现某种功能的页面代码,此页就会成为一个具有特定功能的 完整的页面。例如ProductDetail.JSP文件是在template.JSP文件中加入了下面一行代码而具备了显示商品详细信息的功能。

call ShowProduct(RealSruing(Request.QUERYstring("id")))

3.1.2 注重安全性

1)不要把Sql 2000数据库放在网站内部

不要把Sql 2000数据库文件放在网站结构内部,这样,当恶意人士获取数据库路径后,就可以轻易获取该数据库,进而肆意更改数据库内容。比较好的做法是,使用SQL 2000数据库或Oracle数据库,或者将Sql 2000数据库文件放在网站虚拟目录以外。

2)过滤字符串中的单引号

当用字符串来组织SQL语句时,最重要的一个问题就是过滤字符串中的单引号,因为SQL语句中的字符是以单引号为分界的,例如下面的语句,在执行时就会出错:

strName="I'm Hacker"

strSQL="SELECT*FROM User WHERE[Name]='"&strName&"'"

conn.Execute strSQL

这样,在实际执行过程中最终SQL语句如下:

SELECT*FROM User WHERE [Name]=‘I'm Hacker'

由于在“I‘m Hacker”中包含一个单引号“’”,这样系统会认为在字母“I”后面已经结束,但后面仍有字符,于是就会提示语法错误。因此需要将单引号过滤掉,或者替换为两个单引号(在SQL语法中用两个单引号表示一个单引号),只要使用VBScript中的Replace函数就可以达到目的。

3.1.3 代码的复用

本系统中使用了很好的代码复用机制,即在开发中尽量使用本系统中已经使用过的代码,以及使用以前项目积累的代码,如分页、检查E-mail的函数和上传类。

3.2 系统开发所用的技术

3.2.1 JSP技术

JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。

JSP是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态技术标准。在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标签,就构成了JSP网页java程序片段可以操纵数据库、重新定向网页以及发送E-mail等,实现建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支Java,也可以访问JSP网页。

JSP全名为java server page,其根本是一个简化的Servlet设计,他实现了Html语法中的java扩张(以 <%, %>形式)。JSP与Servlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户端。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。 

JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。

自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。

3.2.2 Tomcat管理器

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器。Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP规范总是能在Tomcat 中得到体现。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。

Tomcat 是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场

合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。

这里的诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。

3.2.3 SQL数据库

任何稍大的Web应用程序,都离不开数据库的支持,数据库一直以来都是Web开发中的一个重要组成部分。Web数据库采用三层或多层体系结构,前端采用浏览器技术,通过Web服务器和中间件访问数据库,如图4所示。

浏览器

Web服务器

CGI接口

ISAPI

JDBC

。。。

数据库

HTML文档

HTML

SQL

结果

Internet

图4 网络数据库

SQLServer是大型关系型数据库管理系统(RDBMS)。它在电子商务、数据仓库、和数据库解决方案等应用中起着重要的重要作用,为企业的数据管理提供有力的支持,对数据库中的数据提供有效的管理,并采用有效的措施实现数据的完整性及数据的安全性。 SQLServer是一个应用较为广泛的Web数据库,它是微软公司开发的一个关系型数据库管理系统,功能强大、操作简便,日益为广大数据库用户所喜爱,越来越多的开发工具提供了与 SQLServer的接口。SQLServer2005是其己经发布的最为成熟的版本,使基于结构化查询语言(SQL)的关系数据库,集成了Internet应用程序的可扩展标记语言(XML)支持。SQLServer2005相对于原有版本的一个新特性是整合了.NET的CLR(公共语言运行时)。其优势在于,便于开发者使用自己熟悉的.NET语言来创建存储过程,触发器,自定义函数等。使用面向对象的.NET语言来编写如存储过程等数据对象时,因为托管代码是己编译的,对于涉及算术计算、字符串处理、条件逻辑等的操作,性能要优于T-SQL。

SQL(结构化查询语言)是1974年由Boyce和Chamberlin提出的。SQL是一种介于关系代数与关系演算之间的结构化查询语言,其功能并不仅仅是查询。SQL是一个通用的、功能极强的关系数据库语言。SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体。SQL口语言之所以能够为用户和业界所接受,并成为国际标准,是因为它是一个综合的、功能极强同时又简洁易学的语一言。

它的主要优点如下:

①综合统一:SQL集数据查询语言DQL、数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动,包括定义关系模式、建立数据库、插入数据、查询、更新、维护、数据可重构、数据库安全性控制等一系列操作要求,这就为数据库应用系统的开发提供了良好的环境,并可使系统具有良好的可扩展性。

②高度非过程化:非关系数据模型的数据操纵语言是面向过程的语言,用其完成某项请求,必须指定存取路径。而用SQL语言进行数据操作,只要提出“做什么”,而无须指明“怎么做”,因此无需了解存取路径,存取路径的选择以及SQL语句的操作过程由系统自动完成。这不但大大减轻了用户负担,而且有利于提高数据独立性。

③面向集合的操作方式:非关系数据模型采用的是面向记录的操作方式,操作对象是一条记录,例如查询所有平均成绩在80分以上的学生姓名,用户必须一条一条地把满足条件的学生记录找出来。而SQL语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而一次插入、删除、更新操作的对象也可以是元组的集合。

④以同一语法结构提供两种使用方式:SQL语言既是自含式语言,又是嵌入式语言。作为自含式语言,它能够独立地用于联机交互的使用方式,用户可以在终端键盘上直接键入SQL命令对数据库进行操作;作为嵌入式语言,SQL语句能够嵌入到高级语言程序中,供程序员设计程序时使用。而在两种不同的使用方式下,SQL语言的语法结构基本上是一致的,具有极大的灵活性与方便性。SQL语言支持关系数据库三级模式结构,如图2.5所示。其中外模式对应用于视图和部分基本表,模式对应于基木表,内模式对应于存储文件。

SQL

视图1

视图2

基本表1

基本表2

基本表3

基本表4

存储文件1

存储文件2

内模式

模式

外模式

图5 SQL对关系数据库模式的支持

企业管理器 (EnterpriseManager)是 SQLServer中最重要的管理工具。在使用 SQLServer的过程中,大部分的时间都是和它打交道。通过企业管理器可以管理所有的数据库系统工作和服务器工作,也可以调用其他的管理、开发工具。

3.3 系统功能模块划分

根据系统功能分析,可以画出系统的功能模块图,从客户界面,管理界面分别对功能模块图加以描述。

管理界面的系统功能模块图如图3-1:

管理员登录

汽车配件销售管理界面

厂商管理

商品维护

会员维护

订单维护

查看发货

FAQ管理

管理员维护

图3-1 系统功能模块图

客户界面的系统功能模块图如图3-2所示:

汽车配件销售网客户界面

购物帮助

问题列表

问题答案

商品列表

商品缩略图预览

查看商品详细信息

查找商品

购买商品

购物车

修改购物信息

查看购物车

提交购物清单

清空购物车

会员功能

会员注册

会员登录

修改个人信息

系统主界面

类别列表

热门吉他

最优惠商品

新商品预览

最新推荐商品

3.4 总体设计原则

本系统为了设计、实现和后期维护的方便,以及系统用户使用的便利,所以必须采取一定的设计原则[3]。其主要设计原则有:

简单性:在实现系统的功能的同时,尽量让系统操作简单易懂,这对于一个系统来说是非常重要的。

针对性:本系统设计是针对配件管理的需求定向开发设计,所以具有专业突出和很强的针对性。

实用性:要求本系统能够满足配件管理的需要,因此具有良好的实用性。

一致性:页面整体设计风格以及命名规则的一致性:整体框架和用图用色风格及变量、类名和其他元素的命名规则保持一致。功能一致性:完成同样的功能应该尽量使用同样的元素。 元素风格一致性:界面元素的美观风格、摆放位置在同一个界面和不同界面之间都应该是一致的。变量命名规则的一致性:变量应该用统一的规则进行命名,做到任意变量均能从上下文推断其义。

先进性:本系统采用JSP、SQL2000作为系统开发工具和数据库,两个软件具有良好的兼容性和系统稳定性。因此本设计具有良好的先进性 [7]。

4 数据库设计

3.1 数据库需求分析

用户的需求具体体现在各种信息的提供、保存、更新和查询方面,这就要求数据库结构能充分满足各种信息的输入和输出。收集基本数据、数据结构及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。

通过系统功能分析,针对一般的汽车配件销售系统,总结出如下的需求信息:

1)用户分一般用户、注册用户和管理员用户。

2)一般用户和注册用户无需要登录就可以查看商品信息和购买

3)注册用户登录后可以维护自己的个人信息,并且在向网站发出定单时会自动填写自己的联系信息。

4)按商品类别来分类,每一个商品都对应一个类别。

5)定单分单张详细定单和总定单。

6)一个用户可以购买多个或多种型号的商品。

7)一个用户对应一张定单列表。

8)一个定单列表对应多张定单详细信息。

9)提供汽车配件销售帮助功能。

关于定单列表与定单详细信息可以这样理解:因为用户一次可以购买多种产品。则对每种产品(即每一款型号的商品)生成一条定单详细信息记录。然后多个这样的定单详细信息组成一个定单列表。每一个定单列表才与一个用户对应,在发货时以定单列表为单位,也即用户在操作时所看到的“定单”。

经过系统功能分析和需求总结,考虑到将来功能上的扩展,设计如下的数据项和数据结构:

1)管理员信息,包括数据项:帐号,姓名,密码。

2)注册用户(会员),包括数据项:用户ID,用户名,密码等。

3)商品,包括数据项:商品编号,商品名称,分类编号等。

4)商品分类,包括数据项:分类编号,分类名称,上级分类编号(扩展,备用)。

5)定单详细信息,包括数据项:定单编号,订单列表编号,商品编号,购买数量。

6)定单列表,包括数据项:定单列表编号,用户编号,下单时间,联系方式等。

7)汽车配件销售帮助,包括数据项:问题ID,问题标题,答案和点击次数。

3.2 数据库概念结构设计

得到上面数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。

设计规划出的实体有:管理员信息实体、注册用户(会员)信息实体、产品实体、产品类型实体、定单详细信息实体、定单列表实体和常见问题实体。

实体之间关系的E-R图如图3-1所示:

管理员信息实体E-R图如图3-2所示:

管理员

图4-2 管理员信息实体ER图

注册用户信息实体ER图如图3-3所示:

注册用户

......

图4-3 注册用户信息实体ER图

汽车配件实体ER图如图3-4所示:

汽车配件信息

图4-4 汽车配件实体ER图

定单详细信息实体ER图如图3-6所示:

定单列表实体ER图如图3-7所示:

定单列表

图4-7定单列表实体ER图

常见问题实体ER图如图3-8所示:

常见问题

......

图4-8 常见问题实体ER图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值