jsp技术实现论坛及优化毕业论文.docx

上传人:小小飞 文档编号:3902371 上传时间:2019-10-10 格式:DOCX 页数:45 大小:388.84KB
返回 下载 相关 举报
jsp技术实现论坛及优化毕业论文.docx_第1页
第1页 / 共45页
jsp技术实现论坛及优化毕业论文.docx_第2页
第2页 / 共45页
jsp技术实现论坛及优化毕业论文.docx_第3页
第3页 / 共45页
jsp技术实现论坛及优化毕业论文.docx_第4页
第4页 / 共45页
jsp技术实现论坛及优化毕业论文.docx_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《jsp技术实现论坛及优化毕业论文.docx》由会员分享,可在线阅读,更多相关《jsp技术实现论坛及优化毕业论文.docx(45页珍藏版)》请在三一文库上搜索。

1、20142015第 二 学期 毕业设计(论文) 课题 jsp技术实现论坛及优化 姓名 刘念 系部 电子与信息工程专业 计算机应用技术 班级 12计算机(2) 学号 1203380228 指导教师 黄庆 摘 要随着计算机的普及,网络已经成为人们不可缺少的最重要的通信工具之一。很多人喜欢在网上交流学习经验、聊天、发表自己的看法。BBS之所以受到广大网友的欢迎,与它独特的形式、强大的功能是分不开的,利用BBS可以实现许多独特的功能,很符合人们这方面的要求。 BBS原先为“电子布告栏”的意思,但由于用户的需求不断增加,BBS的作用不止如此,现在,大家可以在BBS上发表自己的意见,看法,问题。等待专人解

2、答。也可以参加讨论。本BBS用JSP语言编写。通过版块规划,分析,设计,代码编辑,后调试等阶段,使此论坛达更加人性化,使用更加的方便。关键词:BBS 电子布告栏 后期调试 人性化 目录前言4第1章 论坛开发背景及意义51.1 论坛开发背景51.2 论坛开发意义6第2章 论坛系统需求分析72.1现状分析72.2可行性分析72.2.1技术可行性72.3设计目标82.4功能要求82.5平台选择8第3章 论坛系统设计113.1数据库设计2.6系统开发工具92.6.1开发语言JSP(Java Server Page)92.6.2数据库SQL Server2005113.1.1数据库需求分析113.1.2

3、数据库概念结构设计133.1.3数据库逻辑结构设计14第4章 论坛系统实现174.1系统各部分的实现方法174.1.1创建与数据库的连接174.1.2访问数据库的JavaBean184.1.3用户及管理员登录模块页面194.1.4首页模块页面214.1.5会员注册模块的实现页面244.2论坛优化274.2.1界面优化274.2.2系统功能优化284.2.3发帖文本框优化29第5章 系统测试与评价分析305.1测试环境简介305.2系统各功能的测试305.3不足与展望31结束语32参考文献33前言自我国正式进入互联网时代以来,短短的几年时光互联网在我国得到了飞速的发展。目前它已经成为全球性信息传

4、输的重要途径之一,并被喻为信息高速公路。这不仅表现在互联网的基础设施方面,也表现在互联网的用户人数、互联网在各行各业的广泛应用等各个方面。现实生活中的交流存在时间和空间上的局限性,交流人群范围狭小以及间断的交流不能保证信息的准确性和可取性。因此伴随着网络的普及,论坛逐渐融入人们的生活。人们只需通过网上论坛的交流扩大交流面,同时可以从多方面获得自己所需要的最及时的信息。快速及时的进行交流现已成为人们生活中的一部分。五彩缤纷的网上信息,使网络与人们的生活息息相关,于是出现了专题论坛。它打破了地域限制,真正使信息得以全部共享,改变了人们的工作和生活方式。专题论坛是区域内个人和个人的宣传自己的重要手段

5、,同时人们了解当代社会的一种现状,也是了解信息的重要手段。专题论坛系统是基于B/S模式上的一种交互性极强的电子信息服务系统。它为网民提供一块公共的交流平台,每个用户都可以在上面发布自己的观点和不同的意见,以便与其他用户进行交流和讨论。第1章 论坛开发及背景意义1.1 论坛开发背景论坛又名网络论坛BBS,全称为Bulletin Board System(电子公告板)或者Bulletin Board Service(公告板服务)。是Internet上的一种电子信息服务系统。它提供一块公共电子白板,每个用户都可以在上面书写,可发布信息或提出看法。它是一种交互性强,内容丰富而即使的Internet电子

