基于J2EE网上书店管理系统的设计与实现

基于J2EE网上书店管理系统的设计与实现
基于J2EE网上书店管理系统的设计与实现

基于J2 EE网上书店管理系统的设计与实现

实习项目名称:网上书店管理系统

学生姓名(班学号):

指导教师:

一、需求说明

1.任务概述

1.1目标

当今社会,随着计算机的应用和Internet的普及, Internet网络给人类社会带来了巨大变化,网络在我们的生活中几乎无处不在。因此,建立网上电子书店的销售管理系统是时代的潮流。由于JSP可以在85%以上的服务器上运行,而且JSP技术的应用程序比ASP的应用程序易于维护和管理。所以,通过采用JSP技术设计开发在线书店系统符合时代的潮流、具有积极的进步意义。本人基于这样的实际需求,结合教学需要设计开发了基于JSP的网上书店销售管理系统。网上书店系统可以实现人们远程逛逛书店和购买图书的愿望。本系统主的功能是实现网上购书。基本功能包括用户注册、会员登录、图书查询、新书介绍、网上购书以及后台管理等。

1.2用户特点

用户须具备一定的计算机知识、网络知识。懂得如何操作电脑,了解Java 2EE,会配置SQL server数据库,会添加数据源。

1.3定义

JSP技术:JSP(Java Server Pages)技术是由Sun公司发布的用于开发动态Web应用的一项技术。它以其简单易学、跨平台的特性,在众多动态Web应用程序设计语言中异军突起,在短短几年中已经形成了一套完整的规范,并广泛地应用于电子商务等各个领域中。在国内,JSP现在也得到了比较广泛的重视,得到了很好的发展,越来越多的动态网站开始采用JSP 技术。本章就对JSP及其相关技术进行简单的介绍。JavaServer PagesTM (jsp(SUN企业级应用的首选))技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。jsp(SUN 企业级应用的首选)技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器,应用服务器,浏览器和开发工具共同工作。

SQL server:SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。SQL Server 2000界面友好,易学易用且功能强大,与Windows 2000操作系统完美结合,可以构造网络环境数据库甚至分布式数据库,可以满足企业及Intemet等大型数据库应用。

Java Bean:JavaBean是描述Java的软件组件模型,有点类似于Microsoft的COM组件概念。在Java模型中,通过JavaBean可以无限扩充Java程序的功能,通过JavaBean的组合可以快速的生成新的应用程序。对于程序员来说,最好的一点就是JavaBean可以实现代码的重复利用,另外对于程序的易维护性等等也有很重大的意义。比如说一个购物车程序,要实现购物车中添加一件商品这样的功能,就可以写一个购物车操作的JavaBean,建立一个public 的AddItem成员方法,前台Jsp文件里面直接调用这个方法来实现。如果后来又考虑添加商品的时候需要判断库存是否有货物,没有货物不得购买,在这个时候我们就可以直接修改JavaBean的AddItem方法,加入处理语句来实现,这样就完全不用修改前台jsp程序了。

JavaScript:JavaScript是用于浏览器的第一种具有通用目的、动态的客户端脚本语言。

Netscape于1995年首先提出了JavaScript,但当时将其称为LiveScript。后来Netscape 迅速地将LiveScript改名为JavaScript,Java的开发商Sun与他们在同一年发表了一项声明。声明中指出Java和JavaScript将互相补充,但它们是截然不同的技术,这样才打消了很多人对这两项技术的错误理解。JavaScript为创建用户界面控件提供了一种脚本语言。事实上,JavaScript在浏览器中插入了代码逻辑。它可以支持这样的效果:当光标在Web页的某个位置移动时验证用户输入或者变换图像。Microsoft也编写出了自己的JavaScript版本并将其称为JScript。Microsoft和Netscape都支持一种围绕JavaScript和JScript的核心特性并由(European Computer Manufacturers Association,ECMA)标准组织控制的脚本语言标准。ECMA将其脚本语言命名为ECMAScript。

