毕业设计(论文)基于JSP的BBS论坛网站设计_第1页
毕业设计(论文)基于JSP的BBS论坛网站设计_第2页
毕业设计(论文)基于JSP的BBS论坛网站设计_第3页
毕业设计(论文)基于JSP的BBS论坛网站设计_第4页
毕业设计(论文)基于JSP的BBS论坛网站设计_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、内容摘要内容摘要为了方便信息的交流,在结合动态服务网页(jsp)和 mysql 技术之下开发了这个快捷、界面友好的网上交流系统。论坛使用动态服务网页(jsp)技术建设论坛的骨干框架,使用 mysql 制作系统的数据库,实现了一个功能相对齐全的论坛系统,网友可以自由地提出问题以及帮助他人解决问题,或者交流经验。该论坛功能较齐全,在这里可以自由地发表自己的观点和对论坛的主题发表意见,我们还可以对网友的问题及时地解决,获取对自己有用的知识。该论坛还有一些特殊的功能,强大的搜索功能等。本论坛采用了基于客户端的动态技术,用户通过浏览器发出 http请求到 web 服务器。web 服务器根据请求将数据请求

2、传送给数据库服务器,数据库服务器将数据输出结果返回给 web 服务器,再通过页面将数据显示给客户端。本论坛是采用 jsp 的技术开发的,具有简单、高效、可移植性好等特点。系统开发完成发布到网上空间后,用户可以直接用浏览器输入网址进行信息交流。而用户将不会受到地理位置和上网方式的限制。关键词关键词: : 动态服务网页; 论坛; 用户管理; abstractin order to facilitate the exchange of information, we developed this fast, user-friendly online exchange system under the

3、 combination of dynamic website (jsp) and mysql technology. the forum used dynamic website (jsp) technology to build the backbone framework of the forum, used mysql to make the database of this system; it achieved a forum system with relatively complete functions. netizens can be free to ask questio

4、ns and to help others solve the problems, or the exchange of experiences.the functions of this forum are completed, and in here you can express your views and themes of the forum freely. we can also solve the problems of the netizens in a timely fashion, and gain useful knowledge for us. this forum

5、has a special function, which is the powerful search function.this forum is based on the dynamic technology of the client, users request to the web server through a browser http. web server will send data requests to the database server by requests, database server output back data to the web server

6、, and then data will be displayed to the client through the pages. the development of this forum used the jsp technology, and this forum has the simple, efficient and good portability features. and the users can do anything without restrictions of geographical location and manner on internet.key wor

7、ds: java server pages; bbs; user management; 目目 录录一一. . 绪论绪论.1 11.1 课题的来源、背景与意义 .11.2 课题要研究和解决的问题 .11.3 课题对社会经济、科学发展、技术进步的意义 .21.4 全篇论文的写作结构、各章内容安排 .2二二. . 文献综述文献综述.3 32.1 课题近几年以来的国内外动态 .32.2 目前存在的问题 .32.3 主攻方向 .42.4 系统使用的技术及编程语言 .52.4.1 jsp 技术简介.52.4.2 javabean 技术简介.52.4.3 jdbc 技术简介.52.4.4 tomcat 技

8、术简介.62.4.5 jsp 与 asp 的比较.62.4.6 jsp 的特点与优点.7三三. . 方案设计与论证方案设计与论证.8 83.1 系统设计思想 .83.1.1 网上论坛系统说明 .83.1.2 网上论坛系统总体分析 .83.2 数据库设计 .93.3 各单元模块设计 .103.3.1 用户注册登陆功能 .103.3.2 会员发贴与回复功能 .113.3.3 版主管理帖子,评论与留言 .14四四. . 设计与实现设计与实现.16164.1 功能总体说明 .164.1.1 功能总体说明 .164.1.2 主要功能流程 .174.2 各个功能模块的实现 .174.2.1 数据库的连接

9、.174.2.2 用户登陆与注册模块的实现 .194.2.3 分页显示的功能实现 .234.2.4 发表与回复功能模块实现 .244.2.5 后台管理模块的实现 .27五五. . 结果与评价结果与评价.31315.1 测试方法 .315.2 测试结果 .315.3 评价 .31六六. . 结论结论.3333xxx 信息学院学士学位论文第一章 绪论1一个手机论坛的设计一个手机论坛的设计一一. .绪论绪论1.11.1 课题的来源、背景与意义课题的来源、背景与意义internet 是目前世界上最大的计算机互联网络,它遍布全球,将世界各地各种规模的网络连接成一个整体。作为 internet 上一种先进

