web课程设计JSP编写网上购书系统.docx

上传人:b****0 文档编号:9780175 上传时间:2023-05-21 格式:DOCX 页数:30 大小:450.10KB
下载 相关 举报
web课程设计JSP编写网上购书系统.docx_第1页
第1页 / 共30页
web课程设计JSP编写网上购书系统.docx_第2页
第2页 / 共30页
web课程设计JSP编写网上购书系统.docx_第3页
第3页 / 共30页
web课程设计JSP编写网上购书系统.docx_第4页
第4页 / 共30页
web课程设计JSP编写网上购书系统.docx_第5页
第5页 / 共30页
web课程设计JSP编写网上购书系统.docx_第6页
第6页 / 共30页
web课程设计JSP编写网上购书系统.docx_第7页
第7页 / 共30页
web课程设计JSP编写网上购书系统.docx_第8页
第8页 / 共30页
web课程设计JSP编写网上购书系统.docx_第9页
第9页 / 共30页
web课程设计JSP编写网上购书系统.docx_第10页
第10页 / 共30页
web课程设计JSP编写网上购书系统.docx_第11页
第11页 / 共30页
web课程设计JSP编写网上购书系统.docx_第12页
第12页 / 共30页
web课程设计JSP编写网上购书系统.docx_第13页
第13页 / 共30页
web课程设计JSP编写网上购书系统.docx_第14页
第14页 / 共30页
web课程设计JSP编写网上购书系统.docx_第15页
第15页 / 共30页
web课程设计JSP编写网上购书系统.docx_第16页
第16页 / 共30页
web课程设计JSP编写网上购书系统.docx_第17页
第17页 / 共30页
web课程设计JSP编写网上购书系统.docx_第18页
第18页 / 共30页
web课程设计JSP编写网上购书系统.docx_第19页
第19页 / 共30页
web课程设计JSP编写网上购书系统.docx_第20页
第20页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

web课程设计JSP编写网上购书系统.docx

《web课程设计JSP编写网上购书系统.docx》由会员分享,可在线阅读,更多相关《web课程设计JSP编写网上购书系统.docx(30页珍藏版)》请在冰点文库上搜索。

web课程设计JSP编写网上购书系统.docx

web课程设计JSP编写网上购书系统

本科课程设计说明书

 

学生姓名:

学号:

学 院:

专业年级:

2008级信息与计算科学二班

课程:

Web网页课程设计

设计(论文)题目:

JSP编写网上购书系统

指导教师:

kk

 

2011年6月

中文摘要

这次课程设计通过一个小型网上购书系统的实例,来熟悉Web的网页制作,我们采用的是JSP的模式来制作动态的网页,并将其与数据库连接来实现一定的功能。

本次课程设计只是创建了一个简单的网上购书系统,但从功能上来说,是比较完备的。

并且将所学的一些知识都运用其中,比如数据库及数据库的连接,软件工程制作图形,一些界面设计及网页制作等等。

 

关键字:

Javascript网上购书系统数据库连接

 

英文摘要

Thiscoursedesignthroughasmallonlinebookstoressystemexample,tobecomefamiliarwiththeWebpages,weuseistheJSPmodeltomakedynamicWebpages,withthedatabaseconnectiontoachieveacertainfunction.Thiscoursedesignistocreateasimpleonlinebookstoressystem,butfromthefunction,itisrelativelycomplete.Andsomeoftheknowledgelearnedwithamongthem,suchasdatabaseandtheconnection,andsoftwareengineeringmakegraphics,someinterfacedesignandwebpages,andsoon.

目录

1系统概述1

1.1系统功能与应用背景1

1.2系统预览2

1.3系统特点2

2系统设计3

2.1系统设计思想3

2.2系统功能模块划分3

3数据库设计5

3.1数据库需求分析5

3.2数据库概念结构设计5

3.3数据库逻辑结构设计7

3.4数据库的生成与配置9

4代码的编写10

4.1数据库连接的代码编写10

