手机论坛的设计与开发毕业论文.docx

上传人:牧羊曲112 文档编号:1858107 上传时间:2022-12-22 格式:DOCX 页数:34 大小:2.31MB
返回 下载 相关 举报
手机论坛的设计与开发毕业论文.docx_第1页
第1页 / 共34页
手机论坛的设计与开发毕业论文.docx_第2页
第2页 / 共34页
手机论坛的设计与开发毕业论文.docx_第3页
第3页 / 共34页
手机论坛的设计与开发毕业论文.docx_第4页
第4页 / 共34页
手机论坛的设计与开发毕业论文.docx_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《手机论坛的设计与开发毕业论文.docx》由会员分享,可在线阅读,更多相关《手机论坛的设计与开发毕业论文.docx(34页珍藏版)》请在三一办公上搜索。

1、 编号 淮安信息职业技术学院毕业论文题 目手机论坛的设计与开发学生姓名*学 号35102025系 部计算机与通信工程学院专 业计算机应用技术班 级351020指导教师李焱 讲师顾问教师二一二年十月III摘 要随着Internet技术的快速发展,人与人之间交流方式逐渐增多。网络视频、网络聊天、博客已成为人们彼此沟通、交流信息的主要方式。此外,为了方便人们在某一专业领域探讨问题和发表意见,Internet上还出现了一种在线交流平台论坛。在论坛上,人们可以对某一领域提出自己遇到的问题,即发表某一主题,随后,论坛上的其他人会根据自己的学识、经验发表意见或提出解决问题的方法。开发本手机BBS论坛系统的目

2、的是提供一个供手机用户交流的平台,为广大手机用户提供交流经验、探讨问题的网上社区。因此,手机论坛系统最基本的功能首先应是发表主题,其次是其他人员根据主题发表自己的看法。此外,为了记录主题的发表者和主题的回复者信息,系统还需要提供用户注册和登录的功能。只有注册的用户登录后才能够发表和回复主题,浏览者(游客)的权限只能浏览主题信息。本论坛系统是基于是MyEclipse 8.5+SQL Server 2005实现的,它具有使用方便、操作灵活、运行稳定、安全可靠等特点。关键词:在线交流,BBS论坛,网上社区,MyEclipse目 录目 录摘 要I第一章 手机论坛系统分析11.1 需求分析11.1.1功

3、能性需求11.1.2 非功能性需求11.2 可行性分析11.2.1 技术可行性11.2.2 经济可行性21.2.3 社会可行性2第二章 系统总体设计32.1 JSP开发环境的配置32.1.1 开发环境配置32.1.2 Web项目的创建32.2 SERVELET开发模式32.2.1 JSP开发模式与MVC三层结构32.2.2 了解Servelet32.3 系统功能结构4第三章 数据库分析与设计53.1 数据库分析53.2 数据库概念设计53.2.1 根贴实体53.2.2 用户实体63.2.2 整体实体63.3 数据库逻辑设计63.3.1 tb_board63.3.2 tb_topic73.3.3

4、 tb_reply73.3.4 tb_masterinfo73.3.5 tb_userinfo8第四章 系统详细设计与实现94.1 前台设计94.1.1 论坛页头功能栏设计94.1.2 论坛主页设计94.1.3 主题帖设计124.1.4 主题帖与回复帖的查看功能设计144.1.5 主题帖发表功能设计164.1.6 用户登录功能设计184.1.7 用户注册功能设计194.1.8 帖子回复功能设计214.1.9 退出功能设计234.2 后台设计234.2.1 管理员登录功能设计234.2.2 版块信息管理设计244.2.3 添加和删除版块功能设计24第五章 总结与展望27致 谢28参考文献2927

5、手机论坛系统分析第一章 手机论坛系统分析1.1 需求分析1.1.1功能性需求开发手机BBS论坛系统的目的是提供一个供手机用户交流的平台,为广大手机用户提供交流经验、探讨问题的社区。目前,各大智能手机横行,如安卓(Android)智能手机,但许多人并不能很好的使用。因此,本手机论坛系统最基本的功能首先是发表关于各种手机的主题帖,其次是其他人员根据主题帖发表自己的看法。此外,为了记录主题帖的发表者和主题的回复者信息,系统还需要提供用户注册和登录的功能。只有注册的用户登录后才能够发表和回复主题,浏览者(游客)只能浏览主题信息。根据用户的需求及以上的分析,一个最基本的手机论坛需要具备以下功能:显示各论