10、的,易于被人们所接受的信息检索手段,world wide web(简称 www)发展十分迅速,成为目前世界上最大的信息资源宝库。据估计,目前 internet 上已有上百万个 web 站点,其内容范围跨越了教育科研、文化事业、金融、商业、新闻出版、娱乐、体育等各个领域,其用户群十分庞大,因此,建设一个好的 web 站点对于一个机构的发展十分重要。近年来,随着网络用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术在internet 中的广泛应用,web 站点向用户提供的服务将越来越丰富,越来越人性化。当今网络技术逐渐渗入社会生活各个层面,以前网站上的论坛管理系统要用户登陆以后才能进行相关

11、访问及互动。而随着网络互联技术的进步,现在网站投票只需打开网页就可进行论坛留言。论坛对象是很多的,各个层次都可进行论坛访问,大至国家领导,小至一个普通干部,访问和留言从到指定用户进行表格到现在通过网络直接点击相应就可进行。网上论坛管理系统可解决游客访问及留言,致使现在几乎各个网站都有各种类型网站论坛管理系统,用户可选择自己的看法。所以我提出了本课题的研究。1.21.2 课题要研究和解决的问题课题要研究和解决的问题我的设计是一个手机论坛。完成 web 服务器端的用户管理、帖子管理、数据库管理、浏览和查找功能等设计、实现与完善以及整个实验网站的组织建立和测试工作。为了给更多的手机用户提供交流,学习

12、的平台,给大家提供各种手机的最新信息,使广大的手机爱好者能够及时的获取信息。xxx 信息学院学士学位论文第一章 绪论2系统包括主要的功能:新用户的注册,会员登录,管理员删除用户,管理员删除帖子和修改帖子,查询主题,和查询用户这些功能,游客浏览留言,会员新增主题,会员留言回复,查询主题这些功能,可以满足一般的用户需要。这个系统预期的目的是为了做成交互式的网页,方便客户端和浏览器端之间的交流。通过论坛,人们能够相互交流沟通,把疑惑在论坛里公布,大家献计献策,共同学习,共同进步。网上论坛系统是一个会员登录留言系统。网上游客能够浏览论坛上的帖子,并且能够注册成为用户。论坛注册会员能够发表帖子,让大家积

13、极参与讨论。论坛管理员能够便于管理论坛,包括浏览游客留言,审核留言,对于不健康或是不利于社会稳定的留言能进行删除操作。1.31.3 课题对社会经济、科学发展、技术进步的意义课题对社会经济、科学发展、技术进步的意义随着计算机的快速发展,计算机的广泛应用已经得到了世界各地人士的认可,他在全球的各个行业都有着举足轻重得地位,在经济方面为公司企业以及个人都带来很多的经济利益,不但省了很多时间而且带来很多物质利益,使我们切实体会到了计算机给我们带来的种种好处,为社会的发展起到了很大的作用。全世界的人们能够即时的分享信息,带动全球的经济与发展。在科学方面,产生许多的新技术推动了科学的发展与进步,丰富了原来

14、的科学体系,对个学科的发展都有非常大的推动作用。1.41.4 全篇论文的写作结构、各章内容安排全篇论文的写作结构、各章内容安排第二部分是了解国内外有关科技情况,主要分为两个小节,第一小节,阐明本课题在近几年来国内外动态;第二小节,是关于本系统现存在的问题及主攻方向进行详细说明。第三部分是本系统的方案设计与论证,主要分为四个小节,首先介绍了系统的关键技术和编程语言,其次说明了本系统的设计思想、数据库设计思想,然后介绍了个各单元模块的设计。第四部分是设计与实现,主要是在第三部分方案设计与论证的基础上给出重要的细节设计与实现方法及相关技术。第五部分是结果与评价,主要说明本系统采用的测试方法及应用后的

15、结果。第六部分是结论,总结xxx 信息学院学士学位论文第一章 绪论3本系统的优点、缺点。第七部分是致谢,感谢在系统开发过程提出过宝贵意见的老师和同学。以上就是全篇论文的写作结构及各章内容安排。沈阳化工学院学士学位论文第二章 文献综述4二二.文献综述文献综述2.12.1 课题近几年以来的国内外动态课题近几年以来的国内外动态近十年来,随着社会科技,文化和经济的发展,特别是计算机网络技术和通信技术的大发展,随着人类社会从工业社会向信息社会过渡的趋势越来越明显,人们对信息的意识,对开发和使用信息资源的重视越来越加强,这些都强烈刺激了网络的发展。internet是目前世界上最大的计算机互联网络,它遍布全