4.2登陆后界面的代码编写12

4.3图书详细信息的代码编写13

4.4购物车管理的代码编写14

4.5订单确认的代码编写16

5程序调试20

5.1客户登陆20

5.2点购买图书链接20

5.3订单确认21

5.4查看图书详细资料21

6总结22

参考文献23

1系统概述

1.1系统功能与应用背景

互联网以前所未有的速度发展,成为与报纸、广播、电视相比肩的第四媒体,同时正以其便捷的信息传输形式改变着人们的消费模式,利用简单、快捷、低成本的电子通信方式,买卖双方不谋面就可以进行各种商贸活动,走向商业的互联网已经成为网络经济的大势所趋。

在提出电子商务的概念短短几年的时间里,这一概念已经在全球各地被广泛接受。

根据买方和卖方的不同,电子商务市场可以划分为4种类型:

B2B,B2C,C2B,C2C。

就规模而言,B2B和B2C居于主导地位。

眼下电子商务网站正如雨后春笋般地大量涌现,企业网络化已经成为一种时尚。

该系统的在线书店主要完成的功能如下。

1.客户界面部分

(1)图书选购(可按分类方式查找图书,或通过关键字进行查询)。

(2)购物车功能。

(3)查看图书详细情况。

(4)用户注册。

(5)用户登陆。

(6)查看用户订单信息。

2.管理界面部分

(1)现有图书管理:

修改、删除、查看。

(2)用户管理:

查看、修改、删除。

(3)订单管理:

查看订单清单,更新订单付款,出货状态,删除订单。

(4)添加新图书。

(5)添加图书分类。

1.2系统预览

如图1-1所示是打开网站的第一个界面。

从图中可以看成,客户不用登陆就可以浏览、查看图书详细资料,可以按关键字/分类查询图书,也可以方便快捷的转到系统的其他功能模块。

1-1系统主页面

1.3系统特点

本系统具有一下特点。

1.界面模块化:

本系统在界面设计上都采用了模块化的处理思想,把很多页面共有部分集成一个模块,例如页面的头、尾和导航条,这样在开发时,遇到这些相似页面部分就不需要重新编写,而只要以一句:

<%@includefile=”top.jsp”%>重用这部分即可,大大提高了开发效率。

2.三层结构设计:

本系统采用三层结构设计,即程序逻辑结构分为用户界面层、业务逻辑处理层和数据存储层。

三层在实际的物理结构上也是独立的,业务逻辑处理层采用JavaBean实现,用户界面与业务逻辑分离,系统的安全性、可维护性、重用性和可扩展性都大大提高。

3.面向对象设计:

在系统中将用户、图书等都封装成相应的类,同时每个类都有自己对应的操作类,从而再次提高了对数据库操作的安全性和程序的可扩展性。

4.人性化设计:

本系统导航的另一个亮点就是导航明晰。

这样,不管客户位于本“书店”的哪个角落,都不会迷路。

 

2系统设计

2.1系统设计思想

1.页面模块化

本系统把页面中一些常用的部分集成为模块,例如界面的头部,这样设计新的页面时如果有重复出现的部分,只需要拿现成的模块来组装就可以了。

2.三层结构架构

采用三层架构以后,用户界面层通过统一的接口向业务层发送请求,业务层按自己的逻辑规则将请求处理之后进行数据库操作。

然后将数据库返回的数据封装成类的形式返回给用户界面层。

这样用户界面层甚至可以不知道数据库的结构,它只要维护与业务层之间的接口即可。

这种方式在一定程度上增加了数据库的安全性,同时也降低了对用户界面层开发人员的要求。

JavaBean通过返回对象的形式来返回数据,在类的内部可以规定哪些数据可访问,哪些数据是只读的等,从而通过封装数据达到再一次提高数据安全性的目的。

2.2系统功能模块划分

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

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

图2-1客户界面系统功能模块图

管理界面的系统功能模块图如图2-2所示。

图2-2管理界面的系统功能模块图

