网上书店系统课程设计.docx
- 文档编号:3476791
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:15
- 大小:246.61KB
网上书店系统课程设计.docx
《网上书店系统课程设计.docx》由会员分享,可在线阅读,更多相关《网上书店系统课程设计.docx(15页珍藏版)》请在冰豆网上搜索。
网上书店系统课程设计
目录
1.绪论4
1.1问题的定义与内容简介5
2.网上书店系统需求分析6
2.1可行性分析6
2.2系统用例图7
2.3系统功能模块分析7
3.网上图书系统数据库设计7
3.1数据库设计概述7
3.2E-R图8
3.3表结构8
4.网上书店系统程序设计与编码9
4.1系统功能实现9
4.2系统界面实现10
5.网上书店系统源代码13
5.1BookDBBean.java:
13
5.2catalog.java:
16
6.总结18
摘要
随着科学技术的不断进步,计算机已经深入到每个人的身边。
未来的时代是信息的时代,高新技术将我们走进一个崭新的时代。
越来越多的人们喜欢网上购物,它不仅快捷,方便而且大大节省了我们宝贵的时间。
网上书店系统是网上购物一个小分支,通过对网上书店系统的研究分析,开发了此系统。
该系统包括:
查询图书,显示所有图书,显示图书详细信息,加入购物车,增删图书等主要模块。
在软件开发过程中,会经常开发许多功能类似的单元。
这种完全重复的开发会造成人力,财力的巨大浪费。
所以在本系统开发中本着软件复用的原则进行设计。
本系统使用jsp设计系统界面,javabean设计功能的实现。
通过jdbc链接mysql数据库实现数据的存取。
系统简单,方便,实用。
关键词:
网上书店,复用,jsp,javabean,mysql
1.绪论
现在的时代是一个现代化的时代,经济,信息,文化等正在高速。
电子商务借着电子信息的高速发展正在蓬勃生起,未来的时代一定是处处充满着电子信息的信息时代。
电子商务的出现,极大程度上方便了人们日常的生活,使人们逐渐适应了网上购物,并喜欢上了网上购物。
网上购物有以下几点好处:
第一,可以在家“逛商店”,订货不受时间、地点的限制;
第二,获得较大量的商品信息,可以买到当地没有的商品;
第三,网上支付较传统拿现金支付更加安全,可避免现金丢失或遭到抢劫;
第四,从订货、买货到货物上门无需亲临现场,既省时又省力;
第五,由于网上商品省去租店面、召雇员及储存保管等一系列费用,总的来说其价格较一般商场的同类商品更便宜。
其次,对于商家来说,由于网上销售没有库存压力、经营成本低、经营规模不受场地限制等。
在将来会有更多的企业选择网上销售,通过互联网对市场信息的及时反馈适时调整经营战略,以此提高企业的经济效益和参与国际竞争的能力。
再次,对于整个市场经济来说,这种新型的购物模式可在更大的范围内、更广的层面上以更高的效率实现资源配置。
综上可以看出,网上购物突破了传统商务的障碍,无论对消费者、企业还是市场都有着巨大的吸引力和影响力,在新经济时期无疑是达到“多赢”效果的理想模式。
1.1问题的定义与内容简介
本次课程设计所解决的主要问题是如何通过设计一个切实可行的软件系统用于解决目前网上书店系统中信息处理总量大,种类繁多,手段落后的现状。
所涉及的处理内容包括:
开发一个能够及时处理订单信息更新的管理系统;开发一个为广大用户提供图书信息服务网上书店系统,功能包括图书操作、购物车操作等。
基于JAVABEAN编写的网上书店系统,就是用计算机作为媒介,传送信息,通过计算机实现信息的自动化管理。
构建基于计算机软件管理信息化平台,可以克服传统书店买卖中的局限性,形成一种主动的、协作的、开放的管理模式,既节省资源,又不受空间限制。
围绕这个目标,应用平台的开发设计必须突出坚持网上书店管理内容与技术手段相结合,以图书为主的主体性要求;既要立足当今先进技术,又要考虑未来技术发展的前瞻性要求;适应于各种软硬件环境,兼顾不同系统要求,适用于不同水平读者群的通用性要求;以尽可能低廉的投入而获得尽可能高效的经济效益的经济性要求。
本课题主要是解决网上书店系统的问题,目标是使网上书店信息系统在管理上也能做到数据的信息化、快速化和智能化。
在每一模块中,必须做到良好的读者界面,并尽量做到在单表或多表中根据单一或复合条件进行查询及修改等功能,能够对输入的数据做智能、快速处理。
2.网上书店系统需求分析
2.1可行性分析
可行性分析又可以分为技术可行性和经济可行性。
在技术可行性分析上,主要分析技术条件是否能满足系统开发要求,软硬件能否满足要求。
通过JSP进行网页界面的设计,JAVABEAN实现系统的要求,数据库采用开源的MySql,完全可以胜任小型的数据存取。
而且目前硬件水品完全可以满足此系统要求。
在经济可行性分析上,此系统要求成本不高,在现有计算机软硬件基础上就可达到此系统要求。
2.2系统用例图
2.3系统功能模块分析
3.网上图书系统数据库设计
3.1数据库设计概述
数据库设计是整个系统的基石,数据库设计的好坏直接影响整个系统的设计成败。
进行数据库设计首先必须准确了解与分析消费者需求(包括数据与处理)。
需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。
需求分析的结果是否准确地反映了消费者的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。
将图书信息抽象为系统所需的数据项。
图书信息包括ID,书名,作者的名字,出版社,图书发行日期,价格,库存和备注主要信息。
3.2E-R图
3.3表结构
4.网上书店系统程序设计与编码
4.1系统功能实现
BookBean,CartItemBean和CartBean之间的关系如图所示:
4.2系统界面实现
这是网上书店系统的首页,消费者可以使用关键字搜索或者查看所有图书。
此界面是通过index.jsp实现。
搜索:
消费者可以输入关键字,点搜索按钮显示系统会显示是否存在图书。
查看所有图书:
消费者可以通过此按钮查看系统中所有的图书。
这是通过搜索按钮,返回的页面。
如果有此图书,系统会显示此图书信息并显示库存量。
此界面由search.jsp实现,通过引用BookDBBean.java实现搜索查询,BookDBBean.java封装了对数据库的操作,包括了查询图书信息,更新图书信息,更新图书库存数量等功能。
这是通过点击显示所有图书返回的界面,消费者可以通过此功能查看网上书店中的所有图书,此界面由catalog.jsp实现,同时由BookDBBean.java实现其功能。
消费者可以点击图书按钮,查看图书详细信息。
加入购物车:
点此按钮,系统将此图书加入到购物车中。
查看购物车:
点此按钮,系统将转到购物车页面并显示购物车中图书。
此界面是通过查看购物车返回的界面,消费者可以在此界面中查看已加入到购物车中的图书,取消图书,继续购物或者合计付款。
此界面由showcart.jsp实现,由CartBean.java实现其功能。
CartBean.java代表了虚拟的购物车,提供了增加,删除购物车条目的功能。
删除:
点此按钮,删除图书。
继续购物:
返回首页,可以继续购物。
此界面显示了图书的详细信息,消费者可以通过此页面查看图书的相关信息。
此界面有bookinfo.jsp实现,同时由BookDBBean.java实现其功能。
此界面是删除图书返回的界面,通过调用delitem.jsp从购物车中删除一条信息,有showcart.jsp显示购物车中所有购书条目。
通过CartBean.java实现其功能。
此界面实现向购物车中增添书目,消费者通过点击加入购物车使图书加入到购物车。
此界面通过additem.jsp实现添加数目,catalog.jsp显示图书,由CartItemBean.java实现其功能。
CartItemBean.java表示用户放到购物车中的一项条目,条目中包括的内容有表示图书信息的BookBean对象,购买图书的数量和本项目的合计价格。
5.网上书店系统源代码
5.1BookDBBean.java:
此模块实现了查询图书信息,更新图书库存数量等功能。
部分源代码:
/**
*关闭连接对象。
*/
protectedvoidcloseConnection(Connectionconn)
{
if(conn!
=null)
{
try
{
conn.close();
conn=null;
}
catch(SQLExceptionex)
{
ex.printStackTrace();
}
}
}
/**
*关闭Statement对象。
*/
protectedvoidcloseStatement(Statementstmt)
{
if(stmt!
=null)
{
try
{
stmt.close();
stmt=null;
}
catch(SQLExceptionex)
{
ex.printStackTrace();
}
}
}
/**
*关闭PreparedStatement对象。
*/
protectedvoidclosePreparedStatement(PreparedStatementpstmt)
{
if(pstmt!
=null)
{
try
{
pstmt.close();
pstmt=null;
}
catch(SQLExceptionex)
{
ex.printStackTrace();
}
}
}
/**
*关闭ResultSet对象。
*/
protectedvoidcloseResultSet(ResultSetrs)
{
if(rs!
=null)
{
try
{
rs.close();
rs=null;
}
catch(SQLExceptionex)
{
ex.printStackTrace();
}
}
}
BookDBBean主要封装了对数据库的操作,实现了查询图书信息,购买图书的功能。
在这个类中,单独定义了4个closeXXX()方法,用于关闭ResultSet对象,PrepareStatement对象,Statement对象和Connection对象。
为了确保打开的对象能够关闭,将closeXXX()方法放到finally语句中去的调用。
/**
*购买购物车中所有的图书。
*/
publicsynchronizedvoidbuyBooks(CartBeancart)throwsSQLException
{
Connectionconn=null;
PreparedStatementpstmt=null;
Iterator
try
{
conn=getConnection();
Stringsql="updatebookinfosetamount=amount-?
whereid=?
";
pstmt=conn.prepareStatement(sql);
while(it.hasNext())
{
CartItemBeanitem=(CartItemBean)it.next();
BookBeanbook=item.getBook();
intbookId=book.getId();
intquantity=item.getQuantity();
pstmt.setInt(1,quantity);
pstmt.setInt(2,bookId);
pstmt.addBatch();
}
pstmt.executeBatch();
}
finally
{
closePreparedStatement(pstmt);
closeConnection(conn);
}
}
}
在buyBooks()方法中,利用批量更新来执行购买购物车中所有图书的数据库操作。
在数据库操作中,采用批量更新,可以提高性能,减少服务器的负载。
5.2catalog.java:
列出书店中所有的图书,客户可以将选中的图书放进购物车中。
源代码:
<%@pagecontentType="text/html;charset=GB2312"%>
<%@pageimport="org.tongtie.ch09.bookstore.*"%>
<%@includefile="common.jsp"%>
<%@pageimport="java.util.Collection,java.util.Iterator"%>
useBeanid="cart"scope="session"class="org.tongtie.ch09.bookstore.CartBean"/>
includepage="additem.jsp"flush="false"/>本网站销售的图书有:
<%
Collection
Iterator
%>
书名 | 价格 | 购买 |
---|---|---|
id=<%=bookId%>">《<%=title%>》 | <%=price%> | add=<%=bookId%>">加入购物车 |
购物车中现有<%=cart.getNumOfItems()%>种图书
在catalog中,将购物车对象的分为定义为session,这样,每一个消费者在本次会话中都有唯一的一个购物车对象,当会话结束的时候,购物车对象被注销。
在每本图书后添加一个“加入购物车”的链接,他的url仍然是catalog.jsp页面,只不过附加了一个“add”请求参数,当消费者单击某本书后的“加入购物车”链接,那么 include>动作所包含的additem.jsp页面来负责完成加入图书到购物车的功能。 6.总结 通过几天的课程设计实验,在老师和同学的帮助下,网上书店系统终于写完了。 刚开始构思系统的时候,毫无头绪,不知道该怎样设计,怎样实现,通过翻书,在网上查资料终于确定了一个大至方向,准备写网上书店系统,有了方向就好写了。 初步的思路是通过jsp设计界面,jsp页面在Html元素中嵌入java脚本代码和jsp标记,使得文件长度变短,格式更加清晰。 但是在jsp页面中嵌入大量的java代码与html代码混杂,这将导致以后修改和维护上的困难。 为了分离页面中的html代码和java代码,用javabean实现。 因为在jsp页面中,既可以像使用普通类一样实例化javabean类的对象,调用它的方法,也可以利用jsp技术中提供的动作元素来访问Javabean。 数据库我选择的是Mysql,它是开源数据库,使用免费,它还安装方便,使用简单,与java无缝链接。 接下来开始在网上查资料,查询网上书店的功能,进行需求分析,通过一步一步翻资料终于写出了网上书店系统的大致框架,最后卡在了链接数据库上面了,总是提示不能找到数据库,后来在老师的帮助下,解决了困难,原来是在数据库链接池那出现了问题,在tomcat中context中的配置文件出现错误。 最后终于完成本次课程设计。 在本次课程设计实验中,我收获很多,首先我看到了自己不足的一面,有道是“书到用时方恨少”,在实际操作中,才意识到自己基本功的不扎实。 很多地方都是通过查资料,问同学,老师学会的。 另外通过课程设计,我体会到了作为一名软件开发人员的辛苦和乐趣,在没有思路时候的烦躁,在完成一个项目使得快乐都是在别处不能体会到的。 参考文献: 孙鑫《servlet和jsp深入详解》
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网上 书店 系统 课程设计