跳蚤市场设计报告
Revised on November 25, 2020
【摘要】本课程设计运用java语言,将实际跳蚤市场搬到互联网,实现网上信息
发布与留言。只有在校生才能注册用户,登录后方可发布信息与留言。管理员可以查看用户注册信息、删除用户留言等。用户以邮件方式、联系电话实现信息交互,留言反馈。商品管理在发布信息时实现信息的分类,网络版的“跳蚤市场”让校园交易变得轻松,简单。
关键词:跳蚤市场 发布 互联网 信息交互
一 需求分析
随着现代信息化的普及,网络逐渐成为一个商品交易的平台。用户要进行商品的买卖,网络使这种交易变得更加灵活。这就要求将实际的跳蚤市场变成网络上的跳蚤市场,用户可以在网络上直接发布求购信息和出售信息。为了使交易更加方便顺利的进行,同时使本校学生能够很快的实现自己的商品交易,本跳蚤市场使用java语言,嵌入javascript脚本和div的布局,在Myeclipise 的环境下,使用sqlserver2000数据库,实现了动态网页的信息交互。该网站只对本校学生开放。所有的人都可以查看用户发布的信息和留言。
进入网站之后,要想发布信息和留言,必须先登录,如果是本校学生且是本网站的用户,可以输入用户名和密码直接进入发布信息和发布留言。该用户可以查看所有留言和发布的信息。想要修改留言和发布信息的话还可以修改,但只能修改自己发布的信息。还可以删除自己的信息。如果是本校生但是没有注册用户的话,可以注册后再登录。为了核查注册的用户是本校学生,必须输入学号以核实。为了本网站的安全性,非本校生不可以注册。如果用户想要退出本跳蚤市场,可以注销。为了便于本网站的管理,用户注销后,该用户所发布的信息和留言也随之删除。作为一个网站,用户应该可以修改自己的信息:用户名和密码。本网站还设计了用户修改信息的页面,供用户修改。为了便于管理和信息的安全性和有效性,避免不良信息的出现,本网站设有管理员。可以更新和删除所有用户的留言信息。还可以查看用户的注册信息。为了使网页看起来美观,该网站采用了div的布局方式,嵌入了多种javascript脚本。为了使进入本网站的人可以先了解本网站,在首页的右侧设置了简介。要使进入该网站的所有人可以更容易的找到自己所需要的信息,本网站设置了信息分类,可以查看发布的信息的详情,这样可以更容易找到买者或卖者。为了使网站整体更协调,在首页右上角插入了透明flash,更好地与首页背景图融合在一起。在页面中还导入了自己制作的导航条,使链接更加方便和快捷,使页面更加的美观。需求分析是很有必要的,有所需才会有所求。只有需要了,才会知道应该怎么去做。盲目的去做,肯定达不到自己想要的效果。在编程过程中做好需求分析,才能更好地进行下一步的操作。才能更好地服务于用户。
二 概要设计
该网站整体采用了div的布局方式,中间内容是一个iframe。共有五个模块。首页部分、信息分类部分、发布信息部分、留言簿部分和帮助部分。首页部分是对该网站的简单介绍。信息分类部分中是各个用户发布的商品信息,用了框架布局。左侧是信息的分类。右侧是信息的内容。内容中可以查看信息详情。发布信息部分中用户可以发布信息,但是必须先登录。合法的用户登录进去之后方可发布信息。用户可以查看自己发布的商品信息, 可以更新和删除自己的信息。在发布信息大字下面点击我要发布就可以发布信息。所有人都可以查看所有留言,如果要发布留言,点击我要留言时,提示先登录。用户在登陆进去之后才可留言。登录进去之后用户可以更新和删除自己的留言信息。在更新留言的页面中用户还可以对该页面更换背景颜色。帮助信息中用户可以查看各个模块的操作方法。在首页的右侧也可以查看各个模块的使用说明。
三 详细设计
(一)模块划分
1、模块划分
该网站共有六个模块。用户模块、首页模块、信息分类模块、发布信息模块、留言
簿模块和帮助模块。该网站最大的特点就是多处运用javascript代码,透明flash,还运用了网页中使滚动条变颜色的插件。
(1)、用户模块
用户模块包括用户注册、用户注销和用户信息修改。只有数据库message表(相当于学校学生数据库)里的学号可以注册用户。用户注册时必须先输入学号以判断学号是否是合法的,如果学号不合法就不能进行注册。如果注册的用户名已存在的话有相应的提示。用户如果想要退出跳蚤市场,可以进行注销。注销后该用户的所有留言信息和发布信息都会随之删除。用户还可以修改自己的密码。
(2)、首页模块
首页是该网站一些简单的简介。
(3)、信息分类模块
信息分类是所有用户发布的商品信息。还可按发布的商品信息的类型进行划分。 该跳蚤市场的商品信息的类型共有九类:计算机类、金融类、会计类、英语类(属于书籍类)、mp3、电脑(属于电子产品类)、电脑硬件类、日常用品类和其他类。还可以查看商品的的详情。
(4)发布信息模块
要想发布信息,提示先登录。只有已注册的用户才可以发布信息。用户还可以更新和删除自己的发布信息。
(5)、留言簿模块
任何人都可以查看所有的留言信息。但是要想留言,必须先登录。登录之后才可发布留言和更新删除自己的留言。如果管理员进入留言簿,可以查看用户注册的信息,可以更新和删除所有的用户的留言信息。
(6)、帮助模块
帮助模块主要是对该网站的一些功能的用法的介绍。
2、程序流程图
首 页
首 页 用 户
信息分类类 我要发布
留言簿 帮 助
注册
计算机类
登录
留言表
注销 金融类
发布信息
登 录
修改信息
会计类
我要发布 管理员登陆 用户登录
英语类 详情
用户信息 进入留言板
Mp3
修改/删除 进入留言板 我要留言
电脑
我要留言 更新删除
电脑硬件 更新删除 自己留言
日常用品 所有留言
其他
(二)数据库设计
本网站的数据库采用sqlserver 2000数据库。数据库的名字为market。market中有四张表,分别是message表(学生信息表)、usermessages表(用户注册信息表)、board表(留言信息表)和goodsmessage表(用户发布的商品信息表)。用户注册的时候,注册的学号应与message学生信息表中的学号去匹配。如果注册的学号没有在message表里,提示学号不合法。输入合法的学号、用户名和密码之后,信息直接插入到usermessage表里。用户发布的留言插入到board表中,发布的商品信息插入到goodsmessage表里。
(三)代码设计
1、首页的设计
首页中是该网站的一些简单介绍。首页中的字放在了marquee中,设置它的direction属性为down,效果就是字体从页面的上部乡下滚动。效果如下图所示:
2、用户模块的设计
用户模块中要注册用户时需要输入学号,与数据库中message学生信息表中的学号去匹配,如果message表中没有该学号就不能注册。效果如下:
3、信息分类的设计
点击信息分类时可以查看所有发布的信息。左侧有信息的分类,可以查看发布的各类信息。如:要查看计算机类的书籍的发布情况,点击之后就进入到了计算机类书籍的页面。查看详情的时候,用url信息跟踪把该条信息的商品号跟踪下来,从数据库中查出该商品号的所有信息,在页面上显示出来。通过javascript中浏览器对象中的history对象返回上一页。在信息分类的内容区域中,使用了框架集。点击左侧的类型,内容显示在右侧。效果如下图所示: 查看详情效果如下:
4、我要发布的设计
要发布信息,首先需要登录。登录之后可以查看自己所发布的信息,可以更新和删除。更新和删除也是用url信息跟踪,把该条信息的商品号跟踪下来。删除时会弹出提示信息,是否要删除。点击是的话就会删除该条信息,点击否的话就会返回。发布信息的页面出现的方式是垂直百叶窗的方式,使网页更加美观。删除的提示如下图所示:
5、留言簿的设计
点击留言簿的时候,可以看到所有的留言信息,不可以更新和删除。但是要想发布留言点击我要留言时提示先登录。为了保证信息的安全性,登录之后才可留言,管理员登陆进去之后可以修改和删除所有人的留言。可以查看所有已注册的用户的注册信息。
用户进入之后只可删除自己的。在这里,从数据库中取出信息的时候,代码中用了一条if和else语句。
if(\"admin\")){
sql=\"select * from board \"; } else{
sql=\"select * from board where username='\"+()+\"'\"; }
删除留言信息时也有相应的提示,在更新页面的左上角有一个按钮,按下去之后可以更换背景颜色,这是用了一段javascript代码。在更新留言和留言板页面中,表情放在了一个层里,所用的图片是gif图片。留言板的效果如下: 更新页面如下:
6、帮助的设计
在帮助页面中插入了一个四行两列的表格。里面是一些帮助信息。效果如下:
四 测试与维护
(一)测试
在编写代码的过程中,每实现一个功能的每一部分都要有相应的测试。在这个过程中遇到了很多问题。先将遇到的问题和解决方案总结如下: 问题一:在运行过程中出现了类找不到和空指针异常 解 决:经同学提醒后发现没有导入三个包
问题二:登录进去后,出现了表user附近有语法错误。
解 决:经同学提醒,在数据库里建表时表名用了user,改过之后运行正常。 问题三:运行时出现了数据库连接异常。
解 决:经仔细检查,在操作的时候没有附加上相应的数据库。 问题四:在留言板选择头像时头像图片显示不出来。
解 决:仔细检查后发现,原来是在JavaScript中头像没有获取正确。 问题五:更新留言时获取不过来留言内容和留言主题。
解 决:仔细检查后发现在中通过id传的那个方法中的连接数据库的表名写错了。 问题六:在发布信息中,单选按钮的买或卖插入不到数据库,插到数据库中的是on。 解 决:上网查了资料后才知道,在input中应写上value,这样就可以了
问题七:在发布信息的选择下拉列表中,获取的是option的value的值,没有获取到
中间的汉字。
解 决:经上网查资料后知道下拉列表中获取的就是value的值,我把value的值写成
了中间的汉字,这样问题就解决了,汉字就可以插入到数据库了。
问题八:在删除自己的发布信息时出现了NumberFormatException异常。 解 决:经仔细检查后发现,通过goodsID删除时字段名写错了。
问题九:更新发布的信息时能获取要更新的信息,但是不能更新,又作为一条新的发布
信息插入到数据库。
解 决:更新信息页面的表单的action写成了测试插入发布信息的页面。
在编程过程中难免遇到错误,所以在每写一段代码时都应该进行测试。在遇到错误时要仔细看看代码,看到底是哪出了问题。一定要认真仔细。测试与调试过程是很困难的,有时候会只因为自己一点小马虎折腾好几天。所以,测试过程是很重要的。不要等到代码都写完了再去测试,那样会很麻烦。测试也是软件工程的一部分,有人会认为我写出代码就行了,那他就 犯了一个很大的错误。测试是不可小觑的。
(二)维护
程序做完全部运行成功之后,在以后的使用中还需要定时的进行维护。本网站需要定时查看有没有发布不良信息。有的话管理员要及时删除。定时查看有没有出现异常情况。定时测试程序的功能,以便用户更好的使用。
五 总结
在每一次的编程过程中都会有新的发现,新的体会。编程是一个很艰难的过程。有的时候会因为程序没做完而不吃饭。课程设计做完了,但是我们的程序还没有结束。还要进一步的完善 。这次的课程设计最大的一个收获就是遇到问题时90%都是自己解决的。这是一个很大的提高。编程不怕出错,老师说的没错,出错了解决之后一定要做笔记,错在哪,为什么错,都需要自己去好好分析,出了问题自己就能更好的掌握更多的知识,以后再出现问题时就不会措手不及了。还有一个收获就是提高了自己上网查资料的水平。以前一遇到问题就会着慌,急着问同学。现在想想,其实自己上网查资料会更好一些。实在不会了,应该请教一下同学或者老师。在编程过程中一定要非常认真,这也是我一直所信仰的。但是在写代码的过程中还是免不了因为不认真出现错误。编程过程虽然很艰难,但在自己写出一个程序的时候会觉得很开心,很有成就感。这次的课程设计用了很长时间,至少在我看来是很值得的,因为它让我懂得了很多东西,让我收获良多。从一开始的不懂到现在的熟练,这是一个慢慢成长的过程。摔倒了只有慢慢爬起来才会有前进的可能。编的代码多了还有一个小小的好处,那就是能提高自己的打字水平。通过这次的课程设计,我深深体会到了在做一个项目时首先应该有思路。刚开始着手课程设计时一点思路也没有,别人都开始了一半了,自己还没有开始,觉得很是着急,但是着急也没用,应该冷静下来仔细考虑考虑。虽然我的课程设计比别人开始的
晚,但我相信,只要我努力,我会完成的。事实证明我做完了。我相信,只要自己肯努力,会有收获的。
从前台页面的设计到后台数据库的使用,知识都是相通的,到现在我更加地体会到了这一点。前台界面需要用到网页设计的布局,后台需要数据库的支持,代码需要用到java语言,这次的课程设计综合了所学的三门学科的知识,更融洽地将这三门学科结合到了一起。也使我们懂得了学好各科目的重要性。
这次的课程设计很有价值,也是我们做动态网站的一个开始。良好的开端是成功的一半,相信我们在以后的编程过程中会变得更加成熟。相信天道酬勤,时不我待!
致谢:能做好这次的课程设计,首先感谢辛辛苦苦教我们的曹莹老师,是曹老师辛辛
苦苦的教我们知识,帮我们解决问题,我们才会有今天的成果。然后感谢我的舍友,在我遇到问题解决不了时,是她们给了我帮助。感谢所有支持我的人,谢谢你们的支持!
参考文献:JSP由浅入深开发技术能力教程
六 用户使用说明书
该网站的使用环境:MyEclipse 使用的数据库:sqlserver 2000
安装环境:先装好jdk和tomcat ,装好之后再装上MyEclipse ,都装好之后在文件下
拉菜单下导入本项目market。之后在MyEclipse 环境的菜单栏中选择window->preference->MyEclipse Enterprise Workbench->Servers->Tomcat,在相应的位置上部署好tomcat,在tomcat下部署好jdk。然后在把market项目部署到tomcat里,启动服务器,注意:不要在开始菜单中启动服务器,在MyEclipse 中启动,千万不能同时启动。还要安装SqlServer 2000。装好之后,把要连接的数据库附加到数据库中去。
使用说明:一切都部署完成之后,在浏览器的地址栏中输入,进入tomcat中,然后点击
左侧的Tomcat Manager,进入之后点击自己部署的项目market,就会进入到该网站的首页,进入之后可以查看所有用户的留言信息,如果想要发布的话必须先登录。如果是在校生且没有注册的话,可以注册,注册时必须输入合法的学号。如果是非本校学生,不可以注册。登录之后方可进入留言簿,进入之后可以查看自己的留言,更新删除自己的留言信息,还可以进行留言。管理员进入之后可以查看、更新和删除所有的留言,还可以查看用户信息。如果有什么东西想要买或卖的话可以发布信息,点击我要发布,先登录,只能是合法的用户才可以发布信息,以保证该网站的安全性。登录进去之后可以发布信息。可以更新删除自己发布的信息。如果不是在校生,想要查看发布的信息的话可以查看信息分类,信息分类中还可以查看信息详情。如果是
我们的用户,想要注销的话,可以点击注销。需要提醒的是,如果您注销了,您的所有留言和发布的所有信息都将会随之删除。如果想要修改密码的话点击修改信息,可以修改您的密码。注册、注销和修改信息成功的话都将跳转到首页。如果您不知道本网站的规则的话进去之后可以查看帮助,还可以在网站右侧查看各个板块的要求和规则。
因篇幅问题不能全部显示,请点此查看更多更全内容