【完整版】基于JSP模拟当当网图书销售系统毕业论文设计 下载本文

第一章 绪论

1.1 课题背景

随着Internet 的迅速崛起,网络信息化的发展,在线图书销售作为一种典型 的 Web 电子商务系统也迅速的发展并深入人们的日常生活中。更多的人更愿意 足不出户就可以挑选购买自己喜欢的各种书籍,这样大大缩短了购书的时间, 提高了效率。而且,图书因其具有标识精晰、规格统一、特征容易描述、同种商 品个体之间无差异等特性而能成为发展电子商务的最为理想的商品类型。可见, 网上图书销售系统跨越了时间和空间的限制,给商业流通领域带来了不一样的 变革,也给消费者带来了便捷。只要网络发展没有停止,网上图书销售的发展 就不会停止。 1.2 本课题研究内容

本系统采用 BS(BrowserServer)结构进行设计,使用 MYSQL 构建数据库,并在JSP 环境下使用JAVA 语言开发的一个功能完善的网上图书销售系统。其具有一定的实用性,用户可以在网上浏览图书信息,查找图书资料,将自己喜欢的放入购物车并下订单购买;同时,管理员 也可以对整个系统的信息和数据进行管理,可以管理库存书信息、分类信息、出版社信息、用户信息和订单信息。 1.3 本课题研究的意义

本课题的目标就是是将图书销售由传统的商店模式向在线销售的转变,同时还对销售的定单和图书的种类等信息进行在线管理,其意义就在于以此来实现人们不出门就能够便捷的买到自己喜欢的各种书籍,向客户展示出一种新颖的购书理念。网上购书的方式必将日趋被大家所接受。

1

第二章 软件体系结构及关键技术

2.1 软件体系结构 2.1.1 BS结构介绍

BS结构(BrowserServer,浏览器服务器模式),是WEB兴起后的一种网络结构模式,实质上是以Java技术为核心、以J2EE为平台的计算模式。Web浏览器是客户端最主要的应用软件,这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,使系统的开发可以一次性到位,并能实现不同的使用者,从不同的地点,以不同的网络接入方式(比如LAN,WAN,InternetIntranet等)来访问和操作共同的数据库;并且通过设置合理的用户权限,来有效地保护数据库平台和管理访问权限,服务器数据库也很安全,特别是在Java这样的跨平台语言出现之后,BS架构管理软件更加方便、快捷、高效。

在BS结构下,客户机上只要安装一个浏览器(Browser),服务器安装SQL Server等数据库,浏览器通过Web Server同数据库进行数据交互,所以形成所谓三层3-Tier结构。三层结构是伴随着中间件技术的成熟而兴起的,是对CS结构的进一步改进而产生的。对于整个系统架构这种方式来理解,视图层主要是界面与显示效果,如BS架构的浏览器;逻辑层主要用于处理数据与后台运算,一般来说指的是BS架构中的应用服务器;数据层主要是指数据存储,数据存储可能是数据库,可能是文件,也可能是网络地址,专业一点说就是把数据持久化。

虽然说三个层次的划分是从逻辑上来分的,但是具体的物理分法可以有多种组合。基于三层结构的应用系统不仅仅具备了大型机系统的稳定、安全和处理能力高等特性,而且拥有开放系统的成本低、可扩展性强、开发周期短等优点。

2.1.2 BS结构的优势

BS最大的优点就是无论在任何地方只要有一台能上网的电脑,就可以进行操作而不用安装任何专门的软件,客户端零维护。系统的扩展门头沟较强,只要能够连接网络,再由系统管理员分配一个合法的用户名和正确的密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入统。

2

2.1.3 BS、CS结构软件技术上的比较

首先,在系统的性能方面。只要拥有可上网的浏览器,就可以使用BS系统。不过,BS结构的客户端只能完成浏览、查询、数据输入等简单功能,绝大部分工作要由服务器承担,这就对服务器提出了很高的要求,无形中增加了用户在这一方面的投入。

采用CS结构时,客户端和服务器都承担部分工作,有效利用了客户端和服务器端的资源,使用户不必在硬件上有更多的投入。另外,浏览器页面不便于修改,这为用户定制自己的文件时带来了不便,比如用户想自定义一个报表,用BS结构的系统就比较难完成。

其次,在系统的开发方面,CS结构的开发对开发者提出了较高的要求,整个开发过程比较复杂。与BS结构相比,CS技术的历史更为“悠久”,从技术成熟度和开发人员普遍掌握的水平来看更为成熟。

第三,系统升级方面。CS结构中若有某一模块发生改变,可能要关联到其它模块的变动,使系统升级的成本较大;而BS结构在开发、维护阶段几乎所有的工作都集中在服务器端,只需更新服务器端的软件就可以了。如果系统升级比较频繁,那么BS架构的产品就具有维护工作量少的优势。

第四,安全性方面。在安全性上,BS结构则略显不足,毕竟现在网络安全系数不高,只要拥有密码,任何人都可以进入到用户的系统中;而CS结构由于需要特定的客户端软件,并且一般来说都要对客户端加密,甚至可以限定只有某一台计算机可以使用这个客户端,因而对安全性有更多的保障。 2.2 关键技术介绍

