当前位置:文档之家› JSP(java)网上书店系统的设计和实现

JSP(java)网上书店系统的设计和实现

毕业设计(论文)JSP网上书店系统的设计和实现

姓名

系别、专业

导师姓名、职称

完成时间

目录

前言 (4)

第一章概述 (5)

1.1 开发背景 (5)

1.2 JSP简介 (5)

1.2.1 JSP的运行原理 (6)

1.2.2 JSP页面的组成 (7)

1.2.3 JavaBean技术介绍 (8)

1.2.4 JSP的运行环境 (8)

1.3 系统开发环境 (9)

1.3.1 服务器的配置 (9)

1.3.2 数据库后台环境的配置 (13)

第二章需求分析 (16)

2.1 系统说明 (16)

2.2 系统功能简介 (16)

2.2.1 基本功能 (16)

2.2.2 用户界面设计 (17)

2.3 系统运行环境 (17)

第三章系统设计 (18)

3.1 系统设计思想 (18)

3.2 系统功能模块化 (19)

3.3 数据库设计 (19)

3.3.1 数据库需求分析 (20)

3.3.2 数据库概念结构 (20)

3.3.3 数据库逻辑机构设计 (21)

第四章详细设计 (23)

4.1 系统概述 (23)

4.2 系统主要文件 (23)

4.3 详细代码及说明 (24)

4.3.1实现用户实体的Bean (24)

4.3.2实现商品实体的Bean (27)

4.3.3 实现订购单实体的Bean (28)

4.3.4 实现购物车实体的Bean (30)

4.3.5 实现购物实体的Bean (31)

4.3.6 前台运行程序cart.jsp (36)

第五章总结............................................... 错误!未定义书签。

致谢....................................................... 错误!未定义书签。参考文献................................................... 错误!未定义书签。

前言

随着Internet国际互联网的发展,越来越多的企业开始建造自己的网站。基于Internet 的信息服务,商务服务已经成为现代企业一项不可缺少的内容。很多企业都已不满足于建立一个简单的仅仅能够发布信息的静态网站。现代企业需要的是一个功能强大的,能提供完善的电子商务服务的动态商务网站。

JSP是Sun公司推出的一种网站开发技术,Sun公司借助自己在Java上的不凡造诣,又把人们引进JSP时代,JSP即Java Server Page,它可以在Servlet和JavaBean的支持下,完成功能强大的Web应用程序。所以,在我的毕业设计中,我采用了JSP作为开发工具,构建了一个能实现简单的电子商务的小型动态商务网站——网上书店销售系统。该系统能实现用户的注册、登录功能;能够实现商品的查询,订购等功能。该系统基本上具备一个网上商品销售系统应该具备的功能,该设计项目基本上体现了构建一个动态商务网站所需要的技术,可以说,目前的大型商务网站也就是我们这个小型网站在内容上的扩充和重复。

通过这次的毕业设计,我了解了目前流行的动态商务网站的构成和运作原理,掌握了用JSP构建动态网站的相关知识和技术原理,锻炼了自己的动手实践能力。更重要的是,通过这次的毕业设计,我培养出了刻苦钻研的学习精神和严肃认真的学习态度,这对我以后的学习和工作有很大的益处。

在这次毕业设计过程中,我得到了指导老师符琦老师和其他同组同学的悉心指导。在此,我对他们表示衷心的感谢!

第一章概述

1.1 开发背景

随着时代的发展,信息技术、Internet/Intranet技术、数据库技术的不断发展完善,网络进程的加快,传统的购物方式也越来越不能满足人们快节奏的生活需求,使得企业的IT 部门已经认识到Internet的优势,电子商务就是在这样一个背景下产生发展起来的。伴随着电子商务技术的不断成熟,电子商务的功能也越来越强大,注册用户可以在网上搜索购买到自己想要的各种商品,初步让人们体会到了足不出户,便可随意购物的快感。我的毕业设计也就正是一个电子商务系统的开发---网上商品销售系统。

1.2 JSP简介

JSP(Java Server Pages)是由Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准,JSP技术在Servlet技术基础上发展起来的,它正在飞速发展中,现已成为Java服务器编程的重要组成部分。它虽然还未成型,但是它必将和J2EE(Java 2 Enterprise Edition)一起发展。