16、球,将世界各地各种规模的网络连接成一个整体。作为internet上一种先进的,易于被人们所接受的信息检索手段,world wide web(简称www)发展十分迅速,成为目前世界上最大的信息资源宝库。internet已不再是计算机人员和军事部门进行科研的领域,而是变成了一个开发和使用信息资源的覆盖全球的信息海洋。在internet 上,按从事的业务分类包括了广告公司,航空公司,农业生产公司,艺术,导航设备,书店,化工,通信,计算机,咨询,娱乐,财贸,各类商店,旅馆等等100多类,覆盖了社会生活的方方面面,构成了一个信息社会的缩影。今天,internet已连接60,000多个网络,正式连接86个

17、国家,电子信箱能通达150多个国家,有480多万台主机通过它连接在一起,用户有2500多万,每天的信息流量达到万亿比特(terrabyte)以上,每月的电子信件突破10亿封。 同时,internet的应用业渗透到了各个领域,从学术研究到股票交易、从学校教育到娱乐游戏、从联机信息检索到在线居家购物等,都有长足的进步。据统计,目前在internet的域名分布中,.com-即商业所占比例最大,为41;.edu-(科教)已退居二线,占有30分额。去年在internet的成长中,商企界的成长占了其中的75。但是在亚洲一些国家里,当局者却试图封锁本国的网络与国际网连接,其封锁网络技术超过发达国家。这无疑是

18、开历史的倒车。2.22.2 目前存在的问题目前存在的问题从目前的情况来看,internet市场仍具有巨大的发展潜力,未来其应用将涵盖从办公室共享信息到市场营销、服务等广泛领域。另外,internet带来的电子贸易沈阳化工学院学士学位论文第二章 文献综述5正改变着现今商业活动的传统模式,其提供的方便而广泛的互连必将对未来社会生活的各个方面带来影响。 然而internet也有其固有的缺点,如网络无整体规划和设计,网络拓补结构不清晰以及容错及可靠性能的缺乏,而这些对于商业领域的不少应用是至关重要的。安全性问题是困扰internet用户发展的另一主要因素。虽然现在已有不少的方案和协议来确保intern

19、et网上的联机商业交易的可靠进行,但真正适用并将主宰市场的技术和产品目前尚不明确。另外,internet是一个无中心的网络。所有这些问题都在一定程度上阻碍了internet的发展,只有解决了这些问题,internet才能更好的发展。2.32.3 主攻方向主攻方向我们发现这样一个事实,一个用户在访问一个网站时一般来讲只对该网站的部分内容感性趣,而且这种兴趣会持续一段时间。这点启发了我们,如果能根据用户的喜好为不同的用户显示其个性化的页面,即着重显示该用户感兴趣的内容,将为用户节约大量的检索时间,而且这样的网页显然是更具有吸引力的。一些站点已经在这方面做出了一定的尝试,通常采用的方法是,在用户登陆

20、时为其提供一系列的选项,使用户能够对站点进行一些自主的设置。这样做能够使站点呈现一定程度的个性化,但是对用户来讲,还是比较烦琐,而且在用户了解一个站点前让其对站点进行设置,其结果未免有些粗糙。于是我们构想了这样一种方案,对用户登陆后的动作进行跟踪,分析,发掘用户点击的规律,即用户先后点击的关联规则,这样,在用户点击一个主题(链接)之后,系统能够自动生成一个页面,其中包含了该主题下用户经常关注的内容(若干链接) ,这样便在无须用户做出任何额外工作的情况下实现了为用户量身订做的个性化页面。要实现这样的功能,离不开后台数据库的支持。用户验证信息,收集到的用户点击信息,主题层次信息,分析得出的关联规则

21、表等大量的数据都由数据库管理系统管理。本文中数据库服务器端采用了 mysql 数据库并以先进的 jdbc 技术进行数据库存取等操作,使 web 与数据库紧密联系起来。沈阳化工学院学士学位论文第二章 文献综述62.42.4 系统使用的技术及编程语言系统使用的技术及编程语言.1jspjsp 技术简介技术简介jsp 是服务器端的脚本语言,是以 servlet 为基础开发而成的动态网页生成技术,它的底层实现是 java servlet。jsp(java server pages)由 html 代码和潜入其中的 java 代码所组成。服务器在页面被客户端请求以后对这些代码进行处理,然后将

22、生产的 html 页面返回客户端的浏览器jsp 的特点是面向对象、 跨平台、 和 servlet 一样稳定、 可以使用 servlet提供的 api,同时克服了 servlet 的缺点。在使用 jsp 时一般和 javabeans 结合使用,从而将界面表现和业务逻辑分离。.2 javabeanjavabean 技术简介技术简介javabean 是基于 java 的组建模型,有点类似于 microsoft 的 com 组建。在 java 平台中,可以无限扩充 java 程序的功能,通过 javabean 的组合可以快速生产新的应用程序。对于程序员来说,最好的一点就是 javabe

