BBS网络系统技术开发与应用报告.docx
- 文档编号:19023796
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:46
- 大小:919.07KB
BBS网络系统技术开发与应用报告.docx
《BBS网络系统技术开发与应用报告.docx》由会员分享,可在线阅读,更多相关《BBS网络系统技术开发与应用报告.docx(46页珍藏版)》请在冰豆网上搜索。
BBS网络系统技术开发与应用报告
BBS网络系统技术开发与应用报告
第一章绪论
1.1BBS的发展背景
BBS是1992年底随着国际互联网的开始流行而迅速发展起来的。
互联网的产生使得以前只能在本地访问的BBS可以被全世界随意访问,这对大多数人来说是极具诱惑力的。
BBS是一个有多人参加的讨论系统,在BBS上大家可以对一个共同感兴趣的问题进行讨论,自由地发表自己的意见与观点,并且能直接与其他的人进行沟通。
按照网站的性质以及服务对象来分,迄今有以下几种类型:
一是校园BBS。
校园BBS作为主要的集中地,在BBS领域具有举足轻重的地位。
由于校园BBS的繁荣,吸引了很多的社会人士参与。
二是专业BBS。
一般是由各个著名的大公司组建,人们可以利用其交流自己对商品的看法,更为重要的是可以解决商品使用中的问题。
三是商业BBS。
它是由ISP建立的BBS站点,这类BBS站点各种信息比较多,内容相当丰富。
四是小型局域BBS。
一般是由个人或小型集体建立,为小范围信息交流服务。
五是业余BBS,一般由BBS爱好者个人利用一些免费空间办的BBS,目的是为广大网友提供一个在某些专业上的交流场所。
六是新闻媒体BBS,是由新闻媒体网站设立的,为广大网友提供对新闻信息进行评论、发表意见和观点的场所。
随着互联网事业的蓬勃发展。
BBS这个具有强大实时交互功能,信息交流额平台,使人们不再像电视观众、电台观众、报纸杂志读者一样只是被动地观看、收听、阅读,而是可以积极而及时地参与讨论,在了解他人观点意见的同时也可以发表自己的看法。
1.2开发环境及相关技术
1.2.1JSP技术简介
JSP是服务器端的脚本语言,是以SERVLET为基础开发而成的动态网页生成技术,它的底层实现是javaServlet
JSP由html代码和嵌入其中的java代码所组成。
服务器在页面被客户端请求以后对这些代码进行处理,然后将产生的html页面返回客户端的浏览器。
按照脚本语言是服务于某一个子系统的语言这种论述,JSP应当被看做是一种脚本语言。
然而,作为一种脚本语言,JSP又显得过于强大了,在JSP中几乎可以使用全部的Java类。
JSP的特点是面向对象、跨平台、和Servlet一样稳定、可以使用Servlet提供的API,同时克服了Servlet的缺点。
在使用JSP时一般和JavaBean结合使用,从而将界面表现和业务逻辑分离。
分开内容和显示逻辑的好处是,更新页面外观的人员不必懂得java代码,而更新JavaBean类的人员也不必是设计网页的行家里手,皆可以用带JavaBean类的JSP页面来定义web模板,以建立一个具有相似的外观的页面组成的网站。
JavaBean类完成数据提供,这样在模板中就没有java代码,这意味着这些模板可以由一个html编写人员来维护。
当然,也可以利用javaServlet来控制网站的逻辑,通过javaServlet调用JSP文件的方式来将网站的逻辑和内容分离。
1.2.2JAVABEAN技术简介
JavaBean是基于java的组件模型,有点类似于Microsoft的com组件。
JavaBean就是java的可重用组件技术。
ASP通过COM来扩充复杂的功能,如文件上载、发送email以及将业务处理或复杂计算分离出来成为独立可重复利用的模块。
JSP通过JavaBean实现了同样的功能扩充。
JSP 对于在Web 应用中集成JavaBean 组件提供了完善的支持。
这种支持不仅能缩短开发时间(可以直接利用经测试和可信任的已有组件,避免了重复开发),也为JSP 应用带来了更多的可伸缩性。
JavaBean 组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等。
在JAVA平台中,可以无限扩充JAVA程序的功能,通过JAVABEAN的组合可以快速生产新的应用程序。
JAVABEAN 通过JAVA虚拟机(JAVA VIRTUAL MACHINE)执行,运行JAVABEAN最小的需求是JDK1.1或者以上的版本。
对于程序员来说,最好的一点就是JAVABEAN可以实现代码的重复利用,另外对于程序的易维护性等等也有很重大的意义。
在实际的JSP开发过程中,读者将会发现,和传统的ASP或PHP页面相比,JSP页面将会是非常简洁的,由于JavaBeans开发起来简单,又可以利用Java语言的强大功能,许多动态页面处理过程实际上被封装到了JavaBeans中。
JAVABEAN传统的应用在于可视化的领域,如AWT下的应用。
自从JSP诞生后,JAVABEAN更多的应用在了非可视化领域,在服务器端应用方面表现出了越来越强的生命力
1.2.3JDBC技术简介
JDBC是一组API,定义了用来访问数据库源的标准JAVA类库,使用这种类库可以使用一种标准的方法、方便地访问数据库资源。
JDBC是用于执行SQL语句的Java应用程序接口,由一组用Java语言编写的类与接口组成,在JSP中将使用JDBC来访问数据库。
JDBC是一种规范,它让各数据库厂商为Java程序员提供标准的数据库访问类和接口,这样就使得独立于DBMS的Java应用程序的开发工具和产品成为可能。
JDBC的目标是使应用程序开发人员使用JDBC可以连接任何提供了JDBC驱动程序的数据库系统,这样就使得程序员无须对特定的数据库的特点有过多的了解,从而大大简化了和加快了开发过程。
一般的Java开发工具都带有JDBC - ODBC桥驱动程序,这样,只要是能够使用ODBC访问的数据库系统,也就能够使用JDBC访问了。
有趣的是,不同于ODBC是Open Database Connectivity的简称,JDBC并不是Java Database Connecivity的简称,而是SUN的注册商标,至少官方说法是这样的。
JDBC API 为访问不同的数据库提供了一种统一途径,像ODBC一样,JDBC为开发者屏蔽了一些细节问题。
另外,JDBC对数据库的访问也具有平台无关性。
1.2.4TOMCAT技术简介
在已JAVA技术为的WEB开发领域中,TAMCAT是许多JAVA程序员相当喜爱的开放源代码产品,它附属在APACHE SOFTWARE FOUNDATION 所主导的JAKART项目内。
由于TAMCT是SERVLET与JSP技术的参考实现(REFERNCE IMPLEMENTATION),所以它不但可以当作独立的WEB服务器,也可以结合其它的WEB服务器,只担任SERVLET容器或JSP容器的角色。
1.2.5运行环境
为了保证BBS论坛管理系统运行的高效性和可靠性,服务器应具有较高的软硬件配置,客户端的要求不是很高。
此应用程序可广泛运行于国际互联网即Internet,也可适用于内部的局域网。
其运行要求如下:
软件环境:
客户端:
Windows95/98/2000/XP,Internet Explorer(IE)等。
服务器端:
Windows NT/Windows2000,Tomcat 5.0,JDK 1.5及其以上版本,IE等; 数据库:
采用MYSQL,运行于服务器端。
硬件环境:
服务器 CPU:
PIII 500以上 ,内存:
512M以上。
客户机 CPU:
P200MMX以上,内存:
32M以上。
第二章系统分析
2.1系统分析的目标任务
对于典型的数据库管理系统,尤其是对像论坛这样的数据流量特别大的网络管理系统,必须要满足使用方便、操作灵活等设计需求。
本系统在设计时应满足以下几个目标:
1.采用人机对话的操作方式,界面设计美观友好,信息查看灵活、方便、快捷、准确,数据存储安全可靠。
2.全面展示系统内所有分类的帖子,并进行分页显示。
3.为用户提供一个方便、快捷的主题信息查看功能。
4.实现在线发表帖子。
5.提供登录模块,主要用开管理员登录系统和发表帖子时留下发表者的信息。
6.用户随时都可以查看自己发表的帖子。
7.对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。
8.系统最大限度地实现了易维护性和易操作性。
9.系统运行稳定安全可靠。
2.2需求分析
论坛也成为BBS是BulletinBoardSystem的简称。
意思是电子公告版,它主要给浏览者提供沟通的平台。
随着网上用户的普及,开发网上社区服务系统,可为网友提供方便实用的网上服务及人们之间更好的交流沟通途径.。
本系统分为管理员用户和注册用户,论坛新用户可以注册信息,成功注册后如想更改自己的信息,可以方便的进行用户信息更改。
注册用户登陆后,可以查看论坛的帖子信息并且回帖;即使不是注册用户亦可回复帖子。
可以查询用户信息和其他人所发的帖子,同时也可以回复发表自己的见解,但是非注册用户不可以发表帖子;管理员则可以对此系统进行定期更新维护:
查看论坛用户发表的新帖,也可查看大家对一些新帖的不同见解,用时如果哪个新帖或回复含有有损大家的友谊的言论,管理员则可将此贴删除并且可以删除已经注册的用户。
此系统将为网友提供交流的平台,同时也促使人们相互之间更好的交流与沟通。
2.3系统功能分析
系统开发的总体任务是实现各种信息的系统化、规范化和自动化。
系统功能分析是在系统开发的总体任务的基础上完成。
本系统的功能主要有:
2.3.1登录注册模块:
可分为用户登录、用户注册和修改用户信息。
(1)用户登录:
为防止恶意注册,将有验证码需要填写。
真正进入论坛是通过注册和登录实现的。
登录时要验证用户的身份,即要把用户提交的数据与保存在数据库中的注册信息进行比较,通过验证才可成功进入,如果失败则会得到提示信息。
如图2.3.1所示为用户登录界面:
图2.3.1用户登录界面
实现用户登录的主要代码如下:
codename=LoginCode"width="60"height="28">
登录信息需要与数据库中的数据进行比较,如果相同则登录成功,否则失败,检测数据库主要代码如下:
Strings=member.getUserName();
Strings1=member.getUserPassword();
StringNUM=(String)session.getAttribute("LoginCode");
StringuserCode=request.getParameter("usercode");
bbsuseruser=newbbsuser();
if(NUM.equals(userCode))//验证码正确
{
if(user.checkUserPassword(s,s1))
{
RequestDispatchergo=application.getRequestDispatcher("/registerWelcome.jsp");
go.forward(request,response);
}
else
{
out.print(s);
out.print("您输入的用户名或密码不正确,请重新输入!
");
}
}
else
{
out.print("您所输入的验证码不正确,请重新输入!
");
}
(2)用户注册:
同样有验证码需要填写!
如果新用户来访要在登录前先注册用户信息,具体的注册信息内容包括:
用户名、密码、真实姓名、性别、年龄、E-mail、个人主页、自我介绍。
如果此用户的姓名和数据库中已有注册用户的姓名重复,则系统会提示用户重新设置信息;如经查询此用户姓名唯一且用户名、密码、确认密码和真实姓名不为空,该用户便成功注册,信息将会及时送入后台数据库中,以便今后的操作。
注册界面如图2.3.2所示:
图2.3.2新用户注册界面
实现新用户注册的主要代码如下:
(3)重新登录:
同样需要又在主框架页面重新登录会让用户重新回到登录界面,主要是为用户的Session过期或者用户想换用户名登录而提供方便。
2.3.2用户功能模块
可分为发帖,浏览帖子,回复帖子,搜索帖子及用户信息,修改个人信息。
(1)发帖:
为已注册的用户提供发帖功能,输入内容和题目而非注册用户即游客则不能使用此功能。
在发贴时,要把数据提交到添加贴是页面。
添加贴的页面不但要把获取的信息保存到数据库中,还要通过JavaBean取得当前时间作为发帖时间一起存到数据库中。
在对帖子进行删除时,不但可以删除整个帖子(包括该贴的全部回复信息),而且可以删除某个帖子的单条回复。
这些功能只有是管理员权限的人才可操作。
如图2.3.3为用户发表帖子界面:
图2.3.3用户发表帖子
用户发表帖子若帖子内容为空,则提示失败并返回页面,实现主要代码如下:
<%response.setContentType("text/html;charset=gb2312");
request.setCharacterEncoding("gb2312");
Stringbbstopic=(String)request.getParameter("bbstopic");
Stringbbscontent=(String)request.getParameter("bbscontent");
StringuserName=(String)request.getParameter("userName");
if(bbscontent=="")
{StringwhereTo="bbsempty.jsp";
%>
forwardpage='<%=whereTo%>'/> <%} if(bbstopic==""){response.sendRedirect("bbsempty.jsp");} bbs.setBbsContent(bbscontent); bbs.setBbsTopic(bbstopic); bbs.setBbsUsername(userName); inttem=bbsf.addNewBbs(bbs); if(tem>0){ StringwhereTo="success.jsp";%> forwardpage='<%=whereTo%>'/> <%} else{out.print("发帖失败");} %> (2)浏览帖子: 所有用户包括游客都可以使用此项功能。 可查看帖子的主题列表也可查看帖子的发起和回复。 当点击具体版面时,就可看到论坛的主题列表,在列表中分别列出了帖子发起人、发起时间、回复人、回复时间和帖子的回复数及点击率。 如图2.3.4所示 图2.3.4浏览帖子 实现浏览帖子的主要代码为: response.setContentType("text/html;charset=gb2312"); request.setCharacterEncoding("gb2312"); RequestDispatchergo=null; Stringkey=request.getParameter("boardid"); //intboardid=Integer.parseInt(key); bbsuserusers=newbbsuser(); Listlist=null; try{ list=users.bbslistfa(key); }catch(Exceptione){ e.printStackTrace(); } request.setAttribute("result",list); go=request.getRequestDispatcher("/bbslistfa.jsp"); go.forward(request,response); return; (3)回复帖子: 依然是所有访问此web系统的人都可以使用回复功能。 对帖子的回复是需要先确定帖子的主题ID,一个主题ID会有零个或多个回复,这个主题ID的提交也是在连接中动态生成的,回复页面只要获取该ID值即可。 当用户提交帖子时,该帖子的回复信息将被提交到保存数据页面,当保存数据页面在保存完数据之后,再转到查看帖子的页面。 回复某个具体有已经注册用户发起的主题,大家一起讨论,发表自己的看法。 回复帖子如下图2.3.5所示: 图2.3.5回复帖子 (4)搜索帖子和用户信息: 在站内搜索,可以按照内容关键字,主题关键字,发帖人关键字搜索。 同时也可以输入用户名调用用户信息。 实现查询的界面如下图2.3.6所示 图2.3.6帖子查询 对帖子查询实现数据库模糊查询,主要实现代码如下: 按照发帖人查询: Stringkey=request.getParameter("writer"); if(key==null||key.length()<1) { response.sendRedirect("/May/query.jsp"); return; } bbstt=newbbs(); Listlist=null; try{ list=tt.bbslistkeyWriter(key); }catch(Exceptione){ e.printStackTrace(); } request.setAttribute("result",list); go=request.getRequestDispatcher("/bbslistfa.jsp"); go.forward(request,response); return; 按照帖子题目查询: Stringkey=request.getParameter("bbstopic"); if(key==null||key.length()<1) { response.send 如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。 copyright@ 2008-2022 冰点文档网站版权所有 经营许可证编号:鄂ICP备2022015515号-1
冰豆网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。