6、信息服务系统。用户在专题论坛上可以获得各种信息服务,发布信息,进行讨论,聊天等等。论坛的发展也如同网络,雨后春笋般的出现,并迅速的发展壮大。现在的论坛几乎涵盖了我们生活的各个方面,几乎每一个人都可以找到自己感兴趣或者需要了解的专题性论坛,而各类网站,综合性门户网站或者功能性专题网站也都青睐于开设自己的论坛,以促进网友之间的交流,增加互动性和丰富网站的内容。而专题论坛只是其中的一类。此类论坛是相对于综合类论坛而言,专题类的论坛,能够吸引真正志同道合的人一起来交流探讨,有利于信息的分类整合和搜集,专题性论坛对学术科研教学都起到重要的作用,例如军事类论坛,情感倾诉类论坛,电脑爱好者论坛,动漫论坛,这

7、样的专题性论坛能够在单独的一个领域里进行版块的划分设置。在本文中,主要介绍使用JSP和Servlet技术来实现论坛建设。通过基于Internet互联网的动态WEB数据库技术,可以解决远程的数据传输与读取,远程的客户终端(Client)可以通过WEB页面提交请求,查询远端的数据服务器上的信息,同时还可以向远端数据服务器的数据库中存储信息,以实现信息的共享,同时利用Internet技术可以降低软件的开发和部署成本,只要在服务器端安装WEB应用就可以使每个客户端都能浏览使用。目前,通过专题论坛系统可随时取得各种自己需要最新的信息;也可以通过专题论坛系统来和别人讨论计算机软件、硬件、Internet、

8、多媒体、程序设计以及人文、地理等等各种有趣的话题;还可以利用本系统来发布一些“问题”、“廉价转让”、“招聘人才”及“求职应聘”等启事;更可以召集亲朋好友到聊天室 内高谈阔论这个精彩的天地就在你我的身旁,只要您拥有一台可以访问互联网的计算机,就可以通过这个交流平台,来享用它的种种服务。1.2 论坛开发意义当今网络技术逐渐渗入社会生活各个层面,以前网站上的专题论坛管理系统要用户登陆以后才能进行相关访问及互动。而随着网络互联技术的进步,现在网站投票只需打开网页就可进行论坛留言。专题论坛对象是很多的,各个层次都可进行论坛访问,大至国家领导,小至一个普通干部,访问和留言从到指定用户进行表格到现在通过网络

9、直接点击相应就可进行。专题论坛管理系统可解决游客访问及留言,致使现在几乎各个网站都有各种类型的专题论坛管理系统,用户可选择自己的看法。同时为分散于五湖四海的人们提供一个共同交流、学习、倾吐心声的平台,实现来自不同地方的用户极强的信息互动性,用户在获得自己所需要的信息的同时也可以广交朋友,拓宽自己的视野和社交面。通过网友的发帖中,能得到有益的教诲和启发。网友通过发出关于国家,社会的有益的观点,能被有关部门采纳,而不是网友空自评论,自艾自叹,自喜自悲。一些论点能做到各方观点正确公平的显示,具有参考价值。专题论坛应具有知识性,趣味性,公平性,和谐性等优点。专题论坛给天下的网民都提供了交流的平台,为网

10、络的互动性作出了巨大的贡献,通过专题论坛,网民们得以更方便的交流,更便捷的发表自己的观点,而且发布信息都是通过有记录的文字来进行,所以这样也避免了精华内容的流失。通过专题论坛来征得自己想要的信息,有更高的效率和时效性。也最节约成本和资源,在专题论坛的交流过程中,无论喜怒哀乐都是在虚拟的环境中进行,也避免的正面的尴尬和冲突等,在专题论坛中,可以演变成任何角色,变换多种身份,因为网络的特征,使得人民更加依赖于论坛中的交流。第2章 论坛系统需求分析2.1现状分析随着全球英特网用户逐年增多,在中国,据中国互联网信息中心(CNNIC)最新的调查报告显示,截止2003年6月底,上网用户已达到6800万,比

11、去年同期增长48.5,而1997年10月首次调查结果只有62万,几年间增长了109.7倍。上面数据可以看出当今社会网络迅速普及,人们交流的方式也层出不穷,随着新时代的进入。人们对信息的需求也不断加大,对不同领域的讨论也越来越多了,因此开发一个专题论坛对人们的交流是非常有必要的。2.2可行性分析可行性分析也称为可行性研究,即是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、管理的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容。2.2.