23、an 可以实现代码的重复利用,另外对于程序的易维护性等等也有很重大的意义。javabean 通过 java 虚拟机(java virtual machine)执行,运行javabean 最小的需求是 jdk1.1 或者以上的版本。javabean 传统的应用在于可视化的领域,如 awt 下的应用。自从 jsp 诞生后,javabean 更多的应用在了非可视化领域,在服务器端应用方面表现出了越来越强的生命力。.3 jdbcjdbc 技术简介技术简介jdbc 是一组 api,定义了用来访问数据库源的标准 java 类库,使用这种类库可以使用一种标准的方法、方便地访问数据库资源。沈阳

24、化工学院学士学位论文第二章 文献综述7jdbc 的目标是使应用程序开发人员使用 jdbc 可以连接任何提供了 jdbc 驱动程序的数据库系统,这样就使得程序员无须对特定的数据库的特点有过多的了解,从而大大简化了和加快了开发过程。jdbc api 为访问不同的数据库提供了一种统一途径,像 odbc 一样,jdbc为开发者屏蔽了一些细节问题。另外,jdbc 对数据库的访问也具有平台无关性。.4 tomcattomcat 技术简介技术简介在已 java 技术为的 web 开发领域中,tamcat 是许多 java 程序员相当喜爱的开放源代码产品,它附属在 apache softwar

25、e foundation 所主导的 jakart 项目内。由于 tamct 是 servlet 与 jsp 技术的参考实现(refernce implementation) ,所以它不但可以当作独立的 web 服务器,也可以结合其它的 web 服务器,只担任 servlet 容器或 jsp 容器的角色。.5 jspjsp 与与 aspasp 的比较的比较总的来讲 java server page(jsp)技术和 microsoft 公司提供的 active server pages(asp)技术在技术方面有许多相似之处:两者都是基于 web 应用实现动态交互网页制作提供技术环境

26、支持。两者都能为程序开发人员提供实现应用程序的编制与自带组建设计网页从逻辑上分离的技术。而且两者都能替代 cgi 使网站建设与发展变得较为简单与快捷。1).相同之处 都是运行于服务器端的脚本语言,两者都是动态网页生成技术,这两项技术都是由 html 来决定网页的版面,都是在 html 代码中混合某种代码,有语言引擎解释执行程序代码。html 主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。2).不同之处jsp 是由 sun 公司推出的一项技术,是基于 javaservlet 以及整个 java 体系的web 开发技术,利用这项技术可以建立先进、安全和跨平台的动态网站。asp 是 ms

27、沈阳化工学院学士学位论文第二章 文献综述8公司推出的技术只能在 ms 的平台上运行,无法实现跨平台,也无安全性保障。asp 下的编辑语言是 vbscript 之类的脚本语言,而 jsp 使用的是 java。asp 与 jsp 还有一个更为本质的区别:两种语言引擎用完全不一样的方式来处理也面中潜入的程序代码。在 asp 下,vbscript 代码被 asp 引擎解释执行。在 jsp中,代码被编译生产 servlet 并有 java 虚礼机执行,这种也面仅在对 jsp 也面的第一次请求时发生。.6 jspjsp 的特点与优点的特点与优点综合而言,jsp 技术具有下面的特点:1)wr

28、ite once run anywherejsp 技术继承了 java 先天性的先进概念“write once run anywhere”这种概念正越来越深远的影响着互连网行业的交互式、web 设计的理念。jsp pages 可以非常容易的开平台跨 web 服务器软件来是设计和开放源代码。2)支持多种动态网页格式目前对使用 jsp 技术设计出来的网页应该采取什么样的格式还没有一个明确的标准。一般来说 jsp 技术即可以支持 html/dhtml 的传统浏览器文件格式,又可以支持应用与无线通讯设备例如移动电话、pda 等设备进行网页浏览器的 vml 文件格式,还可以支持其它一些 b2b 应用的

29、xml 格式。与以往的其它 web 应用技术相比较 jsp技术有它很鲜明的特点。3)jsp 标签可扩冲性尽管 jsp 与 asp 都使用标签与脚本技术来制造动态 web 网页,但是 jsp 技术能够使开发者扩展 jsp 标签,使得应用 jsp 的开发者能定制标签库所以网页制作者可以充分利用与 xml 兼容的标签技术,大大减少了对脚本语言的依赖。由于指定标签库技术使得网页制作者降低了制作网页和想多个网页扩充关键功能的复杂程度。4)jsp 跨平台的可重用性jsp 的开发人员在开发过程中一直关注可重用性,jsp 足见、企业 javabean 或制定的标签都是跨平台可重用的。企业 javabean 可