6、坛手机类别及版块、查看版块下所有根帖、查看自己发表的帖子、查看根帖内容、用户注册、用户登录、发表帖子、回复帖子等。1.1.2 非功能性需求平台限制:基于 Windows XP或Windows 7系统,无需安装其他软件。数据库支持:选用SQL Server 2005数据库,同类型或更高级别的数据库管理软件都适用。操作方式:全部操作都可以基于IE 6.0版本及以上版本的浏览器或其他浏览器进行。1.2 可行性分析可行性分析是在系统调查的基础上,针对手机论坛系统的开发是否具备必要性和可能性,对该系统的开发从技术、经济、社会的方面进行分析和研究,以避免失误,保证手机论坛的开发成功。可行性研究的目的就是用

7、最小的代价在尽可能短的时间内确定问题是否能够解决。1.2.1 技术可行性技术上的可行性分析主要分析技术条件能否顺利完成开发工作,软、硬件能否满足开发者的需要等。该手机论坛管理系统采用了流行的JSP语言和当前通用的Browser/Server(浏览器/服务器)模式进行开发。三层的B/S体系结构具有许多传统Client/Server(客户机/服务器)体系结构不具备的优点,而且紧密结合了Internet/Intranet(国际互联网/企业内部互联网)技术,是技术发展的大势所趋。数据库服务器选用SQL Server 2005数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。它的灵

8、活、安全和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格也越来越低,其硬件平台能满足此系统的需要。1.2.2 经济可行性主要是对项目的经济效益进行评估,本系统模拟的是提供一个供手机用户交流的平台,为广大用户提供交流经验、探讨问题的社区,所需要软件、硬件容易获取,开发成本低,效率高,节约人力、物力及财力。并且该系统实际只是用于个人的毕业设计,只是模拟,不存在资金的流动,故在经济上是可行的。1.2.3 社会可行性在Internet技术的快速发展的今天,BBS论坛早已成为人们彼此沟通、交流

9、信息的主要方式。在该手机论坛上,人们可以在智能手机领域提出自己遇到的问题,随后,论坛上的其他人会根据自己的学识、经验发表意见或提出问题解决的方法。手机论坛拉近了人们之间的距离,它已成为人们网上生活的必备工具。所以说论坛对当今社会是相当重要的。系统总体设计第二章 系统总体设计2.1 JSP开发环境的配置2.1.1 开发环境配置安装JDK。JDK(Jave Development Kit)是整个Java的核心,包括Java运行环境、Java工具和Java基础的类库。任何Java应用程序都需要JDK的支持。安装Tomcat 6.0。Tomcat 6.0是Java Web开发的必备软件,其作用是为B/

10、S系统提高Web服务器,如同Windows下的IIS。安装MyEclipse。MyEclipse是众多Java开发工具中的佼佼者,支持代码编写、配置、测试及除错,受广大Java程序员的青睐,同时,也是大多数公司开发项目的首选工具。在MyEclipse中主要提供J2EE项目的开发平台和J2SE应用程序的开发平台,同时提供UML设计、数据源管理、项目版本控制(CVS)等多种功能。2.1.2 Web项目的创建在MyEclipse中创建一个Web项目,在项目src中创建用于存放后台类的Java程序包,在WebRoot下创建JSP页面。通过发布将项目部署到Tomcat服务器中,启动Tomcat服务器,在

11、IE等浏览器中访问创建的JSP页面资源。2.2 Servelet开发模式2.2.1 JSP开发模式与MVC三层结构MVC(Model-View-Controller),意为模型-视图-控制器,是一种开发模式,它把应用程序分成3个核心模块:模型、视图、控制器。利用Sevelet实现对系统业务逻辑的控制,Sevelet是整个业务过程的控制中心,这样就将整体系统规划成了三层框架结构,即MVC三层模型。2.2.2 了解ServeletServelet技术是Sun公司提供的一种实现动态网页的解决方案,是JSP技术的基础,它是基于Java编程语言的Web服务器端编程技术。Servelet是运行在Web服务

