毕业设计论文基于JSP技术的信息交流BBS的设计和实现.doc

上传人:sccc 文档编号:4864538 上传时间:2023-05-20 格式:DOC 页数:34 大小:421.02KB
返回 下载 相关 举报
毕业设计论文基于JSP技术的信息交流BBS的设计和实现.doc_第1页
第1页 / 共34页
毕业设计论文基于JSP技术的信息交流BBS的设计和实现.doc_第2页
第2页 / 共34页
毕业设计论文基于JSP技术的信息交流BBS的设计和实现.doc_第3页
第3页 / 共34页
毕业设计论文基于JSP技术的信息交流BBS的设计和实现.doc_第4页
第4页 / 共34页
毕业设计论文基于JSP技术的信息交流BBS的设计和实现.doc_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《毕业设计论文基于JSP技术的信息交流BBS的设计和实现.doc》由会员分享,可在线阅读,更多相关《毕业设计论文基于JSP技术的信息交流BBS的设计和实现.doc(34页珍藏版)》请在三一办公上搜索。

1、 西京学院本科毕业设计(论文) 摘 要现今的社会是一个信息飞速发展的社会,其中在信息的交流当中,互联网占据着一个非常重要的位置。人们可以在互联网上收到最新的消息,也可以通过互联网进行信息的交流。BBS(Bulletin-Board-System)就是大家进行信息交流的一个渠道。它是一种在Internet网上开放的信息服务系统,通过BBS用户可以方便的实现信息交换和文件共享。本文主要完成了基于JSP技术的信息交流BBS的设计和实现,主要实现了客户端和服务器端的动态交互。本文从BBS系统的开发背景、相关技术、需求分析、详细设计、系统测试与维护等方面详细阐述了整个系统的开发过程。关键词:BBS,JS

2、P,MYSQL,JavaBeansAbstractTodays society is an information society, which developed rapidly in the communication of information, the Internet among occupy a very important position. People can receive the Internet for the new news, also can communication of information through the Internet. And BBS i

3、s you one of the channels of information exchange. BBS concept: BBS (BBS) is Bulletin Board - abbreviation of - views, namely electronic Bulletin Board. It is a kind of open Internet information service system, through the BBS users can easily realize information exchange and file sharing.This paper

4、 mainly completed based on JSP technology exchange of information with the design and implementation of the BBS, mainly realizes the client and the server dynamic interaction. This article from the development background, BBS system related technology, needs analysis, the detailed design, system tes

5、ting and maintenance etc is expounded the development process of the whole system.Keywords:BBS,JSP,MYSQL,JavaBeans30目 录1 绪 论11.1系统开发的背景和意义11.2相关技术简介11.2.1 JSP技术简介11.2.2 JavaBean技术简介21.2.3 JDBC技术简介31.2.4 Tomcat技术简介31.3开发环境42 系统分析52.1可行性分析52.1.1经济可行性52.1.2技术可行性52.2需求功能分析63 系统设计73.1系统目标73.2系统功能结构73.3系统

6、的业务流程图84 数据库设计114.1数据库分析114.2数据库概念设计114.3数据表的设计135 详细设计175.1用户登录模块设计175.2 用户注册模块设计185.3 帖子主题模块设计215.4 发表帖子模块设计225.5其他模块的设计235.5.1查询用户模块235.5.2 帖子管理模块246 系统运行与测试266.1 测试运行情况266.2 程序有待改进方面277 结 论28致 谢29参考文献301 绪 论1.1系统开发的背景和意义 在二十一世纪,地球因为互联网的存在,已变成了一个整体。人们通过它来获取、发布和传递信息,并且应用也越来越广泛,在人们政治、经济、生活等各个方面都发挥了