2.数据描述

参与系统的实体有:管理员、顾客、图书、银行卡。

(1):管理员和顾客有以下属性:

用户名、帐号、密码

(2):图书有以下属性:

书名、作者、出版社、价格、类型、简介

(3)银行卡有以下属性:

卡号、密码、姓名

(4)订单表

用户名、购买书名、数量

实体关系图为:

管理员管理E-R 图

管理员

用户名

账号

密码

管理

银行卡

图书

卡号

密码

姓名

书简介

出版社 书名

作者

价格

种类

顾客

银行卡

使用

图书

出版社

书店

作者

价格

种类

卡号

密码

姓名

数量

优惠额度

书简介

银行卡-顾客-图书E-R图

2.3数据库介绍

本项目使用的数据库SQL Server 2000,它是一个关系数据库管理系统,是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。

数据库设计:本数据库一共包含四个表(书目表、用户信息表、银行卡、订单表)。

书目表:包含书名、作者、出版社、价格类型、本书简介。

用户信息表:包含用户名、密码。

银行卡表:包含卡号、密码、姓名。

订单表:包含用户名、购买书名、数量。

3.功能需求

功能输入变量处理过程输出结果

浏览首页无直接运行书店的首界面

查找书籍书名或作者或出版社查找数据库书籍信息

网上购书订单网上交易购买成功

注册用户名、密码查找并写入数据库注册结果

会员登陆用户名、密码身份认证登陆成功(失败)书籍分类管理书名、信息。书类型按类型归类书籍按类别存放订单管理用户订单对订单进行审核通过

网上交易订单、钱、用户名审核账目交易成功

总体结构

3.1功能划分

模块分模块模块功能

台匿名用户

书店首页

查找书籍

开始网

查找书籍

网上购书

网上注册

书籍分类

修改书籍分类

修改书籍分类

添加新书

管理用户

管理交易

查看订单

浏览分类

查找书籍

网 上 书 店 管 理 系 统

阅 读

网上注册 网上购书

后 台 管 理

管理员登录

身份确认 书籍管理

书籍分类

修改分类 添加新书 修改书籍信息 订单管理 审核订单 网上交易

总体数据流图:

买书流程图:

开始

书店首界

选择

书店概况

网上购书

书籍信息查询

会员登陆

注册

返回首页

4.性能需求

4.1数据精确度

注册时,输入用户名后,输入密码,再次确认密码,点击“注册”,如果用户名已经存在则不能注册,反之注册成为会员,输出注册失败或者注册成功。登录时,输入用户名和密码,经过验证,如果正确则成功登录。查找书籍时,输入书名,查找数据库后输出书籍的信息。在购书时,所购买书的数量必须大于零,小于这本书的总量,点击“确定”后,输出购书订单。付款时,钱数精确到分即小数点后两位,经过审核,输出交易成功。

4.2 适应性

JavaBeans 通过提供符合一致性设计模式的公共方法将内部域暴露称为属性。众所周

知,属性名称符合这种模式,其他Java 类可以通过自省机制发现和操作这些JavaBean 属性。用户可以使用JavaBean 将功能、处理、值、数据库访问和其他任何可以用java 代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP 页面、Servlet 、其他JavaBean 、applet 程序或者应用来使用这些对象。用户可以认为JavaBean 提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。

当操作方式发生变化时,一些功能同样能够实现。因为在实现各项功能时,把功能划分

买书 使用网上银行付款

现金支付

网上支付 修改数据库

成功

下订单

成了模块,各模块之间互不干扰,而且Java Bean都采用类的形式,每个功能都封装成一个类。运行环境发生变化时,对程序会有一些影响,但打上补丁就可以继续运行了。总体上讲,本系统具有一定的自适应性。

5.运行需求

5.1用户界面

用户主界面:

搜索查询书籍界面:

会员登录界面