12、器端的Java应用程序,独立于平台和协议,可生成动态的Web页面。它担当客户请求与服务器相应的中间层。一个Servelet程序就是一个实现了特殊接口的Java类,用于支持Servelet的Web服务器的调用和运行。一个Servelet程序负责处理它所对应的一个或一组URL地址的访问请求、接收访问请求信息和产生相应内容。Servelet与普通Java程序相比,只是输入信息的来源和输出结果的目标不一样,所以,Java所能完成的任务Servelet都可以完成。Servelet程序还具有以下一些基本功能:获取客户端请求及数据;创建对客户端的响应消息内容;访问服务器端的文件系统;调用其他Java类。2.

13、3 系统功能结构用户访问手机论坛首页面后,可进行查看版块下根贴信息、查看发表的帖子、查看回帖、用户注册、登录等功能。用户在此手机论坛中通过注册成为该论坛的真正用户并成功登录系统后,可进行发表帖子、回复帖子、查看自己发表的帖子等操作。功能结构图如图2.1所示。查看版块下根贴查看根贴内容查看自己的帖子用户登录用户注册用户注销发表帖子回复帖子手机BBS论坛图2.1 手机论坛功能结构图数据库分析与设计第三章 数据库分析与设计3.1 数据库分析数据库的设计,在程序的开发中起着至关重要的作用,它往往决定了在后面的开发中进行怎样的程序编码。一个合理、有限的数据库设计可降低程序的复杂性,使程序开发的过程更为容

14、易。SQL Server 2005是一个非常优秀的关系型数据库管理系统,是一个功能强大的后台数据库管理系统,它可以帮助各种规模的企业管理数据,以强大的数据仓库以及与微软新产品良好的兼容性赢得越来越多的用户。越来越多的开发工具也提供与SQL Server的接口。SQL Server 2005提供的T-SQL语言是一种交互式的功能强大的数据库查询语言,T-SQL语言是对SQL语言的具体实现与扩展,通过T-SQL语言可以完成对SQL Server数据库的各种操作,进行数据库应用开发。它既可以在SQL Server中直接执行,也可以嵌入到其他高级程序设计语言中应用。与其他数据库管理系统(Oracle、

15、DB2和Sybase等)相比,SQL Server 2005的管理界面更直观、简洁,对于较难的操作,提供了清晰的配置导向,按步骤执行即可完成复杂的管理工作。此外,它还提供了从企业级大型数据库管理到个人学习使用的各种版本,更适合作为学习数据库技术的入门工具。3.2 数据库概念设计E-R(Entity-Relationship)模型是对现实世界的一种抽象,是以图形方式将数据库的整个逻辑结构表示出来。它的主要成分是实体、联系和属性。使用这三种成分,我们可以建立许多应用环境的E-R模型。现在画出本系统所使用的数据库实体,它们分别为根贴实体、回贴实体和用户实体。下面将介绍几个关键实体的E-R图。3.2.

16、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 数据库逻辑设计根据数据库概念设计,可以创建与实体对应的

17、数据表。3.3.1 tb_board(版块信息表)版块信息表用来保存论坛中的版块信息,该表的结构如表3.1所示。表3.1 tb_board表的结构字段名数据类型是否为空是否主键默认值描述boardidintNoYes版块ID(自动编号)bnamevarchar(20)YesNULL版块名称bstatusintYesNULL版块所属版块3.3.2 tb_topic(根帖信息表)主题贴信息表用来保存发布的全部主题贴信息,该表的结构如表3.2所示。表3.2 tb_topic表的结构字段名数据类型是否为空是否主键默认值描述topicidintNoYes帖子ID(自动编号)titlevarchar(20

18、0)YesNULL帖子标题contentinfovarchar(3000)YesNULL帖子内容createdatedatetime(8)YesNULL帖子的发布时间useridintYesNULL帖子的发布者boardidintYes(-1)帖子所属版块IDtstatusintYesNULL帖子所属版块3.3.3 tb_reply(回帖信息表)回帖信息表用来保存回复帖子的信息,该表的结构如表3.3所示。表3.3 tb_reply表的结构字段名数据类型是否为空是否主键默认值描述replyidintNoYesID(自动编号)contentinfovarchar(3000)YesNULL回帖的内容