7、极其重要的作用。人们迫切的需要在网络上发表自己的感想以及和他人的交流,BBS应运而生。随着互联网的高速发展和信息化校园的逐步形成,国内高校校园BBS已经成为高校学生及教师之间进行思想交流、信息沟通的重要场所, 是学术讨论与信息交流的一个重要场所,也是高校师生浏览最多、最受欢迎的校园网站,对他们的学习和生活产生了很大的影响,BBS成为了各高校校园文化的一个重要组成部分。目前,很多BBS系统采用的是ASP技术,这是因为ASP具有语言兼容性高、隐蔽安全性高、易于操控数据库、面向对象功能等优点。本选题设计是基于JSP技术的BBS系统,相比于ASP技术来说,JSP跨平台,而且支持包括Apache、Net

8、scape、IIS、IBM Http Server在内的所有主流Web服务器, 而ASP目前只支持Windows NT +IIS; JSP提供了更好的安全机制, 这对于电子商务来说是至关重要的; JSP可以跨操作系统、Web服务器和应用服务器,而ASP只限于 Windows NT + IIS;JSP是一个开放的标准,得到了Oracle、Netscape、IBM、BEA、Borland等支持;JSP的组件编写更为容易,而且JSP的性能优于ASP。 本课题采用JSP技术实现一个高校BBS系统,具有以下功能:用户注册,进行发帖,帖子删除、修改以及后台的管理员管理,包括用户权限管理,板块编辑,论坛信息

9、管理等。1.2相关技术简介1.2.1 JSP技术简介 JSP(Java Server Page)是由Sun公司在Java语言上开发出来的一种动态网页制作技术,是Java开发阵营中最具有代表性的解决方案。JSP不仅拥有与Java一样的面向对象性、便利性、跨平台性、等优点,还拥有Java Servlet的稳定性,并且可以使用Servlet提供的API、Java Bean及Web开发框架技术,使页面代码与后台处理代码分离,提高工作效率。在目前比较流行的Web程序开发中,JSP是比较热门的一种动态页面技术,它依靠Java语言稳定、安全、可移植性好的优点,成为大、中型网站开发的首选。1.2.2 Java

10、Bean技术简介 JavaBean是基于Java的组件模型,有点类似于Microsoft的Com组建。JavaBean就是JAVA的可重用组件技术。ASP通过COM来扩充复杂功能,如文件上载、发送email以及将业务处理或复杂计算分离出来成为独立可重复利用模块。JSP通过JavaBean实现了同样的功能扩充。JSP对于在WEB应用中集成JavaBean组件提供了完善的支持。这种支持不仅能缩短开发时间(可以直接利用经测试和可信任的已有组件,避免了重复开发),也为JSP应用带来了更多的可伸缩性。JavaBean组件可以用来执行复杂的计算任务,或负责与数据库的交互及数据提取等。在Java平台中,可以

11、无限扩充Java程序的功能。通过JavaBean的组合可以快速生产新的应用程序。JavaBean通过Java虚拟机(Java Virtual Machine)执行,运行JavaBean最小的需求是JDK1.1或者以上版本。对于程序员来说,最好的一点就是JavaBean可以实现代码的重复利用,另外对于程序的易维护性等等也有很重大的意义。在实际的JSP开发过程中,读者将会发现,和传统的ASP或PHP页面相比,JSP页面将会是非常简洁的,由于JavaBean开发起来简单,又可以利用Java语言的强大功能,许多动态页面处理过程实际上被封装到了JavaBean中。JavaBean传统的应用在于可视化的领

12、域,如AWT下的应用。自从JSP诞生后,JavaBean更多的应用在了非可视化领域,在服务器应用方面表现出了越来越强的生命力。1.2.3 JDBC技术简介JDBC是一组API,定义了用来访问数据库源的标准JAVA类库,使用这种类库可以使用一种标准的方法、方便地访问数据库资源。JDBC是用于执行SQL语句的Java应用程序接口,由一组用Java语言编写的类与接口组成,在JSP中将使用JDBC来访问数据库。JDBC是一种规范,它让各数据库厂商为Java程序员提供标准的数据库访问类和接口,这样就使得独立于DBMS的Java应用程序的开发工具和产品成为可能。JDBC的目标是使应用程序开发人员使用JDB