顾客注册界面:

管理员登录界面:

购书界面:

购书之后显示的订单信息:

5.2硬件接口

本系统可在一般的windows X86操作系统上运行,也可在Linx上运行。但需要安装Java Bean,并且要安装SQL server数据库,才能运行程序。在进行登录、查询时,如果数据库不是SQL server 2005 还需要添加驱动器—三个Jar文件。数据库附加好了,就可运行。

5.3软件接口

系统包括网上购书、书籍查询、会员登录、用户注册、查看订单、后台管理这些模块之间的接口。各个模块之间有自成一个小的程序,功能封装成了类,使用对象调用。类中成员函数的参数是传递值的接口。

5.4故障处理

当系统遇到问题时,首先查看运行环境是否更该;如更改,只需修复运行环境即可,若未更改,查看系统中各功能模块之间的接口是否有问题,可通过调试改正错误。

数据库最严重的问题莫过于数据库损坏,那么当数据库损坏时,最好的办法是从备份恢复数据库。由于存储问题导致部分数据文件损坏,但是数据库还可以连接,这种情况可以采用导出数据库的表结果和数据的方法来恢复数据库。当然对损坏的表,导出是无法完成的,这是可以使用db2dart的导出数据功能来导出这些损坏的表的数据。

解决数据库的性能问题,可以从以下方面入手,检查数据库的配置,如缓冲池,排序堆等是否合理;检查数据库是否收集过统计信息,准确的统计信息对语句优化起着重要的左右;对sql语句进行优化;查看是否有系统资源瓶颈。

6.其它需求

Java Bean是java类,属于某些特定的译码知道方针,并且扩展了适应性和范围,允许用户访问内部的属性和方法。在IDE中,JavaBean的功能允许应用开发者浏览其中的方法,即使JavaBean是被编译的,并且无法利用原始的源文件。在安装了Java Bean和SQL server 数据库时可运行该程序。本系统不仅能运行在windows X86上,还能在Linx上运行,具有可移植性。程序较安全,高级管理员要保密,不对其他人泄露登录密码。程序在开发时,结构是可扩展的,后期可扩展功能。

二、主要程序清单(关键代码)

//////////////////书籍信息类

public class Book {

String bookName;

String bookAuthor;

String publisher;

String bookPrice;

String bookType;

String bookInfo;

int quantity;

public DBLink link=new DBLink();

public Book(String name)

{

Connection conn=link.Linkdb();

ResultSet res = null;

String SQL=

"SELECT * FROM BookSys WHERE BookName ='" +name+"'";

try

{

Statement sm = conn.createStatement();

res = sm.executeQuery(SQL);

res.next();

bookName=res.getString("BookName");

System.out.println(bookName);

bookAuthor=res.getString("BookAuthor");

System.out.println(bookAuthor);

bookPrice=res.getString("BookPrice");

System.out.println(bookPrice);

quantity=1;

res.close();

}

catch (SQLException sqlE)

{

sqlE.printStackTrace();

}

}

}

///////////////////////连接数据库的类

import java.sql.*;

public class DBLink {

public Connection Linkdb( )

{

Connection connection = null;

String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=news";

try

{

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

}

catch(Exception e)

{

e.printStackTrace();

}

try

{

connection = DriverManager.getConnection(url, "sa", "");

}

catch(Exception e)

{

e.printStackTrace();

}

return connection;

}

public void Close(Connection conn)

{

try{

conn.close();

}

catch(Exception e)

{

e.printStackTrace();

return;

}

}

}

///////////////////////显示主界面 index.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>

"https://www.360docs.net/doc/c817917512.html,/TR/html4/loose.dtd">

网上书店管理系统

欢迎光临c书店管理系统

          

首页     

<%@page contentType="text/html" pageEncoding="UTF-8"%>

"https://www.360docs.net/doc/c817917512.html,/TR/html4/loose.dtd">

网上书店管理系统