下载
加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 基于Java_Web技术开发的BBS论坛

基于Java_Web技术开发的BBS论坛.doc

基于Java_Web技术开发的BBS论坛

刘元童
2018-10-02 0人阅读 举报 0 0 暂无简介

简介:本文档为《基于Java_Web技术开发的BBS论坛doc》,可适用于IT/计算机领域

基于JavaWeb技术开发的BBS论坛编号题目基于JavaWeb技术开发的BBS论坛摘要摘要人类已进入世纪,科学技术突飞猛进,经济知识和信息产业初见端倪,特别是信息技术和网络技术的讯速发展和广泛应用,对社会的政治,经济,军事,文化等领域产生越来越深刻学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要本论文叙述到的学生成绩管理系统是用IISASP网页编程ACCESS数据库SQL查询语言实现的重点介绍了学生成绩管理系统的实现过程:包括系统分析,系统调查,功能设计,数据库设计,系统实现,系统测试和调试等本系统主要功能有教师管理,学生管理,班级管理,学生信,成绩管理,留言管理,包括功能需求描述,数据库设计等内容息管理关键词:ASP成绩管理成绩查询ACCESSI淮安信息职业技术学院毕业设计论文目录摘要I目录II第一章概论(BBS历史背景(BBS制作目的(BBS制作的可行性(BBS制作的局限性第二章开发工具和开发平台(开发平台和技术介绍(TOMCAT简介(JSP开发环境(JAVA编程语言(JAVA的特点(JAVA语言编程环境(MYSQL数据库(系统运行环境(本章小节第三章系统需求分析(可行性分析(可行性研究(可行性分析(BBS论坛的需求分析(BBS论坛系统流程分析(BBS论坛系统用例分析(本章小结第四章系统总体设计(系统模块总体设计(数据库结构设计(数据库逻辑结构设计(数据库结构设计表(本章小结第五章系统详细设计(建立数据库及数据库表(系统界面设计II目录(系统界面命名(系统页面流程关系(系统模块实现(主页面功能的实现(浏览帖子页面功能的实现(注册页面功能的实现(登录页面功能的实现(发帖页面功能的实现(帖子内容浏览和评论页面功能的实现(本章小结结论致谢参考文献:附录III第一章概论第一章系统的需求分析人类已进入世纪,科学技术突飞猛进,经济知识和信息产业初见端倪,特别是信息技术和网络技术的讯速发展和广泛应用,对社会的政治,经济,军事,文化等领域产生越来越深刻的影响,也正在改变人们的工作,生活学习,交流方式信息的获取,处理,交流和应用能力,已经成为人们最重要的能力之一在不久的将来知识经济将占世界经济发展的主导地位,国家综合国力和国际竞争能力越来越取决于教育发展,科学技术和知识创新的水平,教育在经济和社会发展过程中将呈现出越来越突出的重要作为很有必要的事情学生成绩管理系统提供了强大的学生成绩管理管理功能,方便系统管理员对学生成绩等信息的添加,修改,删除,查询,留言等操作,同时一样的方面学生对自己各科成绩查询,学习的交流(开发学生成绩管理的必要性在世纪的科技时代,科学技术突飞猛进,计算机已经不仅是在科技上应用,而且在生活中也是同样得到了广泛在应用如今,不管是小学,初中,高中,甚至是很多大学生的学生成绩管理基本上是靠人工进行管理,但随着时间的变化,学校规模的扩大,有关学生成绩管理工作和所涉及到的数据量越来越大越来越多,大多数学校不得不靠增加人力,物力,财力来进行学生成绩管理但是人工管理成绩档案具有效率低,查找麻烦,可靠性不高,保密性低等因素因此开发出一个不仅仅是适用于大中专院校以及其它高校通用的学生成绩管理系统是必要的开发一个学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高了办学效益和现代化水平为广大教师和学生提高工作效率,实现学生成绩信息管理工作流程的系统化,规范化和自动化现在我国的大中专院校的学生成绩档案管理水平普遍都不是很高,有的还停留在全用纸介质基础上,这种管理方式已不能适应时代的发展,社会的需求,因为它浪费了大量的人力物力,也存在着许多不足的因素在今天信息时代这种传统的管理方法必然会被计算机为基础的信息管理系统所代替一个高效的学生成绩管理系统可以存储历届的学生成绩档案,不需要大量的人力,只需要几名专门录入员即可操作系统,节省大量人力,可以迅速查到所需信息,高效,安全,学生在能方便的查看自己的成绩(学生成绩管理系统设计的目标的分析)管理员能够实现对整个学生信息的添加,修改,删除,查询等操作,对教师用户的添加,删除,修改等操作,对留言信息的添加,删除,修改查询等操作)可以将学生成绩的数据库发布到网上,教师的信息发布的网上,方便学生教师进行查询,达到资源共享的目的)教师能够在一定的权限内对所有学生成绩的查询,所有教师信息的查询,留第一章概论言信息的添加,删除,修改是,查看等,对的自己的联系信息进行更新,登录密码的修改)学生可以在自己的权限内对对自己成绩的查询,以及个人信息的查询,登录密码的修改,留言的查看,提交留言信息的相关操作(学生成绩管理系统的系统需求在世纪的科技时代,科学技术突飞猛进,信息社会的高科技时代,商品经济化的高效益,计算机的应用已普及到经济和社会生活的各个领域计算机虽然与人类的关系愈来愈密切,还有人由于计算机操作不方便继续用手工劳动为了适应现代社会人们高度强烈的时间观念,学生成绩管理系统为教学办公带来了极大的方便该学生成绩管理系统是以ASP网页编程ACCESS数据库SQL数据查询语言编写,其系统功能在内部IIS服务器上运行系统管理员,教师,学生只需通过简单的操作,用户都可以了解本系统软件的基本工作原理用户只需进行输入一些简单的汉字,数字,或用鼠标点击即可达到自己想要的目标(学生成绩管理系统的功能需求分析学生成绩管理系统主要提供成绩查询,方便管理的网上的信息查阅平台,学生可以通过该系统查阅与自己相关信息,查看留言,提交留言教师可以通过成绩管理系统查阅学生成绩信息,教师信息,查看教师留言,学生留言,提交留言,留言的管理等相关操作系统管理员可以实现以上的所有功能,还有对学生的添加,删除,修改,教师的添加,删除,修改,数据库的备份,数据库的还原等相关操作淮安信息职业技术学院毕业设计论文第二章开发工具和开发平台(开发平台和技术介绍(TOMCAT简介Tomcat很受广大程序员的喜欢因为它运行时占用的系统资源小扩展性好支持负载平衡与邮件服务等开发应用系统常用的功能而且它还在不断的改进和完善中任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。Tomcat是一个小型的轻量级应用服务器在中小型系统和并发访问用户不是很多的场合下被普遍使用是开发和调试JSP程序的首选。对于一个初学者来说可以这样认为当在一台机器上配置好Apache服务器可利用它响应对HTML页面的访问请求。实际上Tomcat部分是Apache服务器的扩展但它是独立运行的所以当你运行tomcat时它实际上作为一个与Apache独立的进程单独运行的。(JSP开发环境JSP技术是一种动态Web技术它使用Java编程语言编写类XML的tags和scriptlets来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离支持可重用的基于组件的设计使基于Web的应用程序的开发变得迅速和容易。Web服务器在遇到访问JSP网页的请求时首先执行其中的程序段然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的JAVA程序段可以操作数据库、重新定向网页等以实现建立动态网页所需要的功能。JSP与JavaServlet一样是在服务器端执行的通常返回该客户端的就是一个HTML文本因此客户端只要有浏览器就能浏览。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理然后将生成的HTML页面返回给客户端的浏览器。JavaServlet是JSP的技术基础而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。JSP具备了Java技术的简单易用完全的面向对象具有平台无关性且安全可靠主要面向因特网的所有特点。自JSP推出后众多大公司都支持JSP技术的服务器如IBM、Oracle、Bea公司等所以JSP迅速成为商业应用的服务器端语言。JSP可用一种简单易懂的等式表示为:HTMLJAVA=JSP。(JAVA编程语言JAVA编程编程语言总结起来可以从两个方面进行介绍即特点和编程环境。(JAVA的特点JAVA具有以下突出特点第二章开发工具和开发平台、Java语言是简单的。、Java语言是一个面向对象的。、Java语言是分布式的。Java语言支持Internet应用的开发在基本的Java应用编程接口中有一个网络应用编程接口(javanet)它提供了用于网络应用编程的类库包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。、Java语言是健壮的。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。、Java语言是安全的。、Java语言是体系结构中立的。、Java语言是可移植的。这种可移植性来源于体系结构中立性另外Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性Java编译器是用Java实现的Java的运行环境是用ANSIC实现的。、Java语言是解释型的。如前所述Java程序在Java平台上被编译为字节码格式然后可以在实现这个Java平台的任何系统中运行。在运行时Java平台中的Java解释器对这些字节码进行解释执行执行过程中需要的类在联接阶段被载入到运行环境中。、Java是高性能的。、Java语言是多线程的。、Java语言是动态的。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境也可以通过网络来载入所需要的类。这也有利于软件的升级。另外Java中的类有一个运行时刻的表示能进行运行时刻的类型检查。(JAVA语言编程环境JDK用于Java程序的解释执行MyEclipse提供了一个良好的开发界面MySQL用于数据库的连接TomcatWeb服务器用于运行此项目。(一)、JDK(JavaDevelopmentKit)JDK(JavaDevelopmentKit)是SunMicrosystems针对Java开发员的产品。自从Java推出以来JDK已经成为使用最广泛的JavaSDK(Softwaredevelopmentkit)。JDK是整个Java的核心包括了Java运行环境(JavaRuntimeEnvironment)一堆Java工具和Java基础的类库(rtjar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的JDK是Sun公司发布的JDK除了Sun之外还有很多公司和组织都开发了自己的JDK。MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench简称MyEclipse)是对EclipseIDE的扩展利用它我们可以在数据库和JavaEE的开发、发布以及淮安信息职业技术学院毕业设计论文应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境包括了完备的编码、调试、测试和发布功能完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。在结构上MyEclipse的特征可以被分为类:JavaEE模型WEB开发工具EJB开发工具应用程序服务器的连接器JavaEE项目部署服务数据库服务MyEclipse整合帮助对于以上每一种功能上的类别在Eclipse中都有相应的功能部件并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化可以让我们在不影响其他模块的情况下对任一模块进行单独的扩展和升级。简单而言MyEclipse是Eclipse的插件也是一款功能强大的JavaEE集成开发环境支持代码编写、配置、测试以及除错。(MYSQL数据库本系统采用的数据库为Mysql数据库采用BS结构的工作模式。BS结构是随着计算机网络技术的发展而出现的一种先进的计算模式。Mysql是一个小型关系型数据库管理系统目前Mysql被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低尤其是开放源码这一特点许多中小型网站为了降低网站总体拥有成本而选择了Mysql作为网站数据库。与其他的大型数据库例如Oracle、DB、SQLServer等相比Mysql自有它的不足之处如规模小、功能有限(MysqlCluster的功能和效率都相对比较差)等但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说Mysql提供的功能已经绰绰有余而且由于Mysql是开放源码软件因此可以大大降低总体拥有成本。Mysql主要特点体现在以下几个方面:)MySql的核心程序采用完全的多线程编程。)MySql可运行在不同的操作系统下。)MySql有一个非常灵活而且安全的权限和口令系统。)MySql支持ODBCforWindows。)MySql支持大型的数据库。)MySql拥有一个非常快速而且稳定的基于线程的内存分配系统可以持第二章开发工具和开发平台续使用面不必担心其稳定性。事实上MySql的稳定性足以应付一个超大规模的数据库。)强大的查询功能。(系统运行环境系统运行环境主要有软件运行平台和硬件运行平台。(软件运行平台本系统设计运行在WindowsNTXP操作系统环境下因为该系统用户界面户好简单易懂易学易用。并且价格适中适合于中小型学校中数据吞吐量不太大的情况下使用。(硬件运行平台硬件运行平台见表。表硬件运行平台表硬件配置处理器IntelP或更好内存G以上硬盘空间G或更大显卡不做要求显示器不做要求(本章小节本章主要对软件开发过程中的一些必要条件进行了论述。在详述了tomcat后对本系统的主要技术JSP进行了介绍其中主要介绍了什么是JSPJSP的脚本语言。之所以本系统采用了JSP而没有采用ASPNET、PHP。是因为JSP更接近于平时学习的语言执行速度较高而且开发效率很高更广泛地被人们所使用。本章还对系统的运行平台进行了介绍。相信通过本章的论述一定会对本系统的开发环境有一个深入的、透彻的了解。为了实现本系统可行性分析与需求分析是必不可少的重要环节由其是需求分析阶段。淮安信息职业技术学院毕业设计论文第三章系统需求分析为了实现本系统做必要的可行性分析是非常重要的一个过程其中可行性分析是实现“做还是不做”需求分析是实现“做什么,怎么做,”需求分析过程是整个系统开发的重要阶段分析的成功与否决定着整个系统功能的完善性以及稳定性。在该阶段需求分析人员需要确定整个产品的功能要求并且将现实事务抽象成对象并建模。(可行性分析(可行性研究当今社会互联网已经逐渐融入社会生活的各个角落网络已经渗透到大学生的学习和生活之中。校园BBS作为校园网络建设的重要一环其重要性自然不言而喻甚至可以说一所学校建得如何学生的精神状态如何校园的人文心态如何高校的文明形态如何都能从校园BBS上可见一斑。许多高校已把自己的校园BBS作为校内新闻信息发布和分享校外信息资源的主要平台学生思想政治工作的教育平台学生就业方面的信息发布平台等等。下面结合淮安信息职业技术学院的情况具体分析校园BBS的好处可以辅助教学:无论怎样学习仍是我们大学生的主要任务。而学子们也已经把校园BBS作为获取专业信息、解决学习问题的重要途径。无论是文科、理科和工科在各系的板块里都会有相关内容。由于大学课程学习的特殊性强调学生的自主学习性。当遇到学习上的困难时除了在课堂上请教老师、同学外基本上没有集体讨论的时间。而在BBS上学子们可以提出问题共同商量和讨论还可以向其他老师、学长学姐们请教。同时老师们可以利用BBS提供更多的学习信息例如将教学讲义在网络上发布。师生之间也可以在BBS上进行学术思想交流。有利于学生对社会焦点和时政问题的讨论:现代的大学校园并不是封闭的象牙塔大学学子们对社会热点、时政非常关注“中日关系”、“社会焦点”、“关注弱势群体”等等热点问题一直是大学生们话题的重点。虽然我们没有实际能力去做什么但却可以在BBS上毫无顾忌的说出自己的心中所想。我们凭着一颗颗爱国的心或揭露社会黑暗的一面或赞美自己观察到的好人好事或抨击有损国家尊严、领土完整的事件。这些慷慨激昂的言论可以更好地体现我们青年学子对国家的热爱、对未来的抱负。学生情感交流的重要场所:大学生们随着年龄的增长能够结交到的知心朋友越来越少加上学业和竞争的压力迫切需要一个倾吐、交流的空间BBS刚好给我们提供了这样一个平台。大学生可以在BBS上讲述自己的情感历程、面临的感情难题以及转载自己搜集到的感人或是给人启示的故事一起交流、探讨或者商量解决办法。由于大家的年龄、学识、经验、需求都具有同质性因此彼第三章系统需求分析此之间的沟通和交流更容易理解。BBS使得大学生的情感交流更加透明和坦诚他们不再羞于表白自己的情感不管是爱情还是亲情。如此一来BBS里充满了“人情味”在这里获得了鼓励、支持和建议在现实世界里也能更好的与同学、朋友进行沟通。丰富课外生活:在校园BBS的版块里“贴图版”、“笑口常开”、“个人写真”、“漫友风云”等等专版很能体现我们当代大学生兴趣广泛、思维活跃的一面也反映了当前高校素质教育的蓬勃发展。校园BBS能够使我们大学生学会如何娱乐、如何休闲调剂我们的日常学习生活开阔我们的眼界学到更多特长。发布商业信息的重要场所:同学可以发布一些兼职广告二手信息等等一些广告为学生们提供了方便甚至解决了生活的困难。建设我校校园BBS的基础已经具备随着生活水平的提高学生拥有个人电脑的数量也在大幅增加保证了学生上网的基数。可以作为我校校友们交流的场所:通过我校校园BBS的建设聚集我校历届校友增强我校校友的精神归属感。老校友们也可以为师弟师妹们提供他们的就职经验人生感悟。我们也可以通过校园BBS展示我们的风采让老校友们了解学校现在的发展现状。展示我校学生的精神状态向社会宣传我校把我校校园BBS作为我校向世界展示的一个窗口做江苏省高职教育的旗帜。(可行性分析当接受一个软件开发任务就进入软件生命的第一个阶段即进行可行性的研究。并不是所有问题都具有简单的解决办法许多问题都是不能在预定的规模之内解决。因此通过可行性的研究分析可以从中发现问题并对其提出有无可行性的解决方法进而避免人力、物力和才力的浪费。在现行系统初步调查的基础上京可以提出新系统目标即新系统建立后所要求达到的运行指标这是系统开发和评价的依据。系统目标应充分体现并直接为BBS论坛服务且程序可以分期、分批实现。但是需要指出的是系统目标是不可能在总体规划阶段就提出的非常具体它还将在开发过程中逐步明确和定量化。以达到更加出色的程序系统。)技术可行性根据网络上对BBS论坛的系统功能、性能及实现系统模块的各项描述本系统是一个WEB信息发布平台和查询的系统现有的技术以较为成熟硬件、软件的性能要求、环境条件等各项条件良好估计利用现有技术条件应完全可以达到该系统的功能目标。)运行可行性平台的研制和开发是充分的考虑广大用户群体的网络交流平台的需求所以完全满足使用者的要求淮安信息职业技术学院毕业设计论文所以从以上几个方面的分析来看开发本软件是完全可行的。(BBS论坛的需求分析系统分析工作在软件设计过程中是非常重要的环节它的基本任务是准确地回答“系统必须做什么,”。需求分析是对目标系统提出完整、准确、清晰、具体的要求。满足用户的需求是制作软件的宗旨而对软件的需求是用户对系统提出的要求这种要求可能是原始的、笼统的也可能是抽象的、细节化的。但一个软件系统的开发必须以一组需求化为出发点软件的系统需求分析不断修改以满足用户的想要得到的软件模型。需求分析过程是整个系统开发的重要阶段分析的成功与否决定着整个系统功能的完善性以及稳定性。在该阶段需求分析人员需要确定整个产品的功能要求并且将现实事务抽象成对象并建模。(BBS论坛系统流程分析论坛的基本功能就是发帖、回帖。但当开发一个论坛时就不能把论坛的需求看得那么简单了只要有了明确的需求开发的时候才不会因为需求不明确导致开发失败。下面是论坛系统的流程图图BBS论坛系统流程图一个完整的论坛系统面向的对象至少应该有管理员和用户两个对象提供的服务也应该是多种多样的。在论坛系统中提供的服务有注册、登录、用户信息管理、发表新话题修改已发表的话题、回复话题等功能。面向管理员提供的服务用用户管理和论坛主题管理。第三章系统需求分析(BBS论坛系统用例分析数据流图描述:BBS论坛系统的数据流图是根据发布信息的数据流程进行分析的。浏览者:)浏览者浏览页面这里的浏览者及所谓的游客游客可以访问网站的首页查看用户发表的帖子和其他用户对帖子的回复但是游客不能回复帖子也就是说游客对网站只有察看的功能而没有添加删除修改的功能这样当游客浏览了网站之后如果觉得网站不错那么就可以注册用户这样一来即可以提高网站的知名度又可以增加用户的数量来保证网站的正常运营下面是游客对网站的操作权限图游客浏览帖子内浏览网站版浏览版块下容和其它用块内容帖子标题户的评论图游客操作权限图用户:)用户注册如果游客想对某个帖子进行评论那么就必须注册用用户在注册页面填写个人的基本信息就可以了网站会验证你的用户名是否唯一你的基本信息是否规范等等)用户登录在登录页面上输入用户名和密码点击确定)用户浏览用户浏览和游客浏览区别不大同样拥有浏览板块内容浏览版块下帖子标题浏览帖子内容和其他用户评论)用户发贴每一个用户都有发帖的权利在每个版块中的浏览贴页中都会有一个发帖的按钮用户点击按钮后进入发帖页就想写文章一样和博客里的日志发表基本类似可以上传图片给自己的文章更换字体大小颜色样式等功能)用户回帖每个用户可以发帖就一定会有其他用户来浏览浏览后可以为文章进行淮安信息职业技术学院毕业设计论文评论也可以对某个特定的评论进行恢复)用户注销下面是用户对网站的操作权限图注册新用户浏览网站版块内容发贴浏览版块下用户帖子标题回帖浏览帖子内容和其它用户的评论用户登陆图用户操作权限图管理员:)用户管理管理员可以对网站中的所有用户进行统一的管理当发现某个用户对网站的健康发展造成威胁时管理员一经发现就可以立即删除但是管理员也需要慎重不能而已的影响其他用户的运行)论坛版块管理管理员可以对网站的版块进行扩充修改删除来确保网站的丰富多彩用户可以在论坛邮箱里发表对该网站的意见这样管理员才可以对用户的需求来对网站进行维护工作从而让网站从一个普通的论坛发展成为满足用户要求丰富用户交流的内容)文件管理管理员可以查看网站中用户上传的图片文件等信息一经发现带有不健康内容的一律删除下面是管理员对网站的操作权限图第三章系统需求分析管理员用户管理版块管理文件管理图管理员操作权限图(本章小结本章主要从业务流程方面论述了本系统的可行性问题其中包括:技术可行性、操作可行性。通过本章的论述可证明《BBS论坛系统》是一个非常可行的系统无论是从前台的浏览技术还是后台的数据库支持部分都很符合用户的需求。本章初步建立起开发项目的用例模型具体设计与实现将在后面待述。淮安信息职业技术学院毕业设计论文第四章系统总体设计通过需求分析的介绍可以进一步对系统设计的具体分析和总体思想进行设计。总体设计主要是对系统做一个概括性的介绍以及功能模块设计。(系统模块总体设计利用层次图来表示系统中各模块之间的关系。层次方框图是用树形结构的一系列多层次的矩形框描绘数据的层次结构。树形结构的顶层是一个单独的矩形框它代表完整的数据结构下面的各层矩形框代表各个数据的子集最底层的各个矩形框代表组成这个数据的实际数据元素(不能再分割的元素)。随着结构的精细化层次方框图对数据结构也描绘得越来越详细这种模式非常适合于需求分析阶段的需要。从对顶层信息的分类开始沿着图中每条路径反复细化直到确定了数据结构的全部细节为止。本系统一共分为四个模块每个模块之间虽然在表面上是相互独立的但是在对数据库的访问上是紧密相连的依据上述功能的分析系统中模块分别为:用户信息模块帖子管理模块回帖管理模块和版块管理模块用户信息:对会员信息管理员信息进行管理和设置帖子管理模块:对帖子信息的浏览修改删除添加存在权限控制回帖管理模块:对帖子恢复信息的浏览修改删除添加存在权限控制版块管理模块:版块信息的浏览修改删除添加存在权限控制(数据库结构设计(数据库逻辑结构设计ER方法是一种用来在数据库设计过程中表示数据库系统结构的方法该方法用ER图来描述现实世界的概念模型ER方法也称为ER模型。在ER图中用方框表示实体用菱形表示联系用椭圆表示属性。通过对以上系统业务流程图和数据流图的分析确定BBS论坛系统全局ER图。第四章系统总体设计Indexjsp登录成功点击版块内容点击登录点击注册CardshowjspRegisterjspLoginjsp注册成功点击发表或回复但未登录Cardrestoreshow点击帖子标题jsp点击发表点击确定图BBS论坛系统全局ER图(数据库结构设计表本系统的数据库命名为:bbs共分为张表Sendcardjsp帖子信息表主要对帖子的内容信息进行存储。如表所示。表card(帖子信息表)序号英文名中文名类型长度(字符)id编号intcard帖子内容varchar()发帖人usernamevarchar()发帖时间Timevarchar()Finishtime结贴时间Varchar()Ifover标记是否已结贴BitTitleid版块中的栏目IDIntCardtitle帖子标题Varchar()Popularnum人气数Int回复数RestoreNumIntFinalrestoretim最后发表时间Varchar()e最后发表评论的FinalrestoreuseVarchar()rname用户名称帖子评论信息表主要对帖子评论内容进行存储。如表所示。表restore(帖子评论信息表)序号英文名中文名类型长度(字符)淮安信息职业技术学院毕业设计论文编号idint帖子评论内容Restorevarchar()username评论人varchar()Time评论时间varchar()Cardid帖子的编号Int版块信息表主要对版块信息进行设置。如表所示。表title(版块信息表)序号英文名中文名类型长度(字符)id编号intTitle版块信息Varchar()版块栏目内容表主要对版块的内容分类进行设置。如表所示。表title(版块栏目内容表)序号英文名中文名类型长度(字符)编号idint版块栏目内容标TitleVarchar()题版块IDTitleidInt版块栏目内容注TitlecontentVarchar()解用户信息表主要对用户的基本信息进行存储。如表所示。表user(用户信息表)序号英文名中文名类型长度(字符)id编号intUsername用户名Varchar()Password密码varchar()出生日期birthdayvarchar()QQ号码qqnumberVarchar()MSN联系账号msnnumberVarchar()Question密码提示问题Varchar()Answerr问题答案Varchar()续表第四章系统总体设计School学校名称Varchar()所学专业SpecialtyVarchar()积分ScoreInt邮箱地址EmailVarchar()Photo个人照片urlVarchar()(本章小结总体设计阶段在需求分析的基础之上规划出了系统的功能模块以及在此分析基础上设计出的具体的、可以满足本系统全部需求的数据库。由于数据库在设计中有非常重要的作用所以在开发过程中在考虑数据库上的时间较多。系统做了系统总体设计包含了系统模块总体设计在本章中初步对BBS论坛的具体分析数据库结构设计以满足本系统的需要。总体设计为详细设计打下了基础详细设计具体内容后面待续。淮安信息职业技术学院毕业设计论文第五章系统详细设计(建立数据库及数据库表建立一个数据库bbs和个数据库表(user、card、restore、title和title)。首先在机子上安装Mysql和NavicatforMysql(mysql开发管理工具)然后打开NavicatforMysql打开localhost下在其下创建数据库bbs然后创建第四章中所设计的表(系统界面设计(系统界面命名在本系统中有两个action用来来对页面请求进行处理如图表格Action()>Userdo参数见表格(userdo参数列表)表userdo参数列表Action的名字Method参数名称主要功能Userdologin用于实现登录title用于实现点击版块内容跳转相关的帖子标题列表页面doCard实现跳转页面到对应的帖子内容页实现帖子信息浏览和评论send用来实现发帖restore用来实现帖子评论register用于实现注册功能Action()>carddo参数见表格(carddo参数列表)表carddo参数列表Action的名字Method参数名称主要功能UserdosaveCard用来实现发帖saveRestore用来实现帖子评论本系统中主要有个jsp页面要来于用户进行交互如表所示列出的个主要页面表主要jsp页面列表Jsp页面名称主要功能Indexjsp系统主页面用来对游客会员管理员交互的载体第五章系统详细设计CardShowjsp用户对帖子主题浏览的交互页面Registerjsp用户注册交互界面Loginjsp用户登录交互界面Sendjsp用户发帖交互界面续表Cardrestoreshowjsp用户浏览帖子内容和用户发表评论交互界面(系统页面流程关系页面的相关流程图Indexjsp登录成功点击版块内容点击登录点击注册CardshowjspRegisterjspLoginjsp注册成功点击发表或回复但未登录Cardrestoreshow点击帖子标题jsp点击发表点击确定Sendcardjsp图页面关系流程图(系统模块实现(主页面功能的实现进入主页面时首先从数据库中取出板块数据信息以table的形式显示然后通过板块的数据信息去得到板块栏目的信息数据也以tr为一条数据显示在浏览器上table模型如下:<table><tr>板块标题<tr><tr>板块的栏目<tr>淮安信息职业技术学院毕业设计论文<tr>板块的栏目<tr><table><table><tr>板块标题<tr><tr>板块的栏目<tr><tr>板块的栏目<tr><table>经过上面的例子不难看出要实现这个功能存在着一个for循环的嵌套页面浏览效果如图和所示indexjsp页面浏览效果图第五章系统详细设计indexjsp页面浏览效果图(浏览帖子页面功能的实现在进入主页面之后点击板块栏目即进入浏览帖子页面在浏览帖子页面中有一个重点分页的实现见附录代码介绍所有的数据通过数据库获得后再通过for循环写道table的tr行标签中每个tr表示一条数据在页面中只显示部分重要的信息如帖子标题作者名称发表日期回复数人气总数和最后发表时间和最后发表人。所列举的帖子内容说明如下表帖子内容说明显示内容内容说明内容来源帖子标题发表帖子时的标题表card的title字段作者名称发表帖子时的用户名表card的username字段发表日期发表帖子是的当前系统时表card的time字段间回复数帖子的总评论数表card的restorenum字段人气不管是游客还是用户只表card的popularnum字要预览过这个帖子人气段就加最后发表时间对于这个帖子最后个发表表card的评论的时间finalrestoretime字段最后发表人最后发表评论的用户名表card的finalrestoreusername字段页面的table标签模板如下<table><tr><td>文章<td><td>作者<td><td>回复人气<td><td>最后发表<td><tr><tr><td><div><a>文章标题内容<a><div><td>淮安信息职业技术学院毕业设计论文<td><div>作者名称内容<div><div>发表时间内容<div><td><td>回复数内容人气内容<td><td><div>最后发表时间内容<div><div>by:最后发表人名称<div><td><tr><table>页面浏览效果图如图所示图cardshowjsp页面的浏览效果(注册页面功能的实现在注册页面中有一些必要项的填写如用户名、密码、密码确认、email、密码问题、密码答案、还有验证码在填写着些项的时候有一套严格的规范用户名不能为空格长度控制在个以内并且填写的用户名在数据库中未存在这里就需要用到ajax技术来完成密码最小长度最大长度密码确认输入的字符串要与密码一致email格式为邮箱的标准格式密码的答案不能为空验证码于图片中显示的数字要一致Ajax原理xml的传输通过浏览器与服务器的中间对象xmlhttprequest完成主要的技术代码如下varxmlhttp第五章系统详细设计if(typeofActiveXObject!="undefined")xmlhttp=newActiveXObject("MicrosoftXMLHTTP")elseif(typeofXMLHttpRequest!="undefined")xmlhttp=newXMLHttpRequest()xmlhttpopen(“get”,url,false)xmlhttpsend()if(xmlhttpstate!=)alert(“服务器出错”)else{得到服务器端返回的xml文档字符串varresult=xmlhttpresponseText}客户端处理输出的信息是否符合格式要求的js脚本代码如下vare=documentgetElementsByTagName("input")functionrefresh(){documentformimgsrc="imagesavejpg"documentformimgsrc="imagejsp"}functioncheckAll(){Reguser()Regpwd()regemail()regpwdrp()reganswer()}functionReguser(){varreg=^AZaz{}S{,}$varregnameinfo=documentgetElementById("regnameinfo")if(evalue==""){regnameinfoinnerHTML="<pstyle="color:#ff">*用户名不能为空<p>"}elseif(regexec(evalue)){regnameinfoinnerHTML="<pstyle="color:#">你的输入符合要求<p>"}else{regnameinfoinnerHTML="<pstyle="color:#ff">*你输入的格式不符合要求(不能有空格长度控制在字节以内)<p>"}}functionRegpwd(){varreg=^w{,}varpwdinfo=documentgetElementById("pwdinfo")if(evalue==""){淮安信息职业技术学院毕业设计论文pwdinfoinnerHTML="<pstyle="color:#ff">*密码不能为空<p>"}elseif(regexec(evalue)){pwdinfoinnerHTML="<pstyle="color:#">你的输入符合要求<p>"}else{pwdinfoinnerHTML="<pstyle="color:#ff">*你输入的格式不符合要求(最小长度:最大长度:)<p>"}}functionregpwdrp(){varpwdrepeatinfo=documentgetElementById("pwdrepeatinfo")if(evalue==""){pwdrepeatinfoinnerHTML="<pstyle="color:#ff">*密码确认失败<p>"}elseif(evalue==evalue){pwdrepeatinfoinnerHTML="<pstyle="color:#">密码确认成功<p>"}else{pwdrepeatinfoinnerHTML="<pstyle="color:#ff">*密码确认失败<p>"}}functionregemail(){varemailinfo=documentgetElementById("emailinfo")varreg=^w(w)*w(w)$if(evalue==""){emailinfoinnerHTML="<pstyle="color:#ff">邮箱不能为空<p>"}elseif(regexec(evalue)){emailinfoinnerHTML="<pstyle="color:#">邮箱验证成功<p>"}else{emailinfoinnerHTML="<pstyle="color:#ff">*你输入的邮箱不正确<p>"}}functionreganswer(){varanswerinfo=documentgetElementById("answerinfo")if(evalue==""){answerinfoinnerHTML="<pstyle="color:#ff">*密码答案不能为空<p>"}else{answerinfoinnerHTML="<pstyle="color:#">密码答案输入正确<p>"}}注册页页面效果如图所示第五章系统详细设计图registerjsp页面浏览效果图(登录页面功能的实现登陆页面的主要特点就是对用户名和密码信息从数据库中进行核对如果核对成功那就表示登陆成功为了后续能够更好的开发一般都会把登录的用户名信息保存到session中在这个过程中点击登录按钮会提交from表单到userdo这个action中进行处理登录的逻辑请求这个页面中除了登录按钮外还有个注册按钮用来跳转到注册界面。登录页面效果如图所示图loginjsp页面浏览效果图淮安信息职业技术学院毕业设计论文(发帖页面功能的实现首先进入发帖页面必须经过登录后的用户才可以发帖页面中需要填写的内容有帖子主题帖子类型和内容还有一些其他的帖子信息如用户名发表时间等等都是在程序中自动配上的在帖子内容快里使用了一个fckeditor组件该组件是用来实现文字样式和加载图片的具体用法和代码如下。下载fckeditor组件把他放在webroot根目录下然后再页面的head标签中添加以下代码。<scripttype=”textjavascript”>windowonload=function(){varoFCKeditor=newFCKeditor('content')oFCKeditorBasePath="fckeditor"oFCKeditorToolbarSet='Myshow'oFCKeditorHeight=oFCKeditorReplaceTextarea()}<script>在body中对应的标签为<textareaname=”content”><textarea>其中有个图片上传问题运行时会保存原因是在fckeditor组件中默认的请求页面是php只要把请求页面修改成jsp页面就可以解决这个问题了。发帖页面效果如图所示图发帖页面效果图(帖子内容浏览和评论页面功能的实现进入界面之前服务器先处理了有关的相应返回了一个回复记录集在页第五章系统详细设计面中通过for循环来显示回复的内容这里的记录集存在排序功能依据发表时间进行升序排列所以最新的回复内容会排在最下面这个就像看书要一页页顺序的看一样属于大多数人的一种习惯页面下面是帖子评论的发表跟发表帖子一样需要用户的登录才能有这个功能如果未登录那么点击提交按钮系统会提示你“您还未登录请登录后再尝试”。帖子内容浏览和评论页面效果如图所示图帖子内容浏览和评论页面效果图(本章小结在本章中初步对BBS论坛系统做了具体详细设计介绍包含了系统设计的各个功能模块的设计和简单流程图设计及重要编码的实现。还有基本功能模块的实现及基本模块的测试。淮安信息职业技术学院毕业设计论文结论在计算机网络飞速发展的今天BBS已经成为人们网上交流的重要平台因此对BBS论坛的研究是十分必要的。设计和开发了一个最基本的基于WEB的BBS系统可扩展性很大科学的开发过程也极有利于系统的扩充与扩展。系统的分析与定义都结合了现在流行的面向对象方法以及传统的结构分析与设计方法。通过这次毕业设计我从中学到了许多新的知识而且通过这次毕业设计培养了我综合多门学科中的知识、迅速规划并开发出目标系统的能力以及编程能力也有了很大的提高。另外也有许多心得体会所谓系统开发如人生百味酸甜苦辣皆有之。严格按工程的方法来设计系统相当重要不能认为基于javaWeb技术的BBS论坛系统很小可以无需花太多的时间来做系统分析甚至可以无需经过系统定义而直接进入系统编码阶段。系统分析过于简单系统定义过于抽象则在系统设计与编码阶段遇到的困难就越多特别是其中若不得不做一些功能性甚至系统结构性方面的变动将面对许多重复性的工作。在设计开发BBS论坛过程中重复工作过多将会极大地影响系统开发的积极性进而影响整个系统的质量。在这一点上我体会尤深。我的体会是系统分析越充分系统定义越具体那么后续的系统设计与开发工作就越有效率且系统的质量也越有保障。回顾设计开发BBS论坛的开发过程总结起来那就是软件的开发是相当辛苦的但成功以后的喜悦也是非常美妙的而且我发现其中投入的心血越多成功以后你所获得的快乐与充实感也更多更强。结论致谢时光飞逝短暂的大学生活就要结束了。但即使做完全部的事情合上扉页三年的生活也绝不仅如时光逝去那样匆匆无痕。毕业在即论文的撰写工作使我有机会对过去的学习生活作个总结。三年的时间中,许多人给予了我无私的指导和帮助给我的生活和工作平添了许多乐趣。下面的致谢永远也表达不完三年来他们对我的指导和帮助。首先衷心的感谢我的导师张趁香老师张趁香老师言传身教于我设计研究的态度和方法、培养我设计研究中的严谨和执著、始终不懈地为我设计工作掌舵、导航使我获益非浅。我在毕业设计期间取得的所有成绩都凝聚着张趁香老师辛勤指导的汗水。然后感谢管曙亮老师他严谨的治学态度、渊博的科学知识、高度的责任感以及诲人不倦的精神给我深深的影响因为你让我对软件设计充满了激情这将激励我在今后的道路上刻苦钻研、不断进步再次致上深深的感谢。感谢在校学习期间的各位老师的教授使我了解了许多的专业知识能够在今后的旅途中有继续奋斗的力量感谢班级同学们给予的协助与他们讨论问题给我相当大的启示让我受益非浅在此深表谢意。感谢自己成长过程中关心和帮助过我的所有亲人、师长、同学和朋友们!感谢论文答辩委员会的诸位老师能在百忙之中审阅我的论文并出席论文答辩会。谨以此文献给我的父母没有他们在我学习生涯中的无私奉献和默默的支持没有他们的关心和理解我将无法顺利完成今天的学业。感谢淮安信息职业技术学院的每一个关心我的人谢谢。淮安信息职业技术学院毕业设计论文参考文献:《Web开发技术详解(第版)》M北京:电子工业出版社:刘长炯《MyEclipseJava开发中文教程》DK北京::郑阿奇《MySQL实用教程》M北京:电子工业出版社:孙卫琴《Tomcat与Java萨师煊王珊《数据库系统概论》M北京:高等教育出版社:谷雨阎隽高春蓉等译《JSP从入门到精通》M北京:电子工业出版社,:李迎秋姜仲《JSP实用教程》大连理工大学出版社:赵明昌译《JSP数据库编程指南》M北京:北京希望电子出版社:葛蒙程显峰《JavaScript实践与提高》M北京:中国电力出版社:黄嘉辉《Java网络程序设计》M北京:清华大学出版社:李绪成《JavaWeb开发教程入门与提高篇》M北京:清华大学出版社:舒红平《Web数据库编程:Java》M西安:西安电子科技大学出版社:附录附录分页类的编写代码packagexgongbbsdaoimportjavasqlResultSetimportjavasqlSQLExceptionimportjavautilListimportorgapachecommonsdbutilsQueryRunnerimportorgapachecommonsdbutilsResultSetHandlerimportorgapachecommonsdbutilshandlersBeanListHandlerimportxgongbbsmodelCardpublicclassMysqlfenyeDao{privateintpageSize=publicintMaxPagepublicintMaxElementsprivateDBConnectiondbprivateinttitleid=publicMysqlfenyeDao(intpageSize,inttitleid){thispageSize=pageSizethistitleid=titleidinit()}publicvoidinit(){setMaxElements()setMaxPages()}publicvoidsetMaxPages(){if(MaxElements<=pageSize){thisMaxPage=}elseif(MaxElements>pageSizeMaxElementspageSize>){thisMaxPage=MaxElementspageSize}elseif(MaxElements>pageSizeMaxElementspageSize==){thisMaxPage=MaxElementspageSize}}publicvoidsetMaxElements(){db=newDBConnection()StringnewSql="selectcount(id)astotalfromcardwheretitleid="thistitleidQueryRunnerquery=newQueryRunner()ResultSetHandlerhandler=newResultSetHandler(){publicObjecthandle(ResultSetrs)throwsSQLException{if(rsnext()){淮安信息职业技术学院毕业设计论文returnrsgetInt("total")}elsereturn}}try{thisMaxElements=(Integer)queryquery(dbgetConnection(),newSql,handler)}catch(SQLExceptione){eprintStackTrace()}}publicintgetPageSize(){returnthispageSize}publicintgetMaxPage(){returnthisMaxPage}publicbooleanisLastPage(intpageNum){returnpageNum==MaxPage}publicbooleanisFirstPage(intpageNum){returnpageNum==}publicbooleanisMiddlePage(intpageNum){returnpageNum>pageNum<MaxPage}SuppressWarnings("unchecked")publicList<Card>getResult(intpageNum){db=newDBConnection()Stringsql="select*fromcardwheretitleid="thistitleid"orderbytimedesclimit"(pageNum)*pageSize","pageSizeQueryRunnerquery=newQueryRunner()List<Card>list=try{list=(List<Card>queryquery(dbgetConnection(),sql,newBeanListHandler(Cardclass))}catch(SQLExceptione){eprintStackTrace()}returnlist}publicintgetTitleid(){附录returntitleid}publicvoidsetTitleid(inttitleid){thistitleid=titleid}

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/49

基于Java_Web技术开发的BBS论坛

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利