12、1技术可行性技术上的可行性分析主要分析技术条件是否能顺利完成开发工作,硬、软件能否满足开发者的需要等。软件方面,系统开发需要的各种软件环境都已具备,数据库服务器方面则有SQL Server,均能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。其灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。2.3设计目标专题论坛系统的总体目标:1. 游客可以查看帖子。2. 注册会员可以发表自己的帖子、回复帖子、修改个人信息等。3

13、. 版主具有注册用户的所以功能,而且可以管理帖子。4. 管理员具有最大权限,可以执行任何操作。比如增加、修改、删除板块;删除会员;管理版主等功能。2.4功能要求本系统根据论坛系统的需要,以实现交流信息的一个平台。本系统的功能要求主要包括:1.身份的安全验证。主要完成系统登录用户的验证,对于非法用户将禁止登录,不同身份的用户被赋予不同的权限。2.游客:浏览帖子。3.注册会员:发表、修改帖子;回复帖子,删除回复;查看、修改个人信息,留言4.版主:发表、修改、删除帖子;回复帖子,删除回复;查看、修改个人信息,留言5管理员:删除、修改用户信息、将会员设为版主或撤销版主;添加板块、修改板块、删除板块;发

14、布公告、修改公告、删除公告;查看留言、删除留言。2.5平台选择选择微软平台作为主导,一方面考虑目前微软的飞速发展,越来越多的企业在规划内部网络时,将微软平台作为首选方案;另一方面从技术角度来讲,微软平台上的应用无论是在开发上,还是在软件的部署上都是非常容易,而且性能优越。具体如下:1. 开发工具:MyEclipse 6.52. 辅助开发工具: Dreamweaver 8,3. 数据库:SQL Server20054. 服务器 :Apache Tomcat6.05. 运行环境 :安装JDK1.6支持Java运行。6. 技术:前台网页的设计采用JSP技术制作。负责响应用户对业务逻 辑的请求并根据用

15、户的请求行为,决定将哪个JSP页面发送给客户由servlet处理,JavaBean则负责数据的处理。2.6系统开发工具本系统是基于JSP+ SQL Server2005数据库技术实现的,现对JSP技术和MySQL5.0数据库作简要的介绍。2.6.1开发语言JSP(Java Server Page)JSP页面由HTML代码和嵌入其中的Java代码所组成。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的等特点。JSP的技术的优势:

16、1一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不需要做任何更改。2系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。3JSP技术是用Java语言作为脚本语言的。Java语言是成熟的、强大的、易扩充的编程语言。4高效性与安全性。JSP在执行前先被编译成字节码,字节码由Java虚拟机解释执行,比源码解释效率高。5可维护性。由于JSP技术是一种开放的、跨平台的结构,因此Web服务器、平台及其他组件能很容易升级或切换,且不会影响JSP基本的应用程序。6多样化和功能强大的开发工具支持。

17、Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。2.6.2数据库SQL Server2005SQL Server能够满足今天的商业环境要求不同类型的数据库解决方案。它一种应用广泛的数据库管理系统,具有许多显著的优点:易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性价比等。性能、可伸缩性及可靠性是基本要求,而进入市场时间也非常关键。SQL Server是一种标准化的语言,它使得存储、更新和存取信息更容易。例如,你能用SQL语言为一个网站检索产品信息及存储顾客信息,同时SQL S

18、erver也足够快和灵活以允许你存储记录文件和图像。第3章 论坛系统设计3.1数据库设计在对系统数据库进行设计的过程中,通过对系统功能进行需求分析得到系统的基本信息表,绘制系统业务流程图和系统数据流程图,分析得到数据字典;在概率结构设计阶段通过对需求阶段得到的用户需求抽象得到数据库关系模型的E-R图;在逻辑结构设计阶段得到数据库的关系模式并绘制信息表。3.1.1数据库需求分析需求分析是设计数据库的起点,需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。3.1.1.1系统基本信息综合以上分析,要实现上面的所有功能模块,数据库共要设计四个

19、表,它们分别是:1. 用户表(user):userId、userName、password、head、registerTime、role2. 板块表(channel):channelId、channleName、userId3. 主题表(topic):tiopcId、title、content、publishTime、modifyTime、userId、channelId4. 回复内容表(reply):replyId、title、content、publishTime、modifyTime、userId、topicId3.1.1.2系统层次图通过参考网上比较出名的论坛和查询相应的资料,大体了解