JSP是结合markup(HTML和XML)和Java代码来处理一种动态页面。每一页第一次被调用时,通过JSP引擎自动被编译成Servlet,然后被执行,以后每次调用时,执行编译过的Servlet。JSP提供了多种方式访问Java class、Servlet、Applets和Web Server,因此,Web应用的功能可以分成多个明确定义公用接口的组件,通过JSP将它们结合在一起。

1.2.1 JSP 的运行原理

在JSP 第一次获得来自于客户端浏览器的请求时,JSP 文件将被JSP 引擎(JSP engine )转换成一个Servlet ,即将”.jsp ”文件编译成Java Class 文件。当Servlet 引擎接收到请求后,如果设置了使用最新的JSP ,它就会去找JSP 文件,检查该文件在上次编译后是否改动过。如果改动过,就会重新编译生成新的Servlet ,最终将请求转交给编译好的Servlet 引擎执行。如图1-1:

图1-1 JSP 运行原理

在编译时如果发现JSP 文件有任何语法错误,转换过程将中断,并向客户端发出出错信息;如果编译成功,则所转换产生的Servlet 代码被编译,然后该Servlet 被JSP 引擎加

类载入器

Java 编译器

JSP 语法分析器

载到内存中。此时JSP引擎还请求了jspInit()方法的执行,并对此Servlet初始化。JspInit()方法在Servlet的生命周期中只被请求一次,然后将被调用来处理客户端的请求和回复操作。对于所有随后对该JSP文件的请求,服务器将检查该JSP文件自最后一次被存取后是否经过修改。如果没有修改,则将请求交还给还在内存中的Servlet的jspService()方法,执行回复操作。由于Servlet始终驻于内存,所以响应是非常快的。Jsp页面在第一次访问时由于要转化和编译,运行速度较慢,但是当第二次访问该页时,由于文件已经被编译成字节码文件了,所以速度非常得快。

1.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页面中的所有声明都被初始化。除了简单的变量,方法也能被声明。声明不对当前的输出流产生任何影响。

4)表达式:通过计算表达式所得到的结果来表示某个值。表达式的形式为:<%=expression>。表达式求值的结果被强制转换为一个字符串,并插入到当前的输出流中。

5)程序段:JSP可以在页面中包含的一段程序,称之为程序段。程序段是一个代码片断,在请求的处理过程中被执行。程序段可以和页面中的静态元件组合起来创建动态生成的页面。程序段在“<% %>”中定义,在这对标识中的所有东西都会被当成JSP程序执行。

1.2.3 JavaBean技术介绍

JavaBean技术是一种基于Java的组件技术,JavaBean组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据的提取等,是解决代码重用问题的一种策略。

以前的组件无法实现真正的代码重用,其主要原因就是它们对于处理平台的依赖和对开发语言的依赖过重。由于Java语言在这些方面所具有的特点和优势,使得基于它的软件JavaBean组件技术倍受人们的关注。它的任务就是:一次编写,可以在任何地方执行,可以在任何地方重用。JavaBean组件可以在任何地方冲用包括了可以在应用程序、其他组件、文档、Web站点和应用程序构造器工具等多种方案中再利用。

为了创建和使用Java软件组件,JavaBean被实现为一种独立于平台和结构的应用程序接口,它的实现可以忽略内部的结构及细节问题,只需要定义其外部的特征及对外功能就行。其中,属性、方法和事件三种接口可以独立对外进行开发。

JavaBean的实质就是一个.class文件,也可以成为类文件。JavaBean以binary格式保存,可以保护Java源代码不容易被他人抄袭。

1.2.4 JSP的运行环境

要运行Jsp(注意,不是浏览Jsp页面),需要有支持Jsp的服务器。这里分2种情况:一种是自身就支持Jsp的服务器,如Jrun,Weblogic,JSWDK等;而另一种则是在不支持Jsp 的服务器上安装Jsp引擎的插件,如在IIS,Apache等服务器上安装WebSphere,tomcat,Resin等插件。其中主流服务器是Weblogic和tomcat.

Weblogic是一款功能强大的服务器软件,配置比较简单,而且Jsp的扩展功能较多,附带了数据库的JDBC驱动程序。,支持JHTML(一种与Jsp十分相似的技术),是目前市场占有率最高的服务器。不过,Weblogic的运行情况不太稳定,使用它调试Jsp文件,出现语法错误或者数据库连接错误时,Weblogic就有可能崩溃。