13、C可以连接任何提供了JDBC驱动程序的数据库系统,这样就使得程序员无须对特定的数据库的特点有过多的了解,从而大大简化了和加快了开发过程。一般的Java开发工具都带有JDBC - ODBC桥驱动程序,这样,只要是能够使用ODBC访问的数据库系统,也就能够使用JDBC访问了。有趣的是,不同于ODBC是Open Database Connectivity的简称,JDBC并不是Java Database Connecivity的简称,而是SUN的注册商标,至少官方说法是这样的。JDBC API 为访问不同的数据库提供了一种统一途径,像ODBC一样,JDBC为开发者屏蔽了一些细节问题。另外,JDBC对数

14、据库的访问也具有平台无关性。1.2.4 Tomcat技术简介在已JAVA技术为的WEB开发领域中,TAMCAT是许多JAVA程序员相当喜爱的开放源代码产品,它附属在APACHE SOFTWARE FOUNDATION 所主导的JAKART项目内。由于TAMCT是SERVLET与JSP技术的参考实现(REFERNCE IMPLEMENTATION),所以它不但可以当作独立的WEB服务器,也可以结合其它的WEB服务器,只担任SERVLET容器或JSP容器的角色。1.3开发环境 在开发高校BBS时,需要具备下面的软件环境。服务器端: 操作系统:Windows xp。 Web服务器:tomcat 6.

15、0。 Java开发包:JDK1.5以上。 数据库:My SQL 。 浏览器:IE。 客户端: 浏览器:IE。 分辨率:最佳效果为1024*768像素。2 系统分析2.1可行性分析可行性分析也称为可行性研究,既是在系统调查的基础上,针对新系统的开发是否具备必要性和可行性,对新系统的开发从技术、经济、管理方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定是否能够解决。该系统的可行性分析包括以下几个方面内容。2.1.1经济可行性 主要是对项目的经济效益进行评价,利用计算机来实现网上交流信息。开发一套能满足网上信息交流的软件是十分必要的,实

16、现用户发帖、回复帖等功能,能发表自己的观点。本系统在经济上是完全可以接受的,只要用户在本地安装Web浏览器,登录论坛就可以浏览帖子并发表自己的意见。所以本系统在经济上是可行的。2.1.2技术可行性 技术上的可行性分析技术条件是否能顺利完成开发工具,硬、软件能否满足开发者地需求等。 软件方面,系统开发需要的各种软件环境都已具备,数据库服务器方面则有MySQL,均能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。其灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价

17、格越来越低,其硬件平台完全能满足此系统的需求。2.2需求功能分析高校BBS系统的目的是提供一个供广大师生交流的平台,为广大的师生提供学术讨论与信息交流的社区。因此,高校BBS最基本的功能首先是发表主题,其次是其他人员根据主题发表自己的看法。此外,为了记录主题的发表者和主题的回复者信息,系统还需要提供用户注册和登录的功能。只有注册的用户登录后才能够发表和回复主题,浏览者(游客)只能浏览主题信息。根据用户的需求及上面的分析,高校BBS包含5个角色:游客,用户,管理员、超级管理员、版主。(1)游客的各项功能:游客可以浏览本论坛,但是不可以发帖,不可以回帖,也不可以看帖,只有注册了以后成为本论坛的用户

18、,才可以执行用户的功能。(2)用户的各项功能:一旦成为本论坛的用户后享有以下功能:用户注册、用户登录、发表文章、阅读文章、回复文章、作者查找个人资料修改.(3)管理员的各项功能:修改管理员自己的信息、对帖子进行管理、进入前台以及退出后台(4)超级管理员的各项功能:超级管理员可以添加新的管理员以及删除管理员,修改管理员资料,以及对帖子的管理,超级管理员还可以添加版主。(5)版主的各项功能:添加版块、修改版块、查看版主信息 、修改版主信息3系统设计3.1系统目标 对于典型的数据库管理系统,尤其是对像论坛这样的数据流量特别大的网络管理系统,必须要满足使用方便、操作灵活等设计需求。本系统在设计时应该满

