基于Web技术的网上论坛

上传人:1888****888 文档编号:39836143 上传时间:2021-11-12 格式:DOC 页数:28 大小:2.27MB
收藏 版权申诉 举报 下载
基于Web技术的网上论坛_第1页
第1页 / 共28页
基于Web技术的网上论坛_第2页
第2页 / 共28页
基于Web技术的网上论坛_第3页
第3页 / 共28页
资源描述:

《基于Web技术的网上论坛》由会员分享,可在线阅读,更多相关《基于Web技术的网上论坛(28页珍藏版)》请在装配图网上搜索。

1、摘 要进入二十一世纪,计算机技术迅速向着网络化、集成化方向发展。传统的单机版应用软件正在逐渐退出舞台,取而代之的是支持网络、支持多种数据信息(多媒体)的新一代网络版应用软件。BBS的英文全称是Bulletin Board System,翻译为中文就是“电子公告板”, BBS在国内一般称作网络论坛。BBS作为一种新兴的网络版应用软件,在交友互动、商业、新闻报道上都有广泛的应用前景,1978年在美国芝加哥开发出一套基于8080芯片的CBBS/Chicago,此乃最早的一套BBS系统。国内大约是从1991年开始,开始了第一个BBS站。经过长时间的发展,直到1995年,随着计算机及其外设的大幅降价,B

2、BS才逐渐被人们所认识。1996年更是以惊人的速度发展起来。在计算机网络飞速发展的今天,BBS已经成为人们网上交流的重要平台,因此对BBS的研究是十分必要的。本文就是基于Web技术,采用软件工程的结构化开发方法,设计和开发了一个简单实用的网上论坛。本文详细记录了整个论坛的开发过程,包括系统的分析阶段、设计阶段、测试阶段和实施阶段,并通过文字、图形和表格的形式,详细介绍了这个网络论坛的整体架构和设计特点。本论坛采用目前最流行的JSP技术,结合数据库技术,开发出了这个伸缩性好,扩展性强,能兼容、易维护、界面美观,功能实用的BBS系统。1 引言伴随着计算机技术的发展,人们生活水平的提高,传统的社交方

3、式越来越难以满足人们的需要。而现在,随着中国的网名人数迅速增加,地区的信息网络化越来越普及,人们更愿意借助网络这种全新的方式来交流,于是网络论坛便应运而生。网络论坛一般就是大家口中常提的BBS。什么是BBS呢,BBS的英文全称是Bulletin Board System,翻译为中文就是“电子公告板”。它是Internet上的一种电子信息服务系统。在较早的时期,BBS仅仅是提供一块公共电子白板,每个用户都可以在上面书写,可发布信息或提出看法。象日常生活中的黑板报一样,电子公告牌按不同的主题、分成很多个布告栏,布告栏的设立的依据是大多数BBS使用者的要求和喜好,使用者可以阅读他人关于某个主题的最新

4、看法(几秒钟前别人刚发布过的观点),也可以将自己的想法毫无保留地贴到公告栏中。现在,BBS可以说是一种极为常见的互动交流服务系统。大家不仅可以在此发表自己的想法,交流技术、经验以及人生的感悟,也可以作为用户与商家交流的渠道,商家可以开设BBS作为售后服务信息收集和反馈中心,在此回答用户提出的问题式发布消息。在web2.0时代到来的大环境下,BBS即将朝着两个方向发展:一是朝着即时性发展,随着信息产生和更新的速度越来越快,人们对信息的需求越来越大,对获取信息方式的要求越来越高,这便要求了BBS需要具有越来越高的即时性。现在动态网站出现的新技术Ajax,可以不需要刷新页面就可以更新数据,这就使得w

