毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

JSP+Oracle CD购物系统 第6页

更新时间:2008-1-3:  来源:毕业论文
JSP+Oracle CD购物系统 第6页

安装完毕后,开始设置环境变量,新建环境变量CATALINA_HOME,值为C:\Tomcat5.5,新建CATALINA_BASE,值为C:\Tomcat5.5。

打开Tomcat5.5文件中的bin文件,双击其中的运行程序Server Runner,显示server start,服务器正常启动,此时在浏览器上敲入本地测试地址:http://localhost:8080 如果出现 Tomcat页面则证明 Tomcat安装成功,而且正常启动。

到这里,系统运行所需要的基本运行环境已经安装完成。

6.2 系统程序的安装和加载

6.2.1 文件的拷贝

我们可以将整个系统文件夹shop拷贝到Tomcat的默认根目录下,一般路径为:

C:\Tomcat5.5\webapps\ROOT。

6.2.2 数据库的连接

因为该系统仅作为毕业设计使用,为了方便演示和运行,系统所用数据库,采用了office自带的Access数据库,系统所用到的所有表都在其中,这里的数据库名称为db,放在目录shop/database/下面,连接使用ODBC数据源连接。

数据源设置步骤:(windows操作系统)

 1.进入“控制面板”-->管理工具”--->“数据源(ODBC)”

 2.选择“用户DNS”

 3.点击“添加”---〉选择驱动器“Microsoft Access Driver”---点击“完成”

 4.填写数据源名:shnxn

 5.选择数据库:shop下面database下的db.mdb,为了安全,您可以把数据库放置在任何地方,只需保证这里的连接到那个数据库即可;

 6.单击“确定”

 7.完成数据源设置

设置完数据源以后,把文件中的classes文件下的所有文件夹复制到 网站根目录的web-inf文件夹下面;

然后重启服务器即可。

在浏览器敲入地址:http://localhost:8080/shop/ 我们可以看到网站的主页面已经出现,至此,系统加载成功。

6.3系统测试

6.3.1 系统关键部分测试分析

系统完成之后,对各个模块的功能进行了详细的测试,输入数据和预测输出数据相比,发现了一些问题。主要是在查询过程中预计查询结果和实际结果不一致,有时候达不到目的,对数据库的操作表之间的关联考虑得不够周到,因此往往会出现一些小的错误。还有查询条件的前后数据类型不一致也是一个很常见的错误,需要靠一步步的查找解决。各个模块组装完成后,又会出现一些问题。比如在操作购物车结帐的这个流程中,由于是多次添加和修改,最后结帐,所以很容易造成数据混乱,必须对相应的数据关系理清楚,一些关键查询统计的SQL语句必须反复斟酌才能放在程序中使用。

6.3.2 单元测试分析

(1)经过上面部分的分析,我们可以得知,购物车模块是我们需要特别注意的地方,因为它涉及到了我们数据库中的大部分数据,并且是进行网上交易的最关键部分,绝对不能出现任何的差错,下面我们就针对这一模块进行用例测试:

我们以用户jikou的身份登入系统,用户名是:jikou  密码是:1234

然后点击定购商品:诺基亚6100   单价为3800元 

弹出购物车清单:选择商品数量  2   确认  

出现清单:显示商品名称诺基亚6100   数量2    合计 7600元

与我们估算的数据相符。

此时选择清空购物车,继续购物,点击定购商品:摩托罗拉v70  单价为2500元

选择数量3  确认,出现清单:显示商品名称 摩托罗拉v70   合计7500元  

继续选择收银台结帐,出现帐单显示:显示商品名称摩托罗拉v70  合计7500元

与我们估算的数据也相符,证明清空购物车的功能正常有效,并没有将我们第一次选购的物品计算在内,价格的计算也正确无误。

下面我们来看后台数据库的数据:

打开购物车表basket  我们可以看到以用户名jikou为关键字段的两条记录中,一条是我们第一次添加到购物车的商品信息,一条是第二次添加到购物车的商品信息,我们可以发现这两条记录的区别,第二条记录摩托罗拉的basket_check属性为是,subnumber属性为jikou2006151252,而第一条诺基亚6100 的basket_check属性为否,subnumber属性为空,证明该条记录没有产生订单也就是说这次无效的选购记录,并没有被计入到帐单中,和我们的预期目标一致,即该部分功能正常,测试完毕。

(2)对用户注册部分进行测试

用户名:jikou   密码:123456   确认:123456   E _mail:lwfree@youerw.com

 地址:河南郑州    邮编:450002    真实性名:付立夫

提交以后,弹出提示信息:该用户已存在,用户名重复验证正常

将用户名改为:几个空格    然后其他的不变