19、足以下几个目标: 采用人机对话的操作方式,界面设计美观友好,信息查看灵活、方便、快捷、准确,数据存储安全可靠。 全面展示系统内所有分类的帖子,并进行分页显示。 为用户提供一个方便、快捷的主题信息查看功能。 实现在线发表帖子。 提供登录模块,主要用于管理员登录系统和发表帖子时留下发表者的信息。 用户随时都有可能查看自己发表的帖子。 对用户输入的数据,系统进行严格的数据检验,尽可能认为的错误。 系统最大限度的实现了易维护性和易操作性。 系统运行稳定、安全可靠。3.2系统功能结构 用户访问论坛首页面后,新用户注册成功之后,在登录界面输入正确用户名、密码和验证码之后便可以进入本系统。游客可以浏览论坛的

20、主题话题但是不可以发表话题和回复帖子,只有当游客在本论坛注册成为论坛的用户后,才能进行相关操作。在用户登录成功之后,可以修改用户自己的信息,进一步完善用户资料和修改注册时用户填写的资料。为了方便信息交流,用户可以发表话题,更可以根据帖子主题浏览帖子内容和回复帖子。用户可以按作者名查询帖子序号、标题、发帖的时间、发帖人等信息,方便用户快速的找到自己想要的信息;在用户的限为管理员,则可进入后台,进入后台后,可进行论坛管理员的管理、版面管理和帖子管理的操作。下面通过结构图分别来介绍前后台所具备的功能。 高校BBS前台和后台功能结构图如图3.1和3.2所示。 高校BBS前台用户登录管理用户信息修改浏览

21、帖子发表帖子回复帖子用户注册按作者名查询后台登陆3.1 高校BBS前台功能结构图高校BBS后台管理员管理帖子管理版主管理图3.2 高校BBS后台功能结构图3.3系统的业务流程图 高校BBS的系统功能结构图如图3.3所示。回复帖子搜索主贴发表新帖用户登录是否登陆主界面是否主页面注册管理员管理帖子管理版主管理添加管理员修改管理员资料删除管理员修改帖子查看帖子删除帖子添加版主修改版主资料添加版块后台管理图3.3高校BBS的系统流程图 各模块功能解释如下:用户登录模块:新用户注册成功之后,在登录界面输入注册时填写的正确用户名、密码之后,再输入出现的验证码之后便可以进入本系统。如果用户名和密码正确,但是

22、输入的验证码错误,则不允许进入本系统,跳转到登录界面重新输入。 用户注册模块:建立账号,如果游客以前没有建立账号,则只可以浏览论坛的主题话题但是不可以发表新话题和回复有关帖子,只有当游客在本论坛注册成为论坛的用户后,才能进行相关操作。同时在用户创建新账号的时候,必须输入用户名(系统会在提交时检查该用户名是否已存在) 。用户在建立新账号之后就可以具有合法登录系统的身份,可以进行相关的操作。用户信息资料管理模块:在用户登录成功之后,可以修改用户自己的信息,进一步完善用户自己的资料和修改注册时用户填写的资料。主题帖子模块:为了方便信息交流,首先帖子主题类型分为精华主题(红色)和普通主题(黑色),用户

23、可以根据需要游览自己感兴趣的帖子,获得所需信息。用户可以发表话题,还可以根据帖子主题浏览帖子内容和回复帖子。查询模块:用户只要输入想查询的用户ID,点击查询按钮,便可以查询出该用户发表的所有帖子以及该用户发表的帖子序号、标题、发帖的时间、发帖人等详细信息,方便用户快速的找到自己想要的信息。管理员信息管理模块:管理员输入正确用户名、密码之后便可以进入到后台管理系统。管理员可以查看自己的信息,可以添加管理员,可以修改管理员的资料,还可以删除管理员。主题帖子管理模块:管理员可以对用户发表的帖子进行管理,管理员可以按主题帖子序号,主题名,发表的话题进行看帖,修改帖子和删除帖子等操作。 版主管理模块:管