5、eb站点看起来是即时响应的。二是朝着图形化方向发展,由于使用BBS进行交流的用户越来越多,这就要求BBS必须得有富有特色的,友好的界面来吸引来自天南海北的朋友的目光。图形虚拟社区可以非常具体和形象化地模拟整个现实社区的生活,并且具备无限的可扩充性。随着人们生活水平的不断提高,在家里,在宿舍,在办公室,上网已经不是什么很困难的事情,通过BBS,人们可以参与各种自己自己喜欢的话题,与志同道合的朋友一起交流心得,特别是对于IT技术人员,BBS更是一个非常重要的学习交流的场所。本文讨论的便是一个基于JSP语言的中型网络论坛系统,它具有一般BBS的基本功能,如用户注册、登陆、发帖、回帖、看帖、查找帖子,

6、以及管理人员对BBS的各种管理功能。这所有的操作都在用户的客户端的浏览器中完成,由JSPWeb程序处理后,对服务器的数据库进行操作,再处理成HTML文件传到用户客户端浏览器,响应用户的需求。整个系统采用的是web体系,科学的开发过程对系统的完整性和精确性将有很大的影响。因此,这次开发系统的过程严格遵循的软件工程的思想,从需求分析到过程设计都有详细的记录,使得系统高度模块化,可读性、可重用性以及可维护性好。本文中共分5章。第一章绪论,主要讲网上论坛的背景、意义,开发方法及开发工具简介;第二章系统需求分析,主要讲系统功能需求、性能需求及可行性分析;第三章概要设计,主要介绍系统工作流程、功能结构图及

7、数据库表设计;第四章详细设计,主要讲各个功能的工作流程及具体的实现过程。第五章系统测试,主要介绍系统使用的测试方法及测试用例并计算系统的稳态可用性。每章附有本章重点介绍的功能图例及详细讲解,帮助理解系统的各部分功能。2 系统分析2.1 需求分析2.1.1 功能性需求开发BBS论坛系统的目的是为了提供一个大家交流的平台,供人们发表看法、探讨经验、讨论问题。因此,BBS论坛系统的最基本的功能是发表主题,其次是其它人员根据主题发表自己的看法,即回复主题。考虑到现实情况,并不是每一个访问的游客都具有发表主题的权利,所以必须用一个身份绑定用户,赋予其发表主题的权利,这就需要实现用户注册及登录的功能。每一

8、个系统都需要管理员这个特殊群体的存在,所以也需要实现管理员登陆的功能。管理员区别于一般用户的地方在于,管理员往往具有更高的权限,有权对用户信息和帖子内容作出某些“增删改查”的操作,所以,针对管理员,系统应该实现删除和修改帖子以及对用户的管理等功能,以实现管理员对社区的管理 。考虑到社区访问量会很大,用户发表的帖子的数量自然很多,在浩瀚的帖子海洋中,如何才能查看自己感兴趣的帖子成为了一个不得不考虑的问题。所以,系统还应该实现搜索帖子的功能,用模糊查询的方法,对社区的帖子进行筛检的工作。本系统针对用户还实现了一个特殊的功能,即邮件发送。如果某个用户对其他的用户感兴趣,那么可以通过将邮件发送到指定用

9、户注册时所填写的邮箱地址,这样的话,就能够实现即时通讯的功能。综上所述,BBS论坛系统的功能就可以进行如下划分:1、前台部分主要涉及系统前台,即用户所能看到的网页所涉及到的功能。主要包括:用户注册/登录,发表新主题,回复主题,查看主题内容,搜索主题,邮件发送。查看版面下根贴查看精华帖子搜索根贴查看根贴内容用户登录用户注册用户注销发表帖子回复帖子查看自己发表的帖子BBS论坛前台2、后台管理部分主要是数据库的操作,针对系统管理员设置的一些功能。主要包括:管理员登录,删除与修改主题和用户信息管理。类别管理版面管理用户管理退出管理BBS论坛后台 数据库部分,本系统新建了系统用数据库bbs,并在其下创建

