JSP+Access 网上购物系统 第7页

JSP+Access 网上购物系统 第7页
修改则使用update语句。

会员信息管理,则主要是对一些恶意注册用户进行删除,该功能设计存在一定问题,具体在后面会有一定说明。


                                                         图5.10 会员信息管理界面

网站信息管理,进行网上新闻的发布,修改删除,以及系统公告等信息的设置,这些功能虽然无关紧要,但在实际中却能方便用户,提高网站效益。


                                                 图5.11 新闻信息管理界面

广告链接,可进行一些广告信息的发布,及更新和修改,主要是链接一些合作单位的网页,能够给自己带来一些经济上的收益。

在完成系统的更新之后,作为管理人员,应该及时注销自己的帐户,树型菜单的上方提供了注销登陆的选项,点击之后,注销用户,并返回到前台页面,防止他人恶意修改网站信息,造成不必要的损失。

以上两个部分都是比较简单的功能实现,具体实现过程与前几个类似。

5.3.5 商品搜索模块的实现

网上购物作为一个在网上展示自己商品的销售系统,如何能让用户以最快的速度找到自己希望买到的物品,也是需要非常重视的一个问题,此时搜索引擎也就必不可少了。本购物系统也做了一个小模块,以供用户进行一些模糊查找,用户不必输入全部名称,只需输入一些关键词,系统就可以将符合该查询条件的所有商品信息以网页形式返回给用户。

该搜索功能在jsp页面中实现的关键代码为:

<%

String hw_name,sort_id;

if(session.getAttribute("sort_id")==null){       进行判断如果商品类别为空

hw_name=getStr(request.getParameter("hw_name"))  则按商品名称进行搜索

sql="select * from hw where hw_name like '%"+hw_name+"%'

order by hw_id DESC";

rs=mdb.executeQuery(sql);                 查找出所有含有该关键字的商品信息

}else{

sort_id=request.getParameter("sort_id") ;  如果商品类别不为空

hw_name=getStr(request.getParameter("hw_name"));

sql="select * from hw where sort_id='"+sort_id+"' and hw_name like '%"+

hw_name+"%' order by hw_id DESC";

rs=mdb.executeQuery(sql);         根据商品类别和商品名称进行模糊查询

}                                 并将返回结构给集合rs

if(!rs.next()){

%>                                如果集合rs为空即没有符合该查询条件的

<tr>                              商品,则返回下面这句话

<td width="380">没有你要找的商品,请先确定商品的类别</td>

</tr>

<%while(rs.next()){%>            如果集合rs不为空则说明有符合该查询条

<tr>                             件的商品将该商品信息取出来放到view.jsp

<td>                             页面输出

<ahref="views.jsp?hw_id=<%=rs.getString("hw_id")%>">

<%=rs.getString("hw_name")%>

六 系统测试及难点分析
6.1系统运行环境的搭建

6.1.1 JAVA虚拟机的安装

本系统采用的是基于java的jsp技术 ,所以java虚拟环境即java虚拟机是必须要安装的。

JDK(Java Development Kit )是一切java应用程序的基础,可以说,所有的java应用程序是构建在这个之上的。它是一组API,也可以说是一些java Class。目前已经正式发布的最新版本是JDK1.5。Windows下,直接运行.exe文件,安装到一个目录,如C:/jdk1.5,安装完成后就是环境变量的设置。

桌面上选择“我的电脑”(右键) ->高级 ->环境变量 ->在“系统变量”--->“新建” ->在变量名中输入:JAVA_HOME,变量值中输入: C:/jdk1.5   同样再新建一个变量名CLASSPATH,变量值中输入:C:\jdk1.5; C:\jdk1.5\lib\dt.jar; C:\jdk1.5\lib\tools.jar;  还需要在Path变量值后面添加一个值:C:\jdk1.5\bin。至此JAVA环境安装成功。我们可以在命令行中敲入命令java 如果显示java帮助,则证明环境设置成功。

6.1.2  Tomcat环境搭建

安装TOMCAT,直接使用默认安装就可以了,假如我们将其安装在C:\Tomcat5.5,

安装完毕后,开始设置环境变量,新建环境变量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:jikou@163.com

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

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

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

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

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

6.3.3 测试分析总结及说明

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

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

Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有