3数据库设计

数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好环境直接应用系统的效率,以及实现的效果产生影响。

合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。

3.1数据库需求分析

用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。

收集基本数据、数据结构及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。

通过上述系统功能分析,有如下的需求信息。

(1)用户分一般用户和管理员用户。

(2)订单分单张详细订单和总订单。

(3)每一本图书都从属于一种类型。

(4)一个用户可以购买多本图书。

(5)一个用户对应一张订单列表。

(6)一个列表对应多张订单。

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

(1)管理员信息,包括数据项:

用户名、密码。

(2)普通用户,包括数据项:

用户ID、用户名、密码等。

(3)图书,包括数据项:

图书编号、图书名称分类编号等。

(4)图书分类,包括数据项:

分类编号、分类名称。

(5)订单列表,包括数据项:

订单编号、图书编号、购书数量。

(6)订单,包括数据项:

订单编号、用户编号、下单时间等。

3.2数据库概念结构设计

得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。

本实例根据上面的设计规划出的实体有:

管理员信息实体、用户信息实体、图书实体、图书分类实体、订单实体、订单列表实体。

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

图3-1实体之间关系的E-R图

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

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

图3-2图3-3

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

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

图3-4图3-5

订单实体的E-R图如图3-6所示。

订单列表实体的E-R图如图3-7所示。

图3-6图3-7

3.3数据库逻辑结构设计

数据的概念结构设计完毕后,现在可以将上面的数据库概念结构转化为某种数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。

该系统使用的是SQL2005,在线书店数据库中的各个表的设计结果如下面的表格所示。

每个表格表示在数据库中的一个表。

表3-1记录了书店现有的图书信息。

表3-1图书表

列名

数据类型

长度

说明

ID

Int

——

主键,自增

BookName

varchar

40

书名

ClassName

varchar

50

书类名

Author

varchar

25

作者

Publish

varchar

150

出版社

BookNo

varchar

30

书号

Content

text

——

简介

Prince

float

——

价格

Amount

int

——

数量

Leav_number

int

——

剩余数量

RegTime

varchar

50

录入日期

Picture

varchar

200

封面

如表3-2所示为bookadmin管理员信息表,记录管理员的账号密码。

表3-2管理员表

列名

数据类型

长度

说明

AdminUser

varchar

20

管理员账号

AdminPass

varchar

50

管理员密码

如表3-3所示为shop_user书店用户信息表,记录书店所有用户的详细信息。

表3-3用户信息表

列名

数据类型

长度

说明

ID

int

——

主键,自增

UserName

varchar

20

用户名

PassWord

varchar

50

密码

Names

varchar

20

姓名

Sex

char

2

性别

Address

varchar

150

地址

Phone

varchar

25

电话

Post

varchar

8

邮编

Email

varchar

50

电子邮箱

RegTime

smalldatetime

——

注册时间

RegIpAddress

varchar

20

注册的IP

如表3-4所示为order订单详细表,记录商店所有用户的详细信息。

表3-4订单详细表

列名

数据类型

长度

说明

Id

int

——

主键,自增

orderId

varchar

20

订单编号

UserId

int

——

用户编号

SubmitTime

smalldatetime

——

提交订单的时间

ConsignmentTime

smalldatetime

——

交货时间

TotalPrice

float

——

总金额

content

text

——

备注

IPAddress

varchar

20

用户IP

IsPayOff

int

——

是否已付款

IsSales

int

——

是否发货

如表3-5为tb_word订单信息总表,记录某个用户留言。

表3-5订单信息表

列名

数据类型

长度

说明

id

int

——

主键,自增

wordTitle

varchar

50

留言主题

wordContent

varchar

2000

内容

wordTime

varchar

50

留言时间

wordAuthor

varchar

50

留言者

如表3-6为bookclass图书分类表,记录书店现有的图书分类。

表3-6图书分类表

列名

数据类型

长度

说明

ID

int

——

主键,自增

Classname

varchar