10、了五张表:user(用户表)、article(主题表)、admin(管理员表)、grade(用户等级表)和edit(版块类别)。本系统在设计之初,为简单起见,欲暂不考虑系统管理员的设置,默认此系统只有一个管理员账户,用户名和密码均为“admin”。但这种做法在现实生活中是很难满足实际需求的。所以,最终创建了管理员表admin,以实现对管理员信息的统一存储和管理。理论上应该有四个业务角色:游客、用户、管理员以及帖子。系统的用例图如下: 2.1.2 非功能性需求1平台限制。本系统是在Window xp环境下开发,对系统没有过高的其它要求。2服务器支持。本系统是基于B/S模式下的论坛系统,采用的服务

11、器是Tomcat 7.0.5版本。3数据库支持。本系统采用的数据库是MySQL 5.1版本,同类型或更高级别的数据库管理软件都能适用。4基于MyEclipse平台下开发2.2 可行性分析 可行性分析是依据初步调查的结果做出系统开发可行与否的结论过程。任何一个工程的立项都需要进行项目的可行性分析。这是保证正确投资的必要工作,从项目的审批程序上看这也是必不可少的一步。信息系统开发项目是一项复杂的高科技系统工程,可行性分析也是必不可少的,可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决、是否值得去解决。根据调查分析,系统设计方案有以下三个可行性。2.2.1 社会可行性当前社会是

12、一个网络化的社会,网络就在人们周围无处不在,人们从网络上获取并发布信息,而本系统正是应这一需求而产生,为企业,个人发布,获取有价值的信息提供场所。所以本系统具有社会可行性。2.2.2 技术可行性首先现在系统开发方法已经发展成熟,结构化、面向对象,都已经广泛使用,这使得系统开发的系统调查、系统分析、系统设计、系统实施更加规范,系统完成的更加科学。系统开发所需的硬件技术、软件开发技术、网络技术发展的非常成熟。其次网络论坛系统有以下特点:一是数据量大,要求及时查询的内容较多;二是数据处理较集中,内部数据处理量大,输出量大。三是即时处理,要不断更新最新的数据信息。基于以上三个特点,现有技术都可以达到要

13、求的目标。在单机环境下组建管理信息系统,该系统的开发工作可以采用JSP做前台,SQL Server 2005做后台来进行。前台可视化程度较高,人机交互能力较强,应用起来也较方便、直观,后台数据库功能强大,且更好的支持运行的系统。因此本系统采用三层结构,用SQL Server 2005数据库作为后台数据库,安装和使用简单易学,方便操作;前台页面采用JSP动态页面,JSP相比ASP、PHP都有很大的优势;控制层采用Struts框架,Struts是Java Web开发中使用的比较热门的技术。服务器采用Tomcat服务器,它是一个开源软件。开发人员在学习了这些语言或工具之后,有能力开发本系统。 2.2

14、.3 经济可行性对于投资费用主要包括:设备费用(计算机设备及软件配置的费用);人员费用(开发人员、运行人员、维护人员的费用);材料费用(消耗材料,如文档资料、用电,用纸等费用);其他费用(设备保养、折旧费用等)。现有的中小型网络论坛都有自身的运营经费,而且一般中小型规模的论坛都会配置电脑所以在硬件方面不必再投入;只需要在软件开发上面投入少许经费就可以了,这方面的投资网络论坛应该会愿意承担并且完全可以支付的起。同时,花费在人员培训上的费用是不会太高的。开发的系统是一个性能稳定,易于维护的系统,后期维护不会消耗大量的人力和物力,这样系统在人员方面的投资也可以支付。总之,经济可行性是指软件所带来的经

15、济效益与开发设计所需要的投资费用相比较是否适当,软件是否会给使用者带来经济效益。首先随着计算机软件和硬件技术的飞速发展,计算机软、硬件价格不断下降,设计本系统所投入的资金下降。与使用本系统为企业发布、获取信息所节省的价值相比,应用本系统带来的收益较大,经济效益可观,所以在经济上是可行的。2.2.4 操作可行性本系统要求运行环境不高,可以在Windows 2005 Server操作系统平台上运行,Web服务器为Tomcat 6.0,数据库服务器为Microsoft SQL Server 2005,开发工具采用的MyEclipse。界面美观、易懂、容易操作、功能齐全,方便用户之间信息交流。综上所述