20、了论坛系统的基本流程,因此设计了用户层次流程图。用户层次图如图3-1所示:图3-1 用户层次图3.1.2数据库概念结构设计概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是整个数据库设计的关键,包括概念模型设计和新系统流程两个阶段。在需求分析阶段所得到的应用需求应该首先抽象为信息世界的结构,才能更好地、更准确地用某一DBMS实现这些需求。概念数据模型独立于具体的数据处理的细节和数据库管理系统。这次设计仍采用传统的实体联系图作为概念设计的工具。再进行优化后,尽量满足结构清晰、关联简洁、实体个数适中、属性分配合理、没有低级冗余。系统E-R图如图3-2所示:图3-2

21、 系统E-R图3.1.3数据库逻辑结构设计对于关系型数据库,数据库的概念结构设计完毕后,要把E-R图描述的概念数据模型转换为等价的关系模式极其约束。逻辑设计的基本工作主要包括如下的3个步骤。3.1.3.1论坛系统数据流设计模式该设计以概念结构设计中的E-R图为主要依据,这几出相关的整体逻辑结构。系统数据流设计如图3-3所示:图3-3 系统数据流设计图3.1.3.2完整性设计完整性要求用于描述各种信息之间的制约关系,以及关联关系,各个数据项的取值范围以及各个数据项是否可以取值。根据实际需要,采取一定的手段来满足用户的完整性需求。域完整性约束要求属性值必须在域中。实体完整性约束要求主键必须唯一且不

22、能为空。如用户信息表中的用户名设置为主键,并且要求唯一且不能为空。以满足规范,从而避免产生插入异常、删除异常、更新异常。3.1.3数据库表设计用户表如表3-1所示:表3-1 用户信息表(user)字段名类型(值)说明UserID(主键)Int(10)用户IDUserNamevarchar(30)用户名passwordvarchar(30)用户密码headvarchar(50)用户图像registerTimedatetime注册时间roleint用户角色主题信息表如表3-2所示:表3-2 帖子信息表(topic)字段名类型(值)说明topicId(主键)Int(10)主题IDtitleVarch

23、ar(128)主题标题ContentVarchar(10000)主题内容publishTimedatetime发表日期modifyTimeVarchar(20)修改时间userIdInt(10)作者channelIdInt(255)板块ID回复信息表如表3-3所示:表3-3 回复信息表(reply)字段名类型(值)说明ReplyID(主键)Int(10)IDcontentVarchar(5000)回复内容TitileInt(10)标题publishTimeVarchar(20)回复时间modifyTimeDatetime修改回复时间userIdint用户idtopicIdint主题id版块表如

24、表3-4所示:表3-4 版块表(channel)字段名类型(值)说明channelId(主键)int版块idchannelNamevarchar(30)版块名称userIdint版主姓名第4章 论坛系统实现4.1系统各部分的实现方法从系统功能模块划分中可以看出,系统总体上有4个功能模块组成。各模块虽然是独立的,但又统一于同一数据库中,便于管理员管理维护数据库,同时也便于管理员和用户的操作。在介绍系统各模块的实现方法之前,首先介绍系统与数据库的连接方式使用JavaBean连接连接在服务器tomcat里配置的连接池。再介绍系统主要部分的实现方法。4.1.1创建与数据库的连接配置数据源创建连接池,再

25、通过JavaBean连接到数据源再对数据库进行操作。连接池是创建和管理一个连接的缓冲池的技术,这些连接准备好被任何需要它们的线程使用。连接池可以极大的改善用户的 Java 应用程序的性能,同时减少全部资源的使用。连接池主要的优点有:减少连接创建时间、简化的编程模式、受控的资源使用。连接池能够使性能最大化,同时还能将资源利用控制在一定的水平之下,不过如果超过该水平,应用程序将崩溃而不仅仅是变慢。配置连接池:Public cfinal static String DRIVER_CLASS =com.microsoft.sqlserver sqlserver.jdbc.SQLServerDriver

26、;/ 数据库java驱动public final static String CONNECTION_URL =jdbc:sqlserver:/127.0.0 0.1:2433;DatabaseName=jspbbs;/jdbc:microsoft:sqlserver:/127.0.0.1:2433;DataBaseName=jspbbs; / 连接字符串public final static String USER = jspbbs; / 数据库用户名public final static String PASSWORD = 12345678; / 数据库密码/* 得到数据库连接 用Java驱

27、动* return 数据库连接*/public Connection getConnection() Connection connection = null;try Class.forName(DRIVER_CLASS);/ 注册驱动connection = DriverManager.getConnection(CONNECTION_URL, USER, PASSWORD); / 获得数据库连接 catch (ClassNotFoundException e) e.printStackTrace(); catch (SQLException e) e.printStackTrace();