19、createdatedatetimeYesNULL回帖的时间useridintYesNULL回帖的回复者IDtopicidintYesNULL回帖的根帖IDrstatusintYesNULL回帖所属版块3.3.4 tb_masterinfo(版主信息表)版主信息表用来保存版主信息,该表的结构如表3.4所示。表3.4 tb_masterinfo表的结构字段名数据类型是否为空是否主键默认值描述idintNoYesID(自动编号)useridintNoNULL用户IDboardidintNoNULL版块ID3.3.5 tb_userinfo(用户信息表)用户信息表用来保存用户的信息,该表的结构如表3

20、.5所示。表3.5 tb_userinfo表的结构字段名数据类型是否为空是否主键默认值描述useridintNoYes用户ID(自动编号)usernamevarchar(20)NoNULL用户名称upassvarchar(20)YesNULL用户密码user_sexvarchar(2)YesNULL用户性别upowervarchar(4)YesNULL用户权限uimagevarchar(50)YesNULL用户头像udatedatetimeYesNULL用户的创建时间创建数据表后,创建相关数据表之间的关系,该关系实际反应了系统中各个实体间的关系。如当设置了该关系后,改变tb_userinfo数

21、据表的username字段时,tb_topic数据表的userid字段也会更新或删除。数据表之间的关系图如图3.5所示。图3.4 数据关系系统详细设计与实现第四章 系统详细设计与实现4.1 前台设计系统的前台,即是直接面向用户的所有页面。因为前台的功能模块较多,而各个模块的实现过程都是类似的,所以对于系统前台的介绍,只是做有选择的系统重点设计介绍。4.1.1 论坛页头功能栏设计本系统中所有页面都采用了一种页面框架,该页面框架采用分栏结构,分为2个区域:页头功能栏、内容显示区。这里首先把页头功能栏的check.jsp页面实现,然后向个页面嵌套。显示结果如图4.1所示。图4.1 页头功能栏运行结果

22、实现check.jsp页头功能栏显示的代码如下: 你尚未登录 |登录|注册 欢迎你: 退出 4.1.2 论坛主页设计该页面的实现效果是:分类显示手机论坛类别,并以超链接形式显示属于该论坛类别中所有版块名称并显示当前版块的版主和一些帖子的相关信息,如图4.2所示。图4.2 论坛首页显示效果实现index.jsp首页显示的主要代码如下: $tem.bname 版主: $cur.uname 主贴数:$tem.topicnum 论坛版块显示主要完成一下几方面功能:创建读取版块信息业务类,该类完成在数据库中读取版块信息,将版块信息封装到数据集合中进行返回,这就要定义一个JavaBean用于封装版块信息。

23、在项目src目录下创建包ser,用于提取版块信息的Servlet,在Servlet中调用后台业务类获得数据,将数据保存到request或session中后导航到显示页面,否则显示“未登录”。页面负责从request或session中获得数据,并在页面上显示版块信息。public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException String boardid1=request.getParameter(ybid);/获取boardid版

24、块号GetPage mypage=new GetPage();/获取分页的数据DBConnect mydb=new DBConnect();mypage.setDb(mydb);/设置数据库的连接mypage.setPageSize(5);/设置每页显示的主帖数mypage.setP_curpage(1);/设置当前的页数String sql=select * from topic where boardid1=+boardid1+ and tstatus=1;mypage.setSql(sql);/设置查询的对象表名主帖表mypage.setKeyFielsName(topicid);/查询