30、以访问传统的数据库并能并能已分布式系统模式工作于 unix 和 windows 平台,jsp 标签可扩充功能为开发人员提供简便的与 xml 兼容的接口,即共享网页的打包功能使其完全的工业标准化。这种基沈阳化工学院学士学位论文第二章 文献综述9于组建的模式能够有效的提高应用程序的开发效率。因为这种模式能够使开发人员利用快捷的子组建快速创建模板应用程序。然后再整和一些附加功能将其打包成一个 javabean 组建。5)易于维护性基于 jsp 技术的应用程序比基于 asp 的应用程序更易于维护和管理。脚本语言都很好服务于小的应用程序但不能适宜大型的复杂的应用程序,因为 java 是结构化的,它比较比

31、较容易创建和维护庞大的组建化的应用程序。沈阳化工学院学士学位论文第三章 方案设计与论证10三三.方案设计与论证方案设计与论证3.13.1系统设计思想系统设计思想.1 网上论坛系统说明网上论坛系统说明此网上论坛中三种不同角色游客、注册用户管理员分别可现: 游 客:查看帖子、注册新用户。 注册用户:查看帖子、发新帖子、回复信息、查询主帖。 管理员:帖子管理、用户管理、数据库管理。.2 网上论坛系统总体分析网上论坛系统总体分析通过上面的功能说明,我们可以将论坛的制作分为四大部分:(1) 会员注册和登陆模块:这个模块的功能,就是新来网友可以填写注册资料 ,通过审核后便成

32、为本论坛的正式会员,并可以以会员身份登陆论坛。(2) 文章显示模块:显示所有会员最新发表的一些文章主题。(3) 发表文章模块:为会员提供发表文章的地方,以及回复主题等。(4) 论坛与用户管理模块:版主以上职务可以进行对文章和用户进行处理,查询,修改,删除等。了解了具体的功能需求后,就可以按模块的开始论坛的设计了。当然,这些模块的只是在功能上对论坛结构的划分,实际上并不能够完全的把他们独立出来进行设计。对于这种较小的应用,也没有必要进行完全的模块化设计,在良好的规划下直接写程序代码或许来的更为简单一些。沈阳化工学院学士学位论文第三章 方案设计与论证113.23.2 数据库设计数据库设计在建设网站

33、系统之前,我们必须对系统所用到的数据进行大致的分类和具体的结构设计,既要做到清晰明了,又要能适应系统各项功能的调用,而不至于产生结构上的逻辑混乱,保证关键数据在意外情况下不会被破坏,可以说数据库是系统的重中之重。数据库设计要遵循一些规则,一个好的数据库满足一些严格的约束和要求。尽量分离各实体对应的表,一个实体对应一个表,分析该实体有哪些属性,对应有些什么字段,以及各实体之间的联系。实体、属性与联系是进行概念设计时要考虑的三个元素,也是一个好的数据库设计的核心。从实际出发,经过仔细地设计,得到各表的设计如表 3.13.3 所示。表 3.1 帖子信息表 article表 3.2 游客留言信息表 l

34、iuyan_temp沈阳化工学院学士学位论文第三章 方案设计与论证12表 3.3 管理员回复信息表 master_reversion3.33.3 各单元模块设计各单元模块设计.1 用户注册登陆功能用户注册登陆功能此部分是实现用户的注册功能。通过填写注册资料,正确填写后,点击注册按钮后便可注册成为正式的会员。用户资料填写正确就可以注册了。而且对其用正则表达式做了一些限制。用户名只能是 3-12 位单字字符,而且不允许注册重复的用户名。性别只能选择男或女其中一个。密码最多不能超过 12 位,两次密码必须输入一致,否则不可以注册。e-mail 必须输入有效的邮箱地址,以便日后能使用到

35、论文的各种功能。只要用户按照出现提示信息输入进去就可以了。用户注册成功后就可以使用会员所拥有的一切功能了。图 3.1 用户注册页面沈阳化工学院学士学位论文第三章 方案设计与论证13用户在注册完毕后就可以输入你注册时用的用户名字和密码,然后填写验证码,点击登录,然后就能登录这个手机论坛进行帖子的浏览,发表新的帖子,也可以对别人的帖子回复进行评价,如果你还没有没有注册,那么你可以点击登录系统右侧的注册,注册你的账号。登录前台页面如下图所示:图 3.2 用户登录页面.2 会员发贴与回复功能会员发贴与回复功能此部分实现会员的发表新帖以及回帖等功能。发表帖子功能只针对会员开放,没有注册的