28、catch (Exception e) e.printStackTrace();return connection; / 返回连接 4.1.2访问数据库的JavaBeanJavaBean是一种Java语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean通过提供符合一致性设计模式的公共方法将内部域暴露成为属性。众所周知,属性名称符合这种模式,其他Java类可以通过自省机制发现和操作这些JavaBean属性。用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用Java代码创造的对象进行打包,并且其他的开发者可以通过内部的

29、JSP页面、Servlet、其他JavaBean、Applet程序或应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。JSP的一个重要特性就是可以用JavaBean实现功能的扩展。将大部分功能放在JavaBean中完成,以使JSP页面程序更干净简洁、利于维护。JavaBean可以很方便的用来捕获页面表单的输入并完成各种业务逻辑的处理。连接数据库的JavaBeanDbHelper。通过JSP页面调用此JavaBean,可以实现对数据库的连接,数据表的添加、删除、更新等操作。4.1.3用户及管理员登录模块页面用户登录页面比较简单,因为用户不登

30、录就可以浏览帖子,所以登录的功能就直接增加到了头文件里,用户没有登录时,此模块将一直显示。如果登录后则将不显示。用户登录如图4-1所示:图4-1 用户登录用户登录后如图4-2所示:图4-2用户登录后登录界面如图4-3所示:图4-3 管理员登录界面在登录页面时,当用户提交了登录资料后,就由“doLogin.jsp”这个页面进行验证,它的工作主要是判断用户登录的帐号和密码是否一致。完成这些工作就必须连接存储用户数据库取出相关信息记录。如果用户输入了错误的用户名和密码,通过erro.jsp;返回到登录界面并提示出错,如图4-4所示:图4-4 用户登录失败若用户提交正确的用户和密码后,如果记录验证无误

31、,就通过JSP的response.sendRedirect(index.jsp);方法跳转到相应的界面;然后再判断是否为版主,如果是版主则要求显示出版主相应的功能。Java程序片段如下所示:您尚未登录 |   注册 您好:%- -% 修改信息  | 登出  |  频道管理  |  用户管理 4.1.4首页模块页面论坛主界面如图4-5图所示:图4-5 论坛主界面页面以下是论坛主界面的部分代码:%for( int j=0; j0 ) topic = (Topic)listTopic.get(listTopic

32、.size()-1); / 取得最后发表的帖子user = userDao.findUser( topic.getUserId() ); %A href=topicList.jsp?page=1&channelId= 最新主题: A href=replyList.jsp?page=1&channelId=&topicId=  作    者: 发帖时间:     版主: 主题数量: 4.1.5会员注册模块的实现页面用户如果需要发帖,则需要注册。在注册时严格的规定了注册信息帖子,如果不按照提示所填写,那将

33、不会注册成功。注册成功后用户可以登录论坛修改个人资料、发表帖子、回复帖子等功能。用户也可以修改自己的密码等功能。通过修改密码,下次用户登录系统时,将要用新修改的密码,不然系统检测到用户密码有误而提示登录失败。用户注册设计页面如图4-6所示:图4-6 用户注册信息页面用户注册信息部分代码: jsp:setProperty property=userName name=user value=/ jsp:setProperty property=password name=user value=/ 修改个人信息界面如图4-7所示:图4-7 修改个人信息界面用户修改个人信息部分代码:%request.

34、setCharacterEncoding(GBK);String userName = request.getParameter(userName); / 取得请求中的登录名String password = request.getParameter(password1); / 取得请求中的密码String head = request.getParameter(head); / 取得头像图片名UserDAO userDao = new UserDAO(); / 得到用户Dao的实例User loginUser = (User)session.getAttribute(loginUser);

35、/ 登录用户String msg = ;if( userName!=null & password!=null ) if(userDao.findUser(userName)!=null & !loginUser.getUserName().equals(userName) / 判断用户是否存在 msg = 该用户已存在; else loginUser.setUserName(userName); loginUser.setPassword(password); loginUser.setHead(head); int num = userDao.updateUser(loginUser); if(num=1) response.sendRedirect(index.jsp); return;else if(num=0)msg = 数据库出错!;String forward=/error.

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1