30

类名

表3-7为allorders订单信息总表,记录某个用户的订单总信息。

表3-7订单信息表

列名

数据类型

长度

说明

ID

int

——

主键,自增

ordered

int

——

订单号

BookNo

int

——

书号

Amount

int

——

订货数量

3.4数据库的生成与配置

经过前面的需求分析和概念结构设计以后,得到数据库的逻辑结构。

现在就可以再SQL2005中创建数据表了。

4代码的编写

4.1数据库连接的代码编写

代码如下:

packagecom.yxq.toolsbean;

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.ResultSet;

importjava.sql.SQLException;

importjava.sql.Statement;

publicclassDB{

privateConnectioncon=null;

privateStatementstm=null;

/*通过构造方法加载数据库驱动*/

publicDB(){

try{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

}catch(Exceptione){

e.printStackTrace();

System.out.println("加载数据库驱动失败!

");

}

}

/*创建数据库连接*/

publicvoidcreateCon(){

try{

con=DriverManager.getConnection("jdbc:

odbc:

tang");

}catch(Exceptione){

e.printStackTrace();

System.out.println("获取数据库连接失败!

");

}

}

/*获取Statement对象*/

publicvoidgetStm(){

createCon();

try{

stm=con.createStatement();

}catch(SQLExceptione){

e.printStackTrace();

System.out.println("创建Statement对象失败!

");

}

}

/**

*@功能对数据库的增加、修改和删除的操作

*@参数sql为要执行的SQL语句

*@返回值boolean型值

*/

publicbooleanexecuteUpdate(Stringsql){

System.out.println(sql);

booleanmark=false;

try{

getStm();

intiCount=stm.executeUpdate(sql);

if(iCount>0)

mark=true;

else

mark=false;

}catch(Exceptione){

e.printStackTrace();

mark=false;

}

returnmark;

}

/*查询数据库*/

publicResultSetexecuteQuery(Stringsql){

ResultSetrs=null;

try{

getStm();

try{

rs=stm.executeQuery(sql);

}catch(Exceptione){

e.printStackTrace();

System.out.println("查询数据库失败!

");

}

}catch(Exceptione){

e.printStackTrace();

}

returnrs;

}

/*关闭数据库的操作*/

publicvoidclosed(){

if(stm!

=null)

try{

stm.close();

}catch(SQLExceptione){

e.printStackTrace();

System.out.println("关闭stm对象失败!

");

}

if(con!

=null)

try{

con.close();

}catch(SQLExceptione){

e.printStackTrace();

System.out.println("关闭con对象失败!

");

}

}

}

 

4.2登陆后界面的代码编写

代码如下:

<%@pagelanguage="java"impor="bookstore.bean.*"pageEncoding="GBK"%>

<%StringuserName=(String)session.getAttribute("username");%>

<%if(userName==null)

out.println("欢迎你客人");

else

out.println("欢迎你"+userName);%>

collapse;"bordercolor="#CCCCCC"height="400">

最新图书

collapse;"bordercolor="#CCCCCC">

书名

定价

会员价

作者

详细

<%//获取书店最新发布的图书集合

BookBeanbookBean=newBookBean();

VectorvecBook=null;

vecBook=bookBean.getLatelyBook(10);

if(vecBook!

=null)

{

for(inti=0;i

bookBean=(BookBean)vecBook.get(i);

%>

<%=bookBean.getBookName()%>

<%=bookBean.getPrice()%>

<%=bookBean.getSalePrice()%>

<%=bookBean.getAuthor()%>

bookId=<%=bookBean.getBookId()%>">

<%}}%>

 

4.3图书详细信息的代码编写

代码如下:

<%

BookBeanbook=newBookBean();

book=book.getBookDetail(newInteger(bookId).intValue());

%>

"width="100"align="left"border="1"

valign="middle"/>

书名:

<%=book.getBookName()%>

作者:

<%=bookgetAuthor()%>

出版社:

<%=book.getPublish()%>

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2