提交之后我们会发现系统返回成功页面,但问题是用户名什么也没有,空格也被作为合法的用户名,这在实际应用中是不允许的,我们需要对其命名规则进行定义,具体修改请参看后面存在问题及解决方法。

同样的邮编及电话也存在规则未定义的问题,需要对其加以定义。

6.3.3 测试分析总结及说明

在测试过程中,我经过模块测试和组装测试,排除了系统的大部分错误。当然排除所有错误是不太可能的,我想应该还有些不易检测到的错误还没有被发现,需要在使用的过程中进一步的完善,数据库的加密是一个重要的概念,在实际的应用过程中是一个尚待解决的问题,应该做好数据库的完善工作,特别是备份和安全工作;另一方面本系统没有制作相关的打印,由于时间仓促难免有错误和不完善的地方,希望老师能够帮我指点和纠正。

6.3.4 系统的性能分析

网上购物系统的性质决定了它的服务端工作负荷比较大,这就要求服务端的硬件配置要尽可能的高,主要是内存,而且操作系统也要尽可能的稳定。基于java的系统一般来说网络安全性比较好,但并不能说就一定安全,尤其在windows操作系统下,由于windows的漏洞比较多,系统装配在windows下并不是最佳的选择,如果有条件,建议可将系统装配在unix操作系统下,提高系统的抗侵入能力。

系统的核心数据库,随着数据的不断增多,必然会产生冗余,导致系统运行效率降低,建议管理员定期备份和清理冗余数据,以保证系统的正常高效运行。

6.4 系统中所存在的问题及解决方案

6.4.1 系统的整体设计和规划中的问题

由于是基于B/S的系统,网页在其中就承担着非常大的工作,包括向服务端后台写入和修改数据,以及服务端响应客户端的请求,向客户端页面返回数据,这些工作不可能只由几个网页来完成,但网页数量一多又必然结构混乱,造成开发过程难以控制。

为解决这个问题,我采用了现代软件开发过程的模块化思想,先将系统功能进行分解,大致可分为两部分,即前台和后台,前台又包括主页面及产品信息展示页面、搜索功能页面、新闻页面、购物车及订单页面等几个大的部分,后台包括会员信息管理、商品信息管理、新闻信息管理、等几个部分,各个部分又由许多小的页面组成,这样一来虽然网页数量没有减少,但结构清晰了很多,在开发过程中可以逐步,逐个模块的实现,提高了开发效率。

6.4.2 开发功能模块所遇到的难点

因为是第一次做这么完整的系统,所以碰到的问题也很多,除了一些基本的语法之外,感觉还是一些考虑问题的思文方式不太得当,比如我的这个网上购物系统,我感觉难度比较大的还是购物车这个模块比较的难设计,因为过程比较复杂,他的一些逻辑处理就比较的难以用代码实现。

我参考了一些电子商务网站,研究了一下他们的购物流程,大概有了一些处理的想法,用户在点击定购之后,系统先将该商品信息写入购物车页面,只有当用户在选择了商品数量,及确认按钮之后,系统才将该信息写入basket表,用户不选择商品数量,或者不点击确认按钮,系统就不把该商品信息写入basket表,这样就不至于造成basket表数据混乱,用户无法继续购物。

当用户完成选购,点击去收银台结算时,系统开始判断商品库中的这些商品数量是否大于用户所选数量,如果没有,则提示用户没有该商品,如果有则将所有basket表中属于该用户id的商品信息提出来,并合计价格,返回给用户,用户如果确定付款购买,则给用户提供一个订货单,由用户填写一些基本信息,确认之后,系统则产生一个唯一的订货单号,并将其返回给用户,以便用户日后查询,同时,系统则将该用户所选购的商品信息以及用户信息放入到订单表中。

这样就基本上实现了购物车的功能。

6.4.3系统中存在的问题及拟定的解决方法

(1)第一个问题是用户在注册过程中,一些关键字段的命名规则存在着比较大的缺陷,比如用户名的选择上,一般的习惯是规定只能从a~z和数字0~9的随机组合,不能有特殊字符,而且只能以字母开头,不能以数字开头,用户名的长度也有限制,我在系统中只考虑了为空的情况,这是不够的,我们可以在jsp页面添加一段javascript验证代码,主要是使用正则表达式对用户名进行限制,具体的代码如下:

if( form.username.value.length<5||form.username.value.length>20) {

alert("\您的用户名长度应该在5-20个字符之间!");长度判断

if ( fIsNumber(form.username.value.charAt(0),

"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")!=1 ){

alert("\您的用户名只能以字母开头!");            开头判断               

if ( fIsNumber(form.username.value,            特殊字符判断

"1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_")!=1 ){

上一页  [1] [2] [3] [4] [5] [6] [7] 下一页

JSP+Oracle CD购物系统 第6页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。