36、网友是无法发表新的帖子的,如果你想发表新的主题内容,就必须要进行登陆,如果您还没有账号,那么就必须在注册以后才可以直接点击发表帖子按钮。进到发表帖子页面后,首先要写自己想发表的主题内容,然后填写作者和所要写的内容。如果您没有登陆,而直接点击发表主题,则会直接跳到用户登陆页面。登录后跳回到发表帖子的页面,然后点击发表你的帖子,系统会提示你,帖子发表成功的字样。然后自动跳转回你所发表帖子的页面,然后可以进行其他的操作。发表主题如图 3.3 所示:沈阳化工学院学士学位论文第三章 方案设计与论证14图 3.3 发表新贴列表点击“查看评论”后,就可以查看这个帖子中的信息和以及网友对帖子的评论,帖子的评论

37、按照游客的评论时间进行显示,最后一次评论的内容在最顶端,也就是大家所谓的“沙发” 。如下图所示:图 3.4 查看贴子及评论管理员回复评论必须是针对某个游客的评论,点击“发表评论”即可对当前帖子进行评论,游客评论的界面 如图 3.5 所示:沈阳化工学院学士学位论文第三章 方案设计与论证15图 3.5 回复主题游客发帖完毕,管理员即可对任意一个评论进行回复,方法如下:点击当前评论的“版主回复”项,假如你没有登录,会提示让版主登录,登录完之后,即可对评论进行回复,回复的界面如下图:图 3.6 版主回复评论发表成功回到显示主题页面 再点击主题会看到主题贴的相关内容和回复内容。回复帖子只针对会员开放,游

38、客不可以回复主题。回复内容比较全面,可有表情,也可以设置字体大小颜色,段落格式等。如果没有登陆直接点击回复则直接跳转到登陆页面。回复完之后,版主回复的信息会以红色的字体出现在用户发表的评论下沈阳化工学院学士学位论文第三章 方案设计与论证16面,如图所示:图 3.7 版主回复评论显示.3 版主管理帖子版主管理帖子,评论与留言,评论与留言此部分主要是管理员对论坛的帖子和会员进行综合管理,删除、编辑、查询、等等。对恶意灌水的会员进行禁言或封号等处理。对有不良影响的帖子进行删除或者修改,对本站有贡献的帖子进行查询,并给予置顶以示奖励。版主在图 3.2 发表新帖列表中点击“删除” ,假如

39、版主没有登录,会提示登录,登录之后即可把本帖删除,删除之后,次帖子下的游客评论和版主的回复评论内容都被删除,所以一定要慎重操作。沈阳化工学院学士学位论文第三章 方案设计与论证17图 3.8 管理员登陆首先用 session 判断管理员是否登陆,如果没有登陆直接在浏览器里面输入管理界面的地址则不能对其内容进行操作。这样保证了数据的安全性。也可对帖子下的评论进行删除,如上图中,版主在已经登录的情况下只需要点“删除评论 ”项,即可对游客的评论进行删除,删除评论的同时,也把管理员的评论一同删除,有效的保证了数据库中没有垃圾数据的产生。沈阳化工学院学士学位论文第四章 设计与实现18四四.设计与实现设计与

40、实现4.14.1 功能总体说明功能总体说明.1 功能总体说明功能总体说明(1)功能页面登陆与注册:login.jsp、register.jsp、useraddservlet.java、loginservlet.java、useraddbean.java 、usermsg.java 。帖子展示:morearticle.jsp 、articledetailflat.jsp发表主题帖:article_new.jsp、article_in.jsp发表评论:liuyan.jsp、liuyan_new.jsp、liuyan_in.jsp回复评论:master_reversion.jsp、r

41、eversion_in.jsp主页面框架: morearticle.jsp, liuyan.jsp帖子管理:del.jsp、delete.jsp、articlesearch.jsp、searchresult.jsp、articleflat1.jsp评论管理:usermrg.jsp、article_del.jsp、login.jsp4.1.2 主要功能流程主要功能流程论坛分为前台和后台两个模块:前台页面判断用户是否为本论坛会员,如果是会员则可直接登录,如果不是会员就会提醒会员注册,会员登录以后会有三个主要功能:发表帖子、搜索主贴、回复帖子。而后台管理则是版主对论坛的管理,普通会员是无法登录的。登