25、得到结果集ResultSet re=mypage.getPage();/对结果集数据进行包装ArrayList tdata=new ArrayList ();trywhile(re.next()Topic tem=new Topic();tem.setTopicid(topicid);tem.setTitle(title);tem.setTcontent(content);tem.setTdata(createrdate);tem.setBoardid(boardid1);ReplyDao rdao=new ReplyDao();tem.setReplynum(rdao.getTopicNum

26、(topicid);UserDao udao=new UserDao();tem.setTopicuser(udao.getuserInfo(userid);tem.setTstatus(tstatus);tdata.add(tem);catch(Exception e)e.printStackTrace();finallytrymydb.free();/释放数据连接catch(Exception e)e.printStackTrace();/判断版主HttpSession session=request.getSession();User user=(User)session.getAttr

27、ibute(userinfo);int flag=0;if(user!=null)MasterDao mdao=new MasterDao();flag=mdao.checkMaster(user.getUserid(), boardid1);4.1.3 主题帖设计显示某版块中所有的主题贴。对于帖子的显示,将按照帖子被操作的时间进行降序排列。每条主题贴显示其主题、作者、回复数和发帖信息,如图4.3所示。图4.3 主题帖显示效果实现topiclist.jsp主题帖页面显示的主要代码如下: 主题 作者 回复数 发帖时间 $tem.title $tem.topicuser.uname $tem.re

28、plynum $tem.tdata 实现主题帖显示,要定义JavaBean实体用于封装数据;其次完成后台业务逻辑的设计,实现对数据库表的访问;最后定义用于接收版块页面请求的Servlet,同时调用后台业务完成数据提取,并将数据保存在隐视对象后导航到toplist.jsp。public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException String boardid=request.getParameter(ybid);GetPage m

29、ypage=new GetPage();DBConnect mydb=new DBConnect();mypage.setDb(mydb);mypage.setPageSize(15);mypage.setP_curpage(1);String sql=select * from topic where boardid=+boardid+ and tstatus=1;mypage.setSql(sql);mypage.setKeyFielsName(topicid);ResultSet re=mypage.getPage();ArrayList tdata=new ArrayList ();t

30、rywhile(re.next()/1String topicid=re.getString(1);String title=re.getString(title);String content=re.getString(3);String createrdate=re.getString(4);String userid=re.getString(5);String tstatus=re.getString(7);/2Topic tem=new Topic();tem.setTopicid(topicid);tem.setTitle(title);tem.setTcontent(conten

31、t);tem.setTdata(createrdate);tem.setBoardid(boardid);ReplyDao rdao=new ReplyDao();tem.setReplynum(rdao.getTopicNum(topicid);UserDao udao=new UserDao();tem.setTopicuser(udao.getuserInfo(userid);tem.setTstatus(tstatus);/3tdata.add(tem);catch(Exception e)e.printStackTrace();finallytrymydb.free();catch(

32、Exception e)e.printStackTrace();/判断版主HttpSession session=request.getSession();User user=(User)session.getAttribute(userinfo);int flag=0;if(user!=null)MasterDao mdao=new MasterDao();flag=mdao.checkMaster(user.getUserid(), boardid);4.1.4 主题帖与回复帖的查看功能设计显示主题贴的详细信息,并显示该主题贴的所有回复帖,另外对每条帖子都显示发表者的部分信息,如图4.4所

33、示。图4.4 主题帖与回复帖查看显示效果实现reply.jsp回复帖页面显示的主要代码如下:$requestScope.one.topicuser.uname $requestScope.one.title 发表于 $requestScope.one.tdata $ requestScope.one.tcontent $tem.replyuser.uname 发表于 $tem.creatdate $a.count # $tem.contentinfo 4.1.5 主题帖发表功能设计发表帖子主要是为了互相讨论话题而设置的功能,它是论坛系统中的主要功能。通常情况下,需要在论坛中注册一个用户名,然后成功登录,用户才能在论坛中发表帖子。发表帖子页面的运行结果如图4.5所示。图4.5 主题帖发表页面显示效果实现fabiao.jsp主题帖发表页面显示的主要代码如下: form name=form1 method=post action=AddTopic?ybid= onSubmit=return pass() 标题 内容 /td

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号