24、理员可以根据版块具体要求的不同,添加这一版块的版主负责管理此版块,来分担管理员的管理论坛的工作,可以更好的为广大用户服务。版主还可以修改自己的资料,添加本版块的子版块。4 数据库设计 数据库的设计,在程序开发中起着至关重要的作用,它往往决定了在后面的开发中进行怎样的程序编码。一个合理、有效的数据库设计可降低程序的复杂性,是程序开发的过程更为容易。4.1数据库分析该系统采用MySQL作为后台数据库去存储所有与系统相关的数据。这些数据表包括用户表(userinfo)、主题帖子表(topicinfo)、回复帖子表(replyinfo)、版块表(foruminfo)以及管理员表(admininfo)。

25、数据模型的最终目的就是规划能够有效地处理事务,并且保持应用开发的简洁性的关系数据库,并在数据库的规范化、性能优化以及数据的简洁性之间达到平衡。4.2数据库概念设计E-R模型是对现实世界的一种抽象。它的主要成分是实体、联系和属性。使用这三种成分,我们可以建立许多应用环境的ER模型。本系统的实体分别为用户实体、主题帖子实体、回复贴实体、版面实体、管理员实体。(1)用户实体(用户ID、用户密码、用户昵称、用户电子邮箱、用户级别、用户留言、用户自述、用户权限),如图4.1所示。(2)主题帖实体(主题帖子编号、主题帖子标题、主题帖子作者、帖子内容、发表帖子的时间、回复数、所属版块号、主题类型),如图4.

26、2所示。(3)回复帖实体(回复编号、回复帖子编号、回复作者、回复帖子时间、回复内容),如图4.3所示。(4)版块实体(版块编号、版块名称、版块类型、子版块编号、版主、主题数、文章数、版块描述),如图4.4所示。(5)管理员实体(管理员ID、管理员密码、管理员电子邮箱、管理员自述、注册时间、管理员留言、管理员权限),如图4.5所示。用户用户留言级别用户邮箱用户ID密码昵称用户权限用户自述图4.1用户实体E-R图 主题帖子发表帖子时间回复数帖子内容帖子编号标题作者主题类型所属版块号图4.2主题帖实体E-R图回复帖子回复编号回复帖子编号回复内容回复帖子时间回复作者图4.3回复贴实体E-R图版块版块描

27、述版主主题数版块编号版块名称版块类型文章数子版块编号图4.4版块实体E-R图管理员留言注册时间管理员自述管理员ID密码邮箱管理员权限图4.5管理员实体E-R图4.3数据表的设计在这个数据库管理系统中要建立5张数据表,包括用户表(userinfo)、主题帖子、(topicinfo)、回复帖子表(replyinfo)、版块表(foruminfo)以及管理员表(admininfo)。这5张数据表的各个字段意义如下所示。表4.1回复帖子表(replyinfo)字段名数据类型字段大小说明idint11回复编号(主键)topicidint11主题号(外键)replyuseridvarchar20回复者(外

28、键)replytimedatetime0回复时间replycontentvarchar300回复内容表4.2主题帖子表(topicinfo)字段名数据类型字段大小说明topicidint11主题编号(主键)topictitlevarchar60标题topicuseridvarchar20发帖人(外键)topiccontentvarchar300发帖内容topictimedatetime0发帖时间replynumint10回复数forumidint10版块号(外键)groupidint2主题类型表4.3版块表(foruminfo)字段名数据类型字段大小说明midint10版块编号(主键)name