42、录后版主可以对会员进行会员查询,会员删除,还可以对帖子进行主贴查询,修改帖子以及帖子沈阳化工学院学士学位论文第四章 设计与实现19的删除。当版主要退出论坛的时候,就可以点击注销登录即可。沈阳化工学院学士学位论文第四章 设计与实现20图 4.1 主要功能流程图4.24.2 各个功能模块的实现各个功能模块的实现.1 数据库的连接数据库的连接出于安全性的考虑,我们将与数据库的连接,单独写出来并进行编译,也就是数据库连接的 javabean 文件,编译出来的.class 文件是无法被修改的只能通过源文件进行修改,我们在 jsp 页面中只用直接调用该方法即可,在本系统中我们将其命名为 d

43、bconmgr.java用户登陆主页面后 台 管 理是否会员注册搜索主帖回复帖子发表新帖会员管理帖 子管 理注销登陆会员查询会员删除主帖查询修改帖子删除帖子沈阳化工学院学士学位论文第四章 设计与实现21关键代码如下:表 4.1 数据库的连接import java.sql.*;public class dbconmgr private string drivername=com.mysql.jdbc.driver; /驱动程序名private string username=root; /数据库用户名private string userpwd=123456; /密码private string

44、 url= jdbc:mysql:/localhost:3306/bbs; /连接字符串private connection conn=null; /数据库连接对象public statement sm=null; /数据库语句对象 public void connectdb() try class.forname( drivername); conn = drivermanager.getconnection(url, username , userpwd); sm=conn.createstatement(); system.out.println(-数据库连接成功!); catch(ex

45、ception e) e.printstacktrace(); system.out.println(-数据库连接失败!); public void closedb() try if (sm != null) sm.close();conn.close(); catch (sqlexception sqle) sqle.printstacktrace(); system.out.println(-数据库关闭失败!); 沈阳化工学院学士学位论文第四章 设计与实现.2 用户登陆与注册模块的实现用户登陆与注册模块的实现用户登陆模块是防止非法用户登陆的第一道防线,通过它可以保护后台

46、数据库的安全性,当用户要进行发贴或回复时,首先要进入的就是身份验证界面,只有在密码正确的情况下才能进行以后的操作,如果输入的密码不正确,则不能进行发表新帖和回复。如果用户以浏览者的身份进入网站,则只能进行一般的帖子浏览和搜索,而不能发表新帖和回复,在点击发表新帖后,系统会判断该用户是否是登陆用户,如果不是则进入登陆页面,如果是第一次登陆,请先注册。登陆的具体实现要通过一个全程变量,即 session 变量来实现,用户登录的界面 userlogin.jsp,从 user 表查得用户提交的帐户名和密码正确后,用一个全局变量,即 session 变量保存这一消息该变量称为 session.setat