16、,从经济、技术、操作可行性上来说,系统开发是完全可行的 3 系统总体设计3.1 系统目标基于BBS论坛在现实生活的实际应用,本系统的系统目标是提供一个以现实环境为基础的网上模拟交流平台,通过它,人们可以不必拘泥于空间和时间上的限制,方便交流,畅所欲言,同时也能够更加便利的看到周围人的想法,观点,最大化的丰富人们的视野和生活,让人随时都能身在其中,随时也能置身事外。3.2 系统功能划分3.2.1 前台功能结构系统的前台初始页面如下,登录地址为“http:/localhost:8080/BBS.jsp”: % for(int i=0;i a href=GetTopicServlet?ybid= 主

17、贴数   版主: % for(int j=0;j 当用户登录到论坛首页时,其默认的身份就是游客,只能查看、回复、搜索帖子,而不能执行发帖等其它操作。如果用户为非注册用户,则其可以进行注册以获得一个登录身份。如果用户为已注册用户,则其可以直接进行登录,然后以注册用户的身份执行诸如发表新主题、查看新主题、回复主题、等一系列操作。前台系统流程图具体如下: 此时,用户已经具有了一种身份,此后用户可以以此种身份执行诸如发表新主题、查看主题、搜索主题、回复主题等操作。3.2.2 后台功能结构后台功能主要是针对管理员而设置的,用户以管理员的身份登陆后,就能执行后台管理的操作,具体到此BBS论坛,主

18、要是指删除和修改主题以及对用户信息的管理后台系统流程图如下 3.3 系统开发环境3.3.1 开发环境在建立工程前,需要首先搭建开发环境。此BBS论坛系统的开发需要用到以下几种工具,故开发前需要进行相应的下载和安装:开发平台:MyEclipse Web服务器:Tomcat 6.0数据库服务器:SQL Server 2005Java开发工具:JDK 1.6.0辅助工具:Dreamweaver,PhotoshopCS3 3.3.2 系统平台体系结构的选择在系统开发领域内,目前存在两大主流系统平台的开发结构,一种是C/S结构,而另一种是B/S结构。C/S结构,即大家熟知的客户端/服务器结构,是一种应用

19、较早,相对传统的开发模式。通过它,可以充分利用两端硬件环境的优势,将任务合理的分配到Client端和Server端,降低了系统的通讯开销。B/S结构,即浏览器/服务器结构,是随着Internet的兴起,对C/S结构的一种变化或者改进。在这种结构下,用户不需要借助于客户端软件,通过WWW浏览器,即可实现系统的全部既定功能。在这种模式下,一部分事务逻辑在前段实现,但是主要事务逻辑在服务器端实现,大大简化了客户端电脑载荷,减轻了系统维护与升级的成本,从而降低了用户的整体成本。从开放程度来说,传统的C/S结构虽然采用的是开放模式,但这个开放性只是针对系统开发一级的,在特定的应用中,无论是客户端还是服务

20、器端都还需要特定的软件支持。而B/S结构,是一次性到位的开发,应用此模式开发的系统,不同人员,在不同地点,以不同的接入方式(比如LAN、WAN等)访问并操作共同的数据库,能有效地保护数据平台和管理访问权限,服务器的数据库也很安全。特别是在Java这样的跨平台语言出现之后,B/S架构管理软件起来更是显得方便,快捷和高效。可以说,B/S是乘着Internet兴起的风而杨风远航的,是适应时代的产物。但是,B/S也存在着自己的不足,比方说其在大量数据分析,实时控制应用方面就存在着需要改进的地方。综合考虑,本系统还是考虑使用当下流行的B/S结构作为系统的开发模式。3.3.3 JavaScript语言简介

21、及特点JavaScript语言是Netscape公司开发的一种脚本性语言(Scripting language),或者称其为描述性语言。作为一种编程语言,其出现的使命就是为了适合动态网页制作的需要,颇具工具色彩。在静态网页Html的基础上,使用JavaScript可以开发交互式Web网页,能够使网页和用户之间实现一种实时性的、动态的、交互性的关系,使得网页包含更多活跃的元素和更加精彩内容。可以说,JavaScript是专门为制作Web网页而量身定做的一种简单的编程语言。JavaScript是在客户机上执行的,其特点和功能主要是短小精悍,能够大大提高网页的浏览速度和交互能力。其特有的工具色彩让其

22、在动态网页的开发中找到了用武之地。3.3.4 JSP概述JSP是由Sun公司在Java语言的基础上开发出来的一种动态网页制作技术,其将标记插入到页面中,从而使网页中的静态部分和动态部分分离开来。JSP是类似ASP的一种技术,在传统的静态网页HTML文件插入Java程序段和JSP标记,就形成了JSP文件。 JSP技术的强势在于:1、一次编写,到处运行。在更换系统时,代码不需要做任何修改。2、系统的多平台支持。基本上可以在所有平台上的任意环境下开发,在任意环境中进行系统部署,在任意环境中扩展。3、强大的可伸缩性。通过小小的jar文件运行servlet/JSP,到由多台服务器进行集群和负载均衡,到多

23、台Application进行事务处理,一台服务器到无数台服务器,JSP表现了强大的可伸缩性。4、多样化和功能强大的开发工具支持,常用的编辑工具有Dreamweaver和MyEclipse等。3.3.5 MySQLMySQL可以称得上是目前运行速度最快的SQL语言数据库,除了具有许多其他数据库所不具备的功能和选择外,MySQL数据库是一种完全免费的产品,用户可以直接从网上下载数据库,用于个人和商业用途,而不必支付任何费用。3.3.6 JDBC技术数据库管理是每个应用系统开发过程中不得不考虑的问题,目前主流的数据库有Oracle、SqlServer、MySql等。不管使用何种技术,都离不开JDBC

24、技术的支持。JDBC的全称是Java DataBases Connectivity standard,即Java数据库连接,是一种数据库通用接口采用的主流技术。其定义了用来访问数据库源的标准Java类库,通过它使用一种标准方法,就能够方便的访问数据库资源。所以,JDBC又是一种规范,其目标是使应用程序开发人员通过它连接任何提供JDBC驱动程序的数据库系统,这样就使得程序员无需对某种数据库有过多的了解,大大加快了开发过程。有了JDBC,向各种数据库发送SQL语句就是一件再简单不过的事了。换言之,有了JDBC,就不必为访问数据库A专门再写一个程序,又为访问数据库B专门写一个程序。所以,JDBC为J

25、ava应用程序与各种不同数据库之间进行对话提供了一个标准的方法,这也是Java语言“一次编写,到处运行”的优势。4 数据库设计4.4.1 SQL Server 2005概述SQL Server 是美国Microsoft公司开发的一个关系型数据库管理系统,是目前世界上最著名的关系数据库管理系统之一。Microsoft SQL Server 2005在性能和可扩展方面确立了世界领先的地位,是一套完全的数据库和数据分析解决方案,使用户可以快速创建下一代的可扩展电子商务和数据仓库解决方案。Microsoft SQL Server 2005 在数据库服务器自动调整和自动管理技术方面在数据库领域中处于领先

26、地位,使客户可以集中精力处理商业战略上的问题,而不是去细微调整数据库服务器的各项参数。SQL Server 的主要功能:1、数据库管理功能作为数据库管理系统,SQL Server 自然应该具有数据库管理功能。Microsoft SQL Server 2005的数据库由包含数据的表集合和其他对象(如视图、索引、存储过程和触发器)组成,目的是为执行与数据有关的活动提供支持。存储在数据库中的数据通常与特定的主题或过程相关。数据仓库功能SQL Server 2005提供了一套全新的综合分析服务系统。分析服务为商业活动提供了集成的OLAP服务和数据挖掘功能。OLAP可以通过多维存储技术对大型、复杂数据集

27、执行快速、高级的分析工作。数据挖掘功能能够揭示出隐藏在大量数据中的倾向及趋势。SQL Server针对包括集成数据挖掘、OLAP服务、安全性服务及通过Internet对多维数据集进行访问和链接分析提供新的数据仓库功能。网络论坛SQL Server 不仅提供网络论坛所需的可伸缩性与可扩展性之外,还提供了丰富的数据库编程能力,以确保系统的协同工作和灵活性。SQL Server2005 不仅支持集中化数据库管理功能,而且还最大程度地实现了管理与优化工作的自动化,从而,减轻了有关管理人员的负担。完备的 Web 功能SQL Server2005允许通过HTTP协议,在 Web上进行高性能、基于标准的安全

28、访问。基于Web的客户端拥有访问关系型数据存储和访问分析服务的能力。分布式数据复制功能可以将一个数据库中的数据复制到通过局域网、广域网或 Internet 网络连接的不同地点服务器或同一服务器中的不同数据库中,并能够自动保持这些数据同步,使各个数据库中具有相同的数据。4.4.2 Tomcat 6.0服务器架构Tomcat 6.0由Apache 组织开发的一种常用 Web 服务器,提供 Web 服务。一种 JSP 引擎,本身具有 Web 功能,可以作为独立的 Web 服务器使用。但是,在作为 Web 服务器方面,Tomcat 处理静态 HTML 页面时不如 Apache 迅速,也没有Apache

29、 健壮,一般选用 Tomcat 与 Apache 结合的方式,让后者对网站的静态页面的请求提供服务,而 Tomcat 作为专用的 JSP 引擎,提供 JSP 解析,得以更好的性能。1JDK 的安装与配置(1)找到 path 变量后单击编辑按钮;弹出编辑系统变量对话框。在变 量值文本框中输入“c:jdkbin”,然后单击确定按钮。同时新建 CLASSPATH 变量;(2)在系统变量选项组中单击新建按钮,在变量名文本框中输入“CLASSPATH”, 在 变量值文本框中输入“ c:jdklibtools.jar ;c:jdklibdt.jar;”然后单击确定按钮。(3)用同样的方法把 c:jdk 添

30、加到 JAVA_HOME 环境变量中;2TOMCAT 的安装与配置在这里设默认安装目录为 c:Tomcat 安装完毕,更改环境变量,用同样的方法把 c:Tomcat 添加到 TOMCAT_HOME 环境变量中。启动 Tomcat,在浏览器 的地址下拉列表框中输入“http:/localhost:8080/”,如果看到的是在左上 方有一只可爱的小猫,则表示 Tomcat 安装成功。4.4.3 运行环境的选择信息系统是以计算机系统为核心建立的,系统硬件和软件配置是系统设计的主要内容。本系统采用目前比较流行的B/S(浏览器和/服务器端)模式,因而,硬件配置要从此模式出发。另外,由于计算机发展迅速,为

31、将来升级的考虑,这里所提供的硬件设备要比能够运行该系统所需要的最低硬件标准高出一些。1软件环境:操作系统:采用Windows 2003或Windows XP;Web服务器:Tomcat6.0;浏览器:IE6.0以上;前台开发工具:JSP;后台开发工具:Microsoft SQL Server 2005 ,JSP;2硬件环境:服务器配置:应具有较高的配置,因为本系统服务器和客户端为一台机器,所有数据信息都保存在服务器中,各业务处理需要访问服务器端数据库。因此,配置为,CPU:Intel Core 2 Duo T6570处理器,主频2.1GHz;内存:2G;硬盘:250G;网卡:100M。4.4.

32、4创建数据库1Board表 bodrdidbnamebstatus1Java学习12JSP学习13J2EE学习14Andriod学习15单片机学习16嵌入式学习17数据库学习18数据分析结果1Masterinfo表IdUseridBoardid1112223314225246157168279281169Reply表replyidcontentinfocreatedateuseridtopicidrstatus1路过2012/5/3110:37:431112看看书2012/5/3110:40:161113啊啊啊2012/5/3115:22:591114多看看书2012/5/3115:23:33

33、3115我还是不会2011/6/1 9:22:4837106Ok2012/6/9 8:28:543117Aaa2012/6/9 9:50:023328简单2012/6/1010:43:154Null19Rrr2012/9/3018:01:153Null1Topic 表topicidtitlecontentinfocreatedateuseridboardidrstatusrooof1 面向对象问题 面积对象如何理解与定义2012/5/319:8111NULL2Android有意思学了一段时间2012/5/31 9:4131NULL3框架不好学框架有点难,不知如何入手2011/6/1 8:553

34、11NULL15jdbcjava中如何连接数据库2011/6/1 9:22311NULL71socket如何用户如何进行socket编程2011/6/1 16:4310NULL73aaaaaa2012/6/10 10:411NULL74JSP实训Servlet如何编写2012/4/12 10:111NULLUserinfo表useridusernameupassusexupoweruimageudata1东东123男1image/headimage.gif2012/5/29 10:23:372飞机123男1image/headimage.gif2012/5/30 9:16:093qq11女1i

35、mage/headimage2.gif2012/5/30 9:31:224abcabc男-1image/headimage2.gif2012/6/10 10:42:435sss123男1image/headimage3.gif2012/6/25 15:09:596LiJie294253男1image/headimage2.gif2012/9/30 17:55:18 5 系统详细设计与实现5.1 前台设计系统的前台,即是直接面向用户的所有页面。因为前台的功能模块较多,而各个模块的实现过程都是类似的,所以对于系统前台的介绍,只是做有选择的系统重点设计介绍。5.1.1 前台页面设计与实现本系统的所有

36、页面都采用了统一的简化页面框架,包括页头和内容显示区。前台首页的页面运行结果已在前文中出现过,此处不再累述。下面主要介绍前台首页面的具体实现。由于论坛是以主题分版块展示的,下面以其中一个板块页面做详细介绍。 部分代码如下: % for(int i=0;i a href=GetTopicServlet?ybid= 主贴数   版主: % for(int j=0;j 5.1.2 用户注册/登录、管理员登录在论坛首页,提供了三个登录、注册入口,包括:用户注册/登录、管理员登录;通过点击如下链接,进入到对应各个界面。 用户登录界面在用户登录时,如果用户名或密码输入有误,则会出现“invali

37、d username or password”的错误信息提示,然后页面返回到登陆页面供用户修正输入继续登录部分代码如下: function pass() var pass=false; var uname=document.form1.username.value; var upass=document.form1.upass.value; if(uname.length=0) alert(用户名不能为空); else if(upass.length=0) alert(密码不能为空); else pass=true; return pass; 用户注册界面用户完成注册后,注册的用户名和密码就被

38、写入到用户表user。之后,会出现一个用户信息确认页面,以最终完成用户的注册。确认无误后,点击链接,页面就跳转到论坛首页,此时的用户身份还是“游客”,之后可以通过登录改变用户身份状态。在用户注册的时候,如果用户输入的密码和重复密码不一致,会出现“密码和重复密码不一致”的错误信息提示,然后页面返回到注册页面。如果用户所有待填项输入无误,则进入用户信息确认页面。部分代码如下: 淮信交流学习网 用户名: 密码: 重复密码: 性别: 男 女 头像: 头像1 头像2 头像3 头像4 头像5 管理员登录界面(尚在实现中。) 5.1.3 论坛版块的展示下面以“青葱岁月”区为例,来介绍论坛版块的展示操作。在论

39、坛首页,通过链接版块链接,进入到特定版块的特定页面。“最初的梦想”版块页面运行效果 版块首页 部分代码如下:public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException /获取boardid版块号String boardid=request.getParameter(ybid);/System.out.print(boardid); /获取分页的数据String num=request.getParameter(pagenum);i

40、f(num=null)num=1;GetPage mypage=new GetPage();DBConnect mydb=new DBConnect();mypage.setDb(mydb);/设置数据库的连接mypage.setPageSize(8);/设置每页显示的主帖数mypage.setP_curpage(Integer.parseInt(num);/设置当前的页数String sql=select * from topic where boardid=+boardid + and tstatus=1;mypage.setSql(sql);/设置查询的对象表名主帖表mypage.set

41、KeyFielsName(topicid);/查询得到结果集ResultSet re=mypage.getPage();/对结果集数据进行包装ArrayList tdata=new ArrayList();trywhile(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

42、.getString(7);/2Topic tem=new Topic();tem.setTopicid(topicid);tem.setTitle(title);tem.setTcontent(content);tem.setTdata(createrdate);tem.setBoardid(boardid);ReplyDao rdao=new ReplyDao();tem.setReplynum(rdao.getReplyNum(topicid);UserDao udao=new UserDao();tem.setTopicuser(udao.getuserInfo(userid);tem

43、.setTstatus(tstatus);/3tdata.add(tem);catch(Exception e)e.printStackTrace();finallytrymydb.free();catch(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

44、.checkMaster(user.getUserid(),boardid);request.setAttribute(flag, flag);request.setAttribute(bid, boardid);request.setAttribute(ttdata, tdata);request.setAttribute(totalnum, mypage.getTotalPage();request.setAttribute(curpage,mypage.getP_curpage();request.getRequestDispatcher(topiclist.jsp).forward(r

45、equest, response);5.1.4 发表新主题在论坛版块展示页面中,注册用户可以执行发表新主题的操作,对游客而言,则不能实现此功能。这个功能是通过区分用户登录方式的不同而实现的,非注册用户点击“发表新主题”的连接后会出现一个错误提示及跳转页面,以提示用户目前处于“非登录用户”状态,无权发表新主题。已注册用户成功登陆后,则可以进行发表新主题的操作,运行页面效果如下 发帖版块5.1.5 查看及回复主题点击主题链接,进入主题查看页面。 回帖及查看回帖内容版块部分代码如下: String topicid=request.getParameter(ytid); /根据topicid查询对应的

46、主贴信息 /根据topicid查询对应的所有回帖信息 /将数据放入请求,转发到页面Reply / TopicDao tdao=new TopicDao();/Topic onetopic=tdao.getTopicById(topicid); Topic tem=new TopicDao().getTopicById(topicid);/ReplyDao rdao=new ReplyDao();/ArrayList rdata=rdao.getAllReplyByTopicid(topicid);ArrayList rrdata=new ReplyDao().getAllReply(topic

47、id); request.setAttribute(onetopic, tem); request.setAttribute(rrdata, rrdata);request.getRequestDispatcher(replylist.jsp).forward(request, response); 6 结束语6.1 系统的特点与局限性 6.1.1 特点本系统最大的特点就是结构简单,界面清晰、简洁,一目了然。它不同于网络上的其他论坛的地方在于,主界面只显示每个板块的名称,板块描述,建立时间以及版主,而不细列出每个板块里的主题情况,这样就使原本繁杂的主界面大大简化,层层分明,给人一种很干净清新的感觉,不会象其他网络论坛一样使人眼花缭乱,不知从何处进入板块才好。本系统还有一个特点就是可扩展性非常强。由于采用的是原型法的开发模式,一开始只是对论坛的基本功能,即浏览帖子、发帖和回帖这三个功能进行了设计,而后来的注册登陆

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!