29、varchar80版块名isparentint2版块是否分类sortidint3子版块号adminauthorvarchar60版主totaltopicint10主题数totalpostint11文章数descriptionvarchar160版块描述4.4 管理员表(admininfo)字段名数据类型字段大小说明admnamevarchar20管理员ID(主键)admpwdvarchar20密码admemailvarchar50邮箱admstatevarchar50自述admtimedatetime0注册时间admsayvarchar150留言admrightint10权限4.5 用户表(u

30、serinfo)字段名数据类型字段大小说明useridvarchar20用户名(主键)userpwdvarchar20密码usernamevarchar30昵称useremailvarchar50邮箱userlevelint20级别usersayvarchar150留言userstatevarchar20自述rightint10权限5详细设计5.1用户登录模块设计当游客注册成为本BBS论坛系统的用户后,便跳转到系统登录界面,在系统登录界面(图5.1所示)输入正确用户名、密码和验证码之后便可以进入本系统。 图5.1用户登陆界面验证用户登陆的代码如下: %String Username=reque

31、st.getParameter(Username);/ String Password=request.getParameter(Password); String input=request.getParameter(Rand); String rom=request.getParameter(rom);/ String random=rr.RandomNum(4); if(Username!=null & Password!=null) session.setAttribute(user name,Username); session.setAttribute(pass word,Pass

32、word); session.setAttribute(input,input); if(input.equals(rom) /if(pareTo(rr.RandomNum(4)=0) response.sendRedirect(check.jsp?rom=+rom);/ else out.print(验证码错误!); % alert(登录失败!验证码错误!)self.location=login.jsp; 5.2 用户注册模块设计游客如果要在本BBS论坛系统发表帖子和回复帖子,游客必须在本论坛注册成为论坛的用户后,才能进行相关操作。系统注册界面(图5.2所示)。图5.2用户注册界面验证用户注

33、册是否成功代码如下:用户注册 function check()if(document.myform.userid.value=)alert(用户名不能为空!);document.myform.userid.focus();return false;if(document.myform.username.value=)alert(用户昵称不能为空!);document.myform.username.focus();return false;if(document.myform.usermail.value=)alert(用户邮箱不能为空!);document.myform.usermail.f

34、ocus();return false;if(document.myform.userpwd.value!=document.myform.userpwd2.value)alert(密码输入不一致!);document.myform.userpwd.focus();return false;if(document.myform.userpwd.value=|document.myform.userpwd2.value=)alert(密码不能为空!);document.myform.userpwd.focus();return false; 5.3 帖子主题模块设计帖子主题界面(图5.3所示),

35、帖子主题类型分为精华主题(红色)和普通主题(黑色),用户可以根据需要游览自己感兴趣的帖子,获得所需信息。用户可以发表话题,还可以根据帖子主题浏览帖子内容和回复帖子,以及根据用户ID查询主题帖子。图5.3帖子主题界面帖子主题界面设计部分代码如下:%String id=(String)session.getAttribute(id);id=ht.donull(id);String root=(String)session.getAttribute(root);root=ht.donull(root);String name=(String)session.getAttribute(name);na

36、me=ht.donull(name);String bdid=request.getParameter(id);String stringpage=request.getParameter(page);/stringpage为未处理的字符串型的页码数String reer=;String sql;5.4 发表帖子模块设计用户点击发表帖子按钮便进入了发表帖子界面,用户可以选择发表帖子的主题类型,用户填写要发表主题帖子的标题和内容。发表帖子的界面(图5.4所示)图5.4发表帖子页面发表帖子界面设计部分代码如下:发表新贴 function addAttachment()var postForm =

37、document.getElementById(post);var uploadForm = document.getElementById(upload);uploadFments = postFments;uploadForm.filePath = postForm.filePath;unloadForm.action=attachment.html;unloadForm.target=UploadHidden;unloadForm.submit();5.5其他模块的设计5.5.1查询用户模块用户点击导航栏上搜索按钮便进入了查询用户的界面,用户只要输入想查询的用户ID,点击查询按钮,便可以查询出该用户发表的所有帖子。显示查询后用户发表帖子部分代码如下:% page contentType=text/html; charset=gb2312 language=java

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

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号