47、tribute(ulogined, true);。具体的判断过程为:表 4.2 用户登陆代码实现 booleanboolean ulog = falsefalse; /判断用户是否登陆string u = (string)session.getattribute(ulogined);ifif (u != nullnull & u.trim().equals(true) ulog = truetrue;若 ulog 为 false,表明没有经过登陆与否的验证,则只能已游客的生份浏览和搜索帖子如果想留言和发表帖子,只有登录或注册用户才可以。若 ulog 为 true 则表名用户已经登陆,而

48、且可以用 session 得到用户名(string)session.getattribute(name),显示在主页上。如果用户还不是会员则提示用户进行注册,用户提交信息之后,系统开始判断用户的注册信息是否有效,首先是用户名是否为空,用户输入的两次密码是否一致,然后依次往后判断用户所填写的各项信息是否符合要求,直到所有信息均正确无误,系统将该用户注册信息写入会员表即 user 表,并提示用户注册成功。就可以进行其它有效的操作了。系统对用户的注册信息的验证实现如下:首先是用正则表达式对表单的控制沈阳化工学院学士学位论文第四章 设计与实现24表 4.3 正则表达式对表单的控制 function c

49、heck() rename =/w3,12$/; repwd =/w6,12$/; reemail=/w+w+.w+$/;if(!rename.test(document.register.username.value)window.alert(用户名只能是3-12单字字符!);window.register.username.focus();return false;if(!repwd.test(document.register.pwd.value)window.alert(密码只能是6-12位单字字符!);window.register.pwd.focus();return false;

50、if(document.register.pwd.value!=document.register.confpwd.value)window.alert(请验证密码!);window.register.confpwd.focus();return false;if(!reemail.test(document.register.email.value)window.alert(e_mail格式不对!);window.register.email.focus();return false;document.register.submit();/填写的内容都符合那么就会提交表 4.4 用户注册代码

51、实现沈阳化工学院学士学位论文第四章 设计与实现.3 分页显示的功能实现分页显示的功能实现这里是分页功能的实现,这里把每页几条记录设为一个常量便于修改。表4.5 分页显示代码实现%final int page_size = 4; / 每页几条记录int pageno = 1;string strpageno = request.getparameter(pageno);/当前页if (strpageno != null & !strpageno.trim().equals() try pageno = integer.parseint(strpageno); catc

52、h (numberformatexception e) pageno = 1; /异常处理如果当前为空pageno = 1if (pageno = 0)/如果小于0 pageno = 1pageno = 1;int totalpages = 0;/总页数list articles = new arraylist();/定义一个数组链表connection conn = db.getconn();statement stmtcount = db.createstmt(conn);resultset rscount = db.executequery(stmtcount,select count(

53、*) from article where pid = 0); / 显示所有pid=0的帖子rscount.next();int totalrecords = rscount.getint(1);/总记录数totalpages = (totalrecords + page_size - 1) / page_size;if (pageno totalpages)pageno = totalpages;statement stmt = db.createstmt(conn);沈阳化工学院学士学位论文第四章 设计与实现27int startpos = (pageno - 1) * page_size

54、;string sql = select * from article where pid = 0 order by pdate desc limit + startpos + , + page_size;system.out.println(sql);resultset rs = db.executequery(stmt, sql);while (rs.next() article a = new article();a.initfromrs(rs);/初始化此方法封装在article.java里面articles.add(a);/加如数组链表articlesdb.close(rscount

55、);db.close(stmtcount);db.close(rs);db.close(stmt);db.close(conn);%.4 发表与回复功能模块实现发表与回复功能模块实现点击发表主题进入post.jsp,填写标题、作者与内容提交到自身页面表4.6 发表帖子功能代码实现标题作者: 内容:input type=submit value=submit /回复功能关键代码表 4.7 回复功能实现这里是javscript实现五秒之后自动跳转表4.8 javascript 实现延迟跳转span id=time style=background:red5秒钟后自动跳转,如果不跳转

56、,请点击下面链接 0) delay-;document.getelementbyid(time).innerhtml = delay; else window.top.location.href = url; settimeout(delayurl( + url + ), 1000); /delayurl(http:/wwer)/-沈阳化工学院学士学位论文第四章 设计与实现30主题列表delayurl(articleflat.jsp);/回复成功跳转到主页面.5 后台管理模块的实现后台管理模块的实现网上论坛系统除了能够让用户实现前台的浏览和回复等操作之外,还必须能够使管理人员能

57、够对系统的各种信息进行维护,比如帖子的增加、删除、修改,会员的搜索,删除等等。管理功能是网上论坛系统相当重要的一部分功能。管理员可以通过主页面进入系统后台进行维护,点击之后,首要的就是进行身份验证,输入正确的账号,密码之后,方能进入。出于安全性考虑,管理员账号应尽量少分配,密码也要尽量复杂,经常更换。进入之后系统管理的主页面采用了框架结构,左边是一个菜单,右边显示具体信息。管理的主要功能有帖子的查询、更新,删除等,用户管理,主要就是查询用户,删除用户。这一部分的实现也没有新的方法,使用的依然是一些 sql 语句来对相关数据进行查询和删除,修改。网上论坛作为一个在网上交流思想的论坛系统,如何能让

58、用户以最快的速度找到自己希望看到的帖子,也是需要非常重视的一个问题,此时搜索引擎也就必不可少了。本论坛系统也做了一个小模块,以供用户进行一些模糊查找,用户不必输入全部名称,只需输入一些关键词,系统就可以将符合该查询条件的所有帖子信息以网页形式返回给用户。该搜索功能在 jsp 页面中实现的关键代码为:表 4.9 搜索功能代码实现connection conn = db.getconn();statement stmtcount = db.createstmt(conn);string sqlcount = select count(*) from article where title like

59、 % + keyword + % ;/得到符合条件的总记录数system.out.println(sqlcount);resultset rscount = db.executequery(stmtcount, sqlcount);rscount.next();沈阳化工学院学士学位论文第四章 设计与实现31int totalrecords = rscount.getint(1);totalpages = (totalrecords + page_size - 1)/page_size;if(pageno totalpages) pageno = totalpages;if(pageno = 0

60、) pageno = 1;statement stmt = db.createstmt(conn);int startpos = (pageno-1) * page_size;/这里是为了分页显示string sql = select * from article where title like % + keyword + % and pid = 0 order by pdate desc limit + startpos + , + page_size ;修改功能实现的关键代码为:表 4.10 修改功能代码实现沈阳化工学院学士学位论文第四章 设计与实现32删除功能实现的关键代码为:表 4.11 删除功能代

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论