本例网上书店所涉及的技术主要有以Java语言为核心的JSP(Java Server Pages)技术进行功能的实现,后台的服务支撑部分为应用服务器Tomca5.0.28以及数据库服务器MYSQL。以下将对主要技术作简明的介绍。 2.2.1 JAVA语言简介

Java,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。2009年04月20日Sun公司被oracle(甲骨文)收购。

由于Java是一种简单易用的、完全面向对象的、分布式的、解释型的、健壮安全的、结构中立的、可移植的、性能优异的、多线程的静态语言,使得Java

3

语言的应用具有无比的健壮性和可靠性,这也极大的降低了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。

Java分为三个体系JavaSE(Java2 Platform Standard Edition,java平台标准版),JavaEE(Java 2 Platform,Enterprise Edition,java平台企业版),JavaME(Java 2 PlatformMicro Edition,java平台微型版)。

Java的诞生是对传统计算机模式的一个极大挑战,对计算机软件开发和软件产业都产生了深远的影响,以目前看Java对信息时代的重要性,未来还会不断发展,Java在应用方面将会有更广阔的前景。 2.2.2 JSP技术

JSP是“Java Server Pages”的缩写,是一种基于Java的脚本技术,可以解释为“基于Java的服务端动态页面技术”。基于Java是JSP一切优秀品质的根本物质基础。因为Java是编译解释执行的,所以JSP也就摆脱了VBScript、Perl等脚本语言纯粹的解释执行带来的低效率问题。尽管在JSP中Java仍被称为脚本语言。因为Java是平台无关的,所以JSP是跨平台的。基于Java是JSP区别包含ASP(Active Server Pages)在内的其它服务端动态页面技术的重要特征。JSP是服务端技术,所以JSP文档要先经服务端翻译、解释、执行,才能得到客户端浏览器能识别的HTML文档。这是当前Web技术的潮流,是解决客户端浏览器兼容性问题的客观需要。服务端技术是JSP区别于JavaScript、VBScript等客户端动态页面技术的重要性。JSP是一种页面技术,而现在JSP只实现了HTTP(Hypertext Transfer Protocol)协议,只能应用于Web页面。这是JSP区别于Servlet10的重要牲。JSP是一种动态技术,这是JSP基于Java的自然延伸。在页面中引入程序设计语言的目的是正是为了实现动态交互。 2.2.2.1 JSP的运行原理:

在JSP第一次获得来自于客户端浏览器的请求时,JSP文件将被JSP引擎(JSPengine)转换成一个Servlet,即将”.jsp”文件编译成Java Class文件。当

4

Servlet引擎接收到请求后,如果设置了使用最新的JSP,它就会去找JSP文件,检查该文件在上次编译后是否改动过。如果改动过,就会重新编译生成新的Servlet,最终将请求转交给编译好的Servlet引擎执行。在编译时如果发现JSP文件有任何语法错误,转换过程将中断,并向客户端发出出错信息;如果编译成功,则所转换产生的Servlet代码被编译,然后该Servlet被JSP引擎加载到内存中。此时JSP引擎还请求了jspInit()方法的执行,并对此Servlet初始化。JspInit()方法在Servlet的生命周期中只被请求一次,然后将被调用来处理客户端的请求和回复操作。对于所有随后对该JSP文件的请求,服务器将检查该JSP文件自最后一次被存取后是否经过修改。如果没有修改,则将请求交还给还在内存中的Servlet的jspService()方法,执行回复操作。由于Servlet始终驻于内存,所以响应是非常快的。Jsp页面在第一次访问时由于要转化和编译,运行速度较慢,但是当第二次访问该页时,由于文件已经被编译成字节码文件了,所以速度非常得快。 2.2.2.2 JSP页面的组成

JSP页面看上去像标准的HTML和XML页面,并附带有JSP引擎能够处理和解析执行的代码与组件。通常,JSP代码和组件用于创建在最终页面上显示的文本。通常来说,JSP页面包括编译指令,动作指令,声明,表达式和程序段等内容。

1、编译指令:使用JSP编译指令(〈%@和%〉内的)来指定所使用的脚本语言,Servlet实现的接口,Servlet扩展的类,Servlet导入的软件包。JSP指令的一般语法形式为:<%@指令名=“值”%>。

2、动作指令(标识):动作指令用于执行某些动作。在JSP规范中有2种类型的动作指令的标识。第一种是标准动作,它定义的是无论在什么版本的JSP引擎或Web服务器下总是可用的动作。第二种是自定义动作,它通过使用taglib指令来实现。例如JSP:useBean;JSP:setProperty;JSP:getProperty就是标准动作。

3、声明:用于声明合法的变量和方法。与任何语言相同,JSP语言使用变量来保存数据。这些变量用declaration元素声明,声明的语法为<%!declaration(s)%>。当页面被初始化的时候,JSP页面中的所有声明都被初

5