手机论坛的设计与开发毕业论文doc 34页.docx
- 文档编号:23550019
- 上传时间:2023-05-18
- 格式:DOCX
- 页数:37
- 大小:362.42KB
手机论坛的设计与开发毕业论文doc 34页.docx
《手机论坛的设计与开发毕业论文doc 34页.docx》由会员分享,可在线阅读,更多相关《手机论坛的设计与开发毕业论文doc 34页.docx(37页珍藏版)》请在冰豆网上搜索。
手机论坛的设计与开发毕业论文doc34页
手机论坛的设计与开发毕业论文(doc34页)
编号
淮安信息职业技术学院
毕业论文
题目
手机论坛的设计与开发
学生姓名
***
学号
35102025
系部
计算机与通信工程学院
专业
计算机应用技术
班级
351020
指导教师
李焱讲师
顾问教师
二〇一二年十月
摘要
随着Internet技术的快速发展,人与人之间交流方式逐渐增多。
网络视频、网络聊天、博客已成为人们彼此沟通、交流信息的主要方式。
此外,为了方便人们在某一专业领域探讨问题和发表意见,Internet上还出现了一种在线交流平台——论坛。
在论坛上,人们可以对某一领域提出自己遇到的问题,即发表某一主题,随后,论坛上的其他人会根据自己的学识、经验发表意见或提出解决问题的方法。
开发本手机BBS论坛系统的目的是提供一个供手机用户交流的平台,为广大手机用户提供交流经验、探讨问题的网上社区。
因此,手机论坛系统最基本的功能首先应是发表主题,其次是其他人员根据主题发表自己的看法。
此外,为了记录主题的发表者和主题的回复者信息,系统还需要提供用户注册和登录的功能。
只有注册的用户登录后才能够发表和回复主题,浏览者(游客)的权限只能浏览主题信息。
本论坛系统是基于是MyEclipse8.5+SQLServer2005实现的,它具有使用方便、操作灵活、运行稳定、安全可靠等特点。
关键词:
在线交流,BBS论坛,网上社区,MyEclipse
第一章手机论坛系统分析
1.1需求分析
1.1.1功能性需求
开发手机BBS论坛系统的目的是提供一个供手机用户交流的平台,为广大手机用户提供交流经验、探讨问题的社区。
目前,各大智能手机横行,如安卓(Android)智能手机,但许多人并不能很好的使用。
因此,本手机论坛系统最基本的功能首先是发表关于各种手机的主题帖,其次是其他人员根据主题帖发表自己的看法。
此外,为了记录主题帖的发表者和主题的回复者信息,系统还需要提供用户注册和登录的功能。
只有注册的用户登录后才能够发表和回复主题,浏览者(游客)只能浏览主题信息。
根据用户的需求及以上的分析,一个最基本的手机论坛需要具备以下功能:
显示各论坛手机类别及版块、查看版块下所有根帖、查看自己发表的帖子、查看根帖内容、用户注册、用户登录、发表帖子、回复帖子等。
1.1.2非功能性需求
平台限制:
基于WindowsXP或Windows7系统,无需安装其他软件。
数据库支持:
选用SQLServer2005数据库,同类型或更高级别的数据库管理软件都适用。
操作方式:
全部操作都可以基于IE6.0版本及以上版本的浏览器或其他浏览器进行。
1.2可行性分析
可行性分析是在系统调查的基础上,针对手机论坛系统的开发是否具备必要性和可能性,对该系统的开发从技术、经济、社会的方面进行分析和研究,以避免失误,保证手机论坛的开发成功。
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
1.2.1技术可行性
技术上的可行性分析主要分析技术条件能否顺利完成开发工作,软、硬件能否满足开发者的需要等。
该手机论坛管理系统采用了流行的JSP语言和当前通用的Browser/Server(浏览器/服务器)模式进行开发。
三层的B/S体系结构具有许多传统Client/Server(客户机/服务器)体系结构不具备的优点,而且紧密结合了Internet/Intranet(国际互联网/企业内部互联网)技术,是技术发展的大势所趋。
数据库服务器选用SQLServer2005数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。
它的灵活、安全和易用性为数据库编程提供了良好的条件。
因此,系统的软件开发平台成熟可行。
硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格也越来越低,其硬件平台能满足此系统的需要。
1.2.2经济可行性
主要是对项目的经济效益进行评估,本系统模拟的是提供一个供手机用户交流的平台,为广大用户提供交流经验、探讨问题的社区,所需要软件、硬件容易获取,开发成本低,效率高,节约人力、物力及财力。
并且该系统实际只是用于个人的毕业设计,只是模拟,不存在资金的流动,故在经济上是可行的。
1.2.3社会可行性
在Internet技术的快速发展的今天,BBS论坛早已成为人们彼此沟通、交流信息的主要方式。
在该手机论坛上,人们可以在智能手机领域提出自己遇到的问题,随后,论坛上的其他人会根据自己的学识、经验发表意见或提出问题解决的方法。
手机论坛拉近了人们之间的距离,它已成为人们网上生活的必备工具。
所以说论坛对当今社会是相当重要的。
第二章系统总体设计
2.1JSP开发环境的配置
2.1.1开发环境配置
安装JDK。
JDK(JaveDevelopmentKit)是整个Java的核心,包括Java运行环境、Java工具和Java基础的类库。
任何Java应用程序都需要JDK的支持。
安装Tomcat6.0。
Tomcat6.0是JavaWeb开发的必备软件,其作用是为B/S系统提高Web服务器,如同Windows下的IIS。
安装MyEclipse。
MyEclipse是众多Java开发工具中的佼佼者,支持代码编写、配置、测试及除错,受广大Java程序员的青睐,同时,也是大多数公司开发项目的首选工具。
在MyEclipse中主要提供J2EE项目的开发平台和J2SE应用程序的开发平台,同时提供UML设计、数据源管理、项目版本控制(CVS)等多种功能。
2.1.2Web项目的创建
在MyEclipse中创建一个Web项目,在项目src中创建用于存放后台类的Java程序包,在WebRoot下创建JSP页面。
通过发布将项目部署到Tomcat服务器中,启动Tomcat服务器,在IE等浏览器中访问创建的JSP页面资源。
2.2Servelet开发模式
2.2.1JSP开发模式与MVC三层结构
MVC(Model-View-Controller),意为模型-视图-控制器,是一种开发模式,它把应用程序分成3个核心模块:
模型、视图、控制器。
利用Sevelet实现对系统业务逻辑的控制,Sevelet是整个业务过程的控制中心,这样就将整体系统规划成了三层框架结构,即MVC三层模型。
2.2.2了解Servelet
Servelet技术是Sun公司提供的一种实现动态网页的解决方案,是JSP技术的基础,它是基于Java编程语言的Web服务器端编程技术。
Servelet是运行在Web服务器端的Java应用程序,独立于平台和协议,可生成动态的Web页面。
它担当客户请求与服务器相应的中间层。
一个Servelet程序就是一个实现了特殊接口的Java类,用于支持Servelet的Web服务器的调用和运行。
一个Servelet程序负责处理它所对应的一个或一组URL地址的访问请求、接收访问请求信息和产生相应内容。
Servelet与普通Java程序相比,只是输入信息的来源和输出结果的目标不一样,所以,Java所能完成的任务Servelet都可以完成。
Servelet程序还具有以下一些基本功能:
获取客户端请求及数据;
创建对客户端的响应消息内容;
访问服务器端的文件系统;
调用其他Java类。
2.3系统功能结构
用户访问手机论坛首页面后,可进行查看版块下根贴信息、查看发表的帖子、查看回帖、用户注册、登录等功能。
用户在此手机论坛中通过注册成为该论坛的真正用户并成功登录系统后,可进行发表帖子、回复帖子、查看自己发表的帖子等操作。
功能结构图如图2.1所示。
图2.1手机论坛功能结构图
第三章数据库分析与设计
3.1数据库分析
数据库的设计,在程序的开发中起着至关重要的作用,它往往决定了在后面的开发中进行怎样的程序编码。
一个合理、有限的数据库设计可降低程序的复杂性,使程序开发的过程更为容易。
SQLServer2005是一个非常优秀的关系型数据库管理系统,是一个功能强大的后台数据库管理系统,它可以帮助各种规模的企业管理数据,以强大的数据仓库以及与微软新产品良好的兼容性赢得越来越多的用户。
越来越多的开发工具也提供与SQLServer的接口。
SQLServer2005提供的T-SQL语言是一种交互式的功能强大的数据库查询语言,T-SQL语言是对SQL语言的具体实现与扩展,通过T-SQL语言可以完成对SQLServer数据库的各种操作,进行数据库应用开发。
它既可以在SQLServer中直接执行,也可以嵌入到其他高级程序设计语言中应用。
与其他数据库管理系统(Oracle、DB2和Sybase等)相比,SQLServer2005的管理界面更直观、简洁,对于较难的操作,提供了清晰的配置导向,按步骤执行即可完成复杂的管理工作。
此外,它还提供了从企业级大型数据库管理到个人学习使用的各种版本,更适合作为学习数据库技术的入门工具。
3.2数据库概念设计
E-R(Entity-Relationship)模型是对现实世界的一种抽象,是以图形方式将数据库的整个逻辑结构表示出来。
它的主要成分是实体、联系和属性。
使用这三种成分,我们可以建立许多应用环境的E-R模型。
现在画出本系统所使用的数据库实体,它们分别为根贴实体、回贴实体和用户实体。
下面将介绍几个关键实体的E-R图。
3.2.1根贴实体
根贴实体包括编号、所属版块、标题、内容、发布者、发布时间等属性。
根贴实体的E-R图如图3.1所示。
图3.1根贴实体E-R图
3.2.2用户实体
ER模型的“联系”用于刻画实体之间的关联。
用户实体包括编号、用户名、密码、重复密码、头像、注册时间等属性。
用户实体的E-R图如图3.2所示.
图3.2用户实体E-R图
3.2.2整体实体
该实体包含所有单体实体与各版块、页面之间的关系。
如图3.3所示。
图3.3总体E-R图
3.3数据库逻辑设计
根据数据库概念设计,可以创建与实体对应的数据表。
3.3.1tb_board(版块信息表)
版块信息表用来保存论坛中的版块信息,该表的结构如表3.1所示。
表3.1tb_board表的结构
字段名
数据类型
是否为空
是否主键
默认值
描述
boardid
int
No
Yes
版块ID(自动编号)
bname
varchar(20)
Yes
NULL
版块名称
bstatus
int
Yes
NULL
版块所属版块
3.3.2tb_topic(根帖信息表)
主题贴信息表用来保存发布的全部主题贴信息,该表的结构如表3.2所示。
表3.2tb_topic表的结构
字段名
数据类型
是否为空
是否主键
默认值
描述
topicid
int
No
Yes
帖子ID(自动编号)
title
varchar(200)
Yes
NULL
帖子标题
contentinfo
varchar(3000)
Yes
NULL
帖子内容
createdate
datetime(8)
Yes
NULL
帖子的发布时间
userid
int
Yes
NULL
帖子的发布者
boardid
int
Yes
((-1))
帖子所属版块ID
tstatus
int
Yes
NULL
帖子所属版块
3.3.3tb_reply(回帖信息表)
回帖信息表用来保存回复帖子的信息,该表的结构如表3.3所示。
表3.3tb_reply表的结构
字段名
数据类型
是否为空
是否主键
默认值
描述
replyid
int
No
Yes
ID(自动编号)
contentinfo
varchar(3000)
Yes
NULL
回帖的内容
createdate
datetime
Yes
NULL
回帖的时间
userid
int
Yes
NULL
回帖的回复者ID
topicid
int
Yes
NULL
回帖的根帖ID
rstatus
int
Yes
NULL
回帖所属版块
3.3.4tb_masterinfo(版主信息表)
版主信息表用来保存版主信息,该表的结构如表3.4所示。
表3.4tb_masterinfo表的结构
字段名
数据类型
是否为空
是否主键
默认值
描述
id
int
No
Yes
ID(自动编号)
userid
int
No
NULL
用户ID
boardid
int
No
NULL
版块ID
3.3.5tb_userinfo(用户信息表)
用户信息表用来保存用户的信息,该表的结构如表3.5所示。
表3.5tb_userinfo表的结构
字段名
数据类型
是否为空
是否主键
默认值
描述
userid
int
No
Yes
用户ID(自动编号)
username
varchar(20)
No
NULL
用户名称
upass
varchar(20)
Yes
NULL
用户密码
user_sex
varchar
(2)
Yes
NULL
用户性别
upower
varchar(4)
Yes
NULL
用户权限
uimage
varchar(50)
Yes
NULL
用户头像
udate
datetime
Yes
NULL
用户的创建时间
创建数据表后,创建相关数据表之间的关系,该关系实际反应了系统中各个实体间的关系。
如当设置了该关系后,改变tb_userinfo数据表的username字段时,tb_topic数据表的userid字段也会更新或删除。
数据表之间的关系图如图3.5所示。
图3.4数据关系
第四章系统详细设计与实现
4.1前台设计
系统的前台,即是直接面向用户的所有页面。
因为前台的功能模块较多,而各个模块的实现过程都是类似的,所以对于系统前台的介绍,只是做有选择的系统重点设计介绍。
4.1.1论坛页头功能栏设计
本系统中所有页面都采用了一种页面框架,该页面框架采用分栏结构,分为2个区域:
页头功能栏、内容显示区。
这里首先把页头功能栏的check.jsp页面实现,然后向个页面嵌套。
显示结果如图4.1所示。
图4.1页头功能栏运行结果
实现check.jsp页头功能栏显示的代码如下:
<%Stringname=(String)session.getAttribute("na");
Stringuimage=(String)session.getAttribute("ui");
if(name==null){%>
else{%>
<%=name%>
<%}%>
4.1.2论坛主页设计
该页面的实现效果是:
分类显示手机论坛类别,并以超链接形式显示属于该论坛类别中所有版块名称并显示当前版块的版主和一些帖子的相关信息,如图4.2所示。
图4.2论坛首页显示效果
实现index.jsp首页显示的主要代码如下:
forEachitems="${requestScope.mydata}"var="tem"> yid=${tem.bid}">${tem.bname} 版主: forEachitems="${tem.buserdata}"var="cur">${cur.uname} forEach> ${tem.topicnum}
forEach>
论坛版块显示主要完成一下几方面功能:
创建读取版块信息业务类,该类完成在数据库中读取版块信息,将版块信息封装到数据集合中进行返回,这就要定义一个JavaBean用于封装版块信息。
在项目src目录下创建包ser,用于提取版块信息的Servlet,在Servlet中调用后台业务类获得数据,将数据保存到request或session中后导航到显示页面,否则显示“未登录”。
页面负责从request或session中获得数据,并在页面上显示版块信息。
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
Stringboardid1=request.getParameter("ybid");//获取boardid版块号
GetPagemypage=newGetPage();//获取分页的数据
DBConnectmydb=newDBConnect();
mypage.setDb(mydb);//设置数据库的连接
mypage.setPageSize(5);//设置每页显示的主帖数
mypage.setP_curpage
(1);//设置当前的页数
Stringsql="select*fromtopicwhereboardid1="+boardid1+"andtstatus=1";
mypage.setSql(sql);//设置查询的对象表名主帖表
mypage.setKeyFielsName("topicid");//查询得到结果集
ResultSetre=mypage.getPage();//对结果集数据进行包装
ArrayList
try{
while(re.next()){
Topictem=newTopic();
tem.setTopicid(topicid);
tem.setTitle(title);
tem.setTcontent(content);
tem.setTdata(createrdate);
tem.setBoardid(boardid1);
ReplyDaordao=newReplyDao();
tem.setReplynum(rdao.getTopicNum(topicid));
UserDaoudao=newUserDao();
tem.setTopicuser(udao.getuserInfo(userid));
tem.setTstatus(tstatus);
tdata.add(tem);
}
}catch(Exceptione){
e.printStackTrace();
}finally{
try{
mydb.free();//释放数据连接
}catch(Exceptione){
e.printStackTrace();
}
}
//判断版主
HttpSessionsession=request.getSession();
Useruser=(User)session.getAttribute("userinfo");
intflag=0;
if(user!
=null){
MasterDaomdao=newMasterDao();
flag=mdao.checkMaster(user.getUserid(),boardid1);
}
4.1.3主题帖设计
显示某版块中所有的主题贴。
对于帖子的显示,将按照帖子被操作的时间进行降序排列。
每条主题贴显示其主题、作者、回复数和发帖信息,如图4.3所示。
图4.3主题帖显示效果
实现topiclist.jsp主题帖页面显示的主要代码如下:
ybid=${requestScope.boardid}"> forEachitems="${requestScope.tdata}"var="tem"> ytid=${tem.topicid}"> ${tem.title} forEach> 实现主题帖显示,要定义JavaBean实体用于封装数据;其次完成后台业务逻辑的设计,实现对数据库表的访问;最后定义用于接收版块页面请求的Servlet,同时调用后台业务完成数据提取,并将数据保存在隐视对象后导航到toplist.jsp。 publicvoiddoPost(HttpServletRequestrequest,HttpServletResponse
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 手机论坛的设计与开发毕业论文doc 34页 手机 论坛 设计 开发 毕业论文 doc 34