Tomcat服务器是Apache Group Jakarta小组开发的一个免费服务器软件,适合于嵌入Apache中使用,而且,它的源代码可以免费获得,你可以自由地对它进行扩充。访问的地址 http://jakarta. https://www.doczj.com/doc/253800905.html,/tomacat/index.html, Tomcat服务器的兼容性很好,如WebLogic服务器采用其为Web服务器引擎,Jbuilder将其作为标准的测试服务器,Sun 公司也将其作为JSP技术应用的示例服务器。不足之处是它的配置比较麻烦,而且有一些安全性的问题没有解决。但是Tomcat服务器有众多大软件公司的支持,而且服务器的性能稳定,其发展前景很好。

1.3 系统开发环境

1.3.1 服务器的配置

前面介绍了JSP的生命周期,为了说明JSP对运行环境的要求,先简单的介绍一下它的运作过程。服务器在接收到客户端传过来的一个页面请求时,先判断是否是JSP页面请求(从扩展名来判断),如果不是,只是一般的HTML页面请求,则直接把HTML文档传给客户端,完成客户端与服务器的一次连接。如果判断是JSP页面请求,则由JSP引擎(或Servlet引擎)将JSP页面代码转换成Servlet代码,再通知服务器上的JVM(Java虚拟机)对转换过来的Servlet代码进行编译,将生成的字节码文件放在服务器上相应的地方,并执行编译后得到的字节码,然后把结果传送给客户端,这样就完成一次连接。以后如果有相同的JSP页面的请求,则直接由JSP引擎通知JVM执行已有的字节码,并把结果传送给客户端。

从上面JSP运作全过程可见,运行JSP最少需要三样东西:JSP引擎、Web服务器和JVM。最常用的Java开发工具就是JDK和Jbuilder,它们之间的很大不同就是JDK是字符界面,而Jbuilder是窗口界面。本系统直接采用JDK作为JVM和java编译器。所用的操作系统是Windows2000,服务器采用的是tomcat,利用了它充当Jsp引擎,同时还利用了它的信息发布功能。首先把JDK,tomcat安装到本地硬盘D盘根目录下,下面详细的介绍如何配置运行环境:

★配置环境变量

第一步:进入我的桌面,右击“我的电脑”,选择“属性”选项,进入“系统属性“对话框,单击”高级标签“,如图1-2所示:

第二步:点击上图箭头所示“环境变量”,进入图1-3画面。

图1-3

第三步:单击“系统变量”部分的“新建按扭”,创建JAV A-HOME变量,在变量值栏内输入C:\jdk1.4.2_05; 如图1-4所示:JA VA_HOME指明JDK安装路径,就是刚才安装时所选择的路径C:\jdk1.4.2_05,此路径下包括lib,bin,jre等文件夹(此变量最好设置,因为以后运行tomcat,eclipse等都需要依靠此变量)

图1-4

第四步:同样的方法创建CLASSPA TH 变量,在变量栏内输入,.;%JAV A_HOME%\lib;

%JAV A_HOME%\lib\tools.jar (要加.表示当前路径)CLASSPATH为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别。

第五步:创建PA TH变量,在变量栏内输入,%JAV A_HOME%\bin;%JAV A_HOME%\jre\bin Path使得系统可以在任何路径下识别java命令。

第六步:创建Tomcat-Home变量,在变量栏内输入

C:\Tomcat5.0; 如图1-5所示:

图1-5

第七步:检测配置是否成功:

1)检测JDK是否配置成功

编写一个java程序,例如:

public class HelloWorldApp

{

public static void main(String args[])

{

System.out.println(“HelloWorld!”);

}

}

首先把它放到一个名为HelloWorldApp.java的文件中,这里,文件名应和类名相同,因为java 解释器要求公共类必须放在与其同名的文件中。然后对它进行编译:

c:\>javac –g HelloWorldApp.java

编译的结果是生成字节码文件HelloWorldApp.class。最后用java解释器来运行该字节码文件:

c:\>java HelloWorldApp

结果是在屏幕上显示“Hello World!”

至此,JDK完全安装成功。

2)检测tomcat是否配置成功

进入C:\Tomcat5.0\bin目录,双击startup.bat执行文件启动Tomcat服务器,成功启动后的界面如图1-6所示:

我们现在就可以通过浏览器看Tomcat服务器的示例程序了,打开浏览器,键入http://localhost:8080/index.jsp进入Tomcat服务器的主页面。

图1-6

1.3.2 数据库后台环境的配置

SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。 SQL Server近年来不断更新版本,1996年,Microsoft 推出了SQL Server 6.5版本;1998年,SQL Server 7.0版本和用户见面;SQL Server 2000是Microsoft公司于2000年推出的最新版本。

◆JSP与SQL Server数据库的连接

本系统使用ODBC驱动程序建立SQL Server的数据连接。创建步骤如下:

(1)选择任务栏的“开始”“控制面板”“性能与维护”“管理工

具”双击ODBC数据源单击系统DSN标签,单击“添加”选择SQL Server的ODBC数据源,如图1-7所示:

图1-7

(2)定义ODBC数据源的名字和SQL Server所在的服务器,如图1-8所示:

图1-8

(3)定义连接数据库的方式,使用Windows的验证连接数据库。

(4)选择要连接的数据库,如图1-9所示:

其于各项保留默认值,最后单击“完成”进入数据源的测试窗口,测试成功后显示如图1-10,这样就完成了本系统数据库的ODBC数据源的创建。

图1-9

图1-10

◆建立数据库

选择任务栏的“开始”“所有程序”“Microsoft SQL Server”

“企业管理器”,然后右击数据库选“新建数据库”,如图1-11,在弹出的对话框中输入数据库名,完成后回到图1-11的界面,单击“数据库”,选择你刚刚建立的数据库cart,右击选择新建表选项,这样就可以创建自己的数据表了,通过建好的数据表就组成了数据库。

图1-11

第二章需求分析

2.1 系统说明

本系统是一个中小型的电子商务系统----网上书店,可以为各类用户提供方便的在线买书环境,符合目前国内流行的电子商务模式。用户可以在系统中实现注册、浏览商品、搜索查询商品、下定单、处理定单等功能;管理员可以通过用户管理、定单管理、商品管理、评论管理等管理功能来对系统进行维护更新。

网站的组成有以下几个子系统组成:

1. 主页,显示欢迎界面,提供近期的书本。

2. 购物车,处理订购并显示想要订购的书本。

3. 查询系统,通过书本编号、书本名称来查询是否有自己需要的书本。

4. 用户注册系统,处理新用户的注册和老用户买书时的确认。

2.2 系统功能简介

2.2.1 基本功能

●游客可以浏览网站

●用户登陆

●用户能够浏览网站

●提供搜索引擎,使用户能够按特定的条件对所需商品进行搜索

●用户下定单购买商品

●用户处理定单

2.2.2 用户界面设计

2.3 系统运行环境

操作系统:Windows 9X、Windows NT Workstation/Server 4.0以上、Windows 2000 Server/Professional、Windows XP Professional。

CPU:没有很高的要求,只要能够顺利运行Windows系列操作系统就可以了。当然,CPU 的处理速度越快,运行JSP代码的效率越高。

内存:最低配置32MB,建议使用64MB以上内存,如果使用Windows 2000或Windows XP 建议使用128MB以上内存。

硬盘空间:至少需要50MB以上的硬盘空间来安装所需的组件。

运行JSP的服务器端要求:(如表2.1所示)

表2.1

第三章系统设计

3.1 系统设计思想

本系统采用三层架构设计,它的工作原理如图3-1所示。

图3-1

采用三层构架以后,用户界面层通过统一的接口向业务层发送请求,业务层按自己的逻辑规则将请求处理之后进行数据库操作,然后将数据库返回的数据封装成类的形式返回给用户界面层。这样用户界面层甚至可以不知道数据库的结构,它只要维护与业务层之间的接口即可。

3.2 系统功能模块化

如图3-2为本系统的功能模块图。

图3-2

3.3 数据库设计

数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率,以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。

3.3.1 数据库需求分析

针对一般在线书店的需求,得出如下需求信息。

?用户分为游客和已注册用户。

?订单分为单张详细订单和总订单。

?一个用户可以购买多本图书。

?一个用户对应一张订单。

?一个列表对应多张订单。

针对本系统功能分析,总结出如下的需求信息。

?用户,包括数据项:用户ID、用户名、密码。

?图书,包括数据项:图书编号、图书名、价格、图书介绍。

?订单列表,包括数据项:订单编号、图书编号、购书数量。

?订单,包括数据项:订单编号、用户编号、下单时间。

3.3.2 数据库概念结构

从本系统中规划出的实体有:用户实体、图书实体、订单实体、订单列表实体。

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

图3-3

用户信息实体的E-R图如图3-4所示。

图书实体的E-R图如图3-5所示。

相关主题
文本预览
相关文档 最新文档