用JSP实现网上论坛开发-徐森_第1页
用JSP实现网上论坛开发-徐森_第2页
用JSP实现网上论坛开发-徐森_第3页
用JSP实现网上论坛开发-徐森_第4页
用JSP实现网上论坛开发-徐森_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

1、渤海大学学士学位毕业论文 用 JSP 实现网上论坛开发 专专 业:业:_计算机及应用计算机及应用_ 班班 级:级:_二二 O O 0 0 九九 级级 十四、十五十四、十五 班班_ _ 学学 号:号:_1 1_ 姓姓 名:名:_徐徐 森森_ 指导老师:指导老师:_沈沈 泽泽 刚刚_ 完成日期:完成日期: _二二 0 0 一二一二 年年 七七 月月 三十一三十一 日日_ 摘摘 要要 BBS 论坛系统是采用 java 语言进行设计实现的,采用 Tomcat 作为后台服务器,以 SQL Server 作为数据服务器,使用接口、实现 类、实体类、JSP 进行逻辑控制,表现层用 JSP 页面显示,用于在

2、网络上为网民提供一个信息发布、获取的场所。实现了查看、发表、 删除帖子功能,论坛帖子板块控制,注册用户可以修改自己的个人 信息、增加好友与黑名单,管理员可以对用户、帖子、板块权限和 用户组权限进行管理。论文从问题的提出、基本设计思想、数据的 流向到具体的设计过程都作出了详细论述。 关键词:关键词:JSP BBS 论坛 模拟社区 在线交流 Abstracts Bulletin-Board-System realization based on JSP BBS forum system is the use of Java language design and implementation, u

3、sing Tomcat as the background server, SQL Server as the data server, user interface, implementation class, entity class, JSP logic control, the presentation layer using JSP page display, is used in the network for users to provide a release of information, access to the site. Realize the view, publi

4、shed, delete function, forum posts plate control, registered users can modify their own personal information, add friends and the blacklist, administrators can manage users, post, plate permissions and user group permissions to manage. Papers presented from the, basic design thought, the flow of dat

5、a to the specific design process is made in detail. Key words:JSP BBS forum online communication simulation community 目 录 1 1 引引言言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 1 2 2 系系统统分分析析 . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6、 . . . . . . . . . . . . . . . . . . .2 2 2.1 需求分析.2 2.1.1 功能性需求.2 2.1.2 非功能性需求.5 2.2 可行性分析.5 3 3 系系统统总总体体设设计计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7 7 3.1 系统目标.7 3.2.2 后台功能结构.8 3.3 系统开发环境.9 3.3.1 开发环境.9 3.3.2 系统平台体系结构的选择.9 3.3.3 JavaScript 语言简介及特点 .10

7、 3.3.4 JSP 概述 .10 3.3.5 MySQL.10 3.3.6 Tomcat.11 4 4 数数据据库库设设计计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 12 2 4.1 数据库分析.12 4.2 数据库概念设计.12 4.3 数据库的逻辑设计.13 5 5 系系统统详详细细设设计计与与实实现现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 16

8、 6 5.1 前台设计.16 5.1.1 前台页面设计与实现.16 5.1.2 用户注册/登录、管理员登录.18 5.1.3 论坛版块的展示.21 5.1.4 发表新主题.24 5.1.5 搜索主题.25 5.1.6 查看及回复主题.26 5.2 后台设计.29 5.2.1 管理员登录.29 5.2.2 修改和删除主题.29 5.2.3 用户信息管理 .30 结结束束语语 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 32 2 参参考考文文献献

9、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 33 3 附附录录 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 34 4 用 JSP 实现网上论坛开发 徐森 渤海大学培训学院 邮编 1 引言 网络的兴起与发展,极大地改变了人们的思维和行为习惯。基 于网络的应用也层出不穷,论坛就是最早兴起的应用

10、之一。作为一 种传递消息的方式,最早的BBS 的作用是公布股市的即时消息,而随 着时代的发展,现在的BBS 的内容已达到无所不包的程度。小到生 活趣事,大到专业知识,各种各样的主题论坛让人眼花缭乱。论坛 网页的形式也由最初的静态页面发展到现在的动态页面,更好的实 现了用户之间的交互。 论文从几个大的方面来对系统的开发做出了阐述。在系统分析 一章从需求分析和可行性分析两方面来做具体阐述;系统整体设计 则从系统目标、系统功能划分和系统开发环境三大方面说明,结合 后面的系统详细设计与实现一章完成对系统从整体到细节的全方位 的理解。数据库设计单独设一章,对数据库的分析、概念设计和逻 辑设计给出了详细说

11、明。其中,前台设计几乎囊括了整个设计与实 现的大半部分。在所有章节中,系统总体设计、数据库设计和系统 详细设计与实现三章是主要内容。论文尽可能的将与系统相关的内 容解释清楚,目的就是将系统的整个开发流程展示给大家。 2 系统分析 2.1 需求分析 2.1.1 功能性需求 开发 BBS 论坛系统的目的是为了提供一个大家交流的平台,供 人们发表看法、探讨经验、讨论问题。因此,BBS 论坛系统的最基本 的功能是发表主题,其次是其它人员根据主题发表自己的看法,即 回复主题。考虑到现实情况,并不是每一个访问的游客都具有发表 主题的权利,所以必须用一个身份绑定用户,赋予其发表主题的权 利,这就需要实现用户

12、注册及登录的功能。每一个系统都需要管理 员这个特殊群体的存在,所以也需要实现管理员登陆的功能。管理 员区别于一般用户的地方在于,管理员往往具有更高的权限,有权对 用户信息和帖子内容作出某些“增删改查”的操作,以实现管理员对 社区的管理 。考虑到社区访问量会很大,用户发表的帖子的数量自 然很多,在浩瀚的帖子海洋中,如何才能查看自己感兴趣的帖子成 为了一个不得不考虑的问题。所以,系统还应该实现搜索帖子的功 能,用模糊查询的方法,对社区的帖子进行筛检的工作。综上所述, BBS 论坛系统的功能就可以进行如下划分: 1、前台部分 主要涉及系统前台,即用户所能看到的网页所涉及到的功能。 主要包括:用户注册

13、/登录,发表新主题,回复主题,查看主题内容, 搜索主题,邮件发送。 2、后台管理部分 主要是数据库的操作,针对系统管理员设置的一些功能。主要 包括:管理员登录,删除与修改主题和用户信息管理。 网络论坛 数据库 功 能 前台模块后台模块 会 员 注 册 会 员 登 录 邮 件 发 送 跟 帖 发 帖 搜 索 热 门 管 理 登 录 帖 子 管 理 用 户 管 理 图 2-1 系系统统功功能能介介绍绍 数据库部分,本系统新建了系统用数据库bbs,并在其下创建了 五张表:user(用户表)、article(主题表)、admin(管理员表)、 grade(用户等级表)和edit(版块类别)。本系统在设

14、计之初,为 简单起见,欲暂不考虑系统管理员的设置,默认此系统只有一个管 理员账户,用户名和密码均为“admin”。但这种做法在现实生活中是 很难满足实际需求的。所以,最终创建了管理员表admin,以实现对 管理员信息的统一存储和管理。理论上应该有四个业务角色:游客、 用户、管理员以及帖子。 系统的用例图如下: 发布主题 回复主题 删除主题 发修主题 搜索主题 查看主题 用户管理 帖子管理 管理员 用户 游客 图 2-2 系系统统用用例例图图 系统的顶层数据流图(DFD)如下: BBS 论坛 用户 User 管理 员 Admin 2-3 顶顶层层数数据据流流图图(D DF FD D) 用户 Us

15、er 管理员 Admin 图 2-4 一一层层数数据据流流图图 2.1.2 非功能性需求 1平台限制。本系统是在Window xp 环境下开发,对系统没有过 高的其它要求。 2服务器支持。本系统是基于 B/S 模式下的论坛系统,采用的 服务器是 Tomcat 7.0.5 版本。 3数据库支持。本系统采用的数据库是 MySQL 5.1 版本,同类 型或更高级别的数据库管理软件都能适用。 4基于 MyEclipse 平台下开发。 2.2 可行性分析 可行性分析是在调查分析的基础上,针对新系统的开发是否具有 实用性和可能性,对新系统的开发从经济、技术、社会环境和人 等发 面进行分析和研究。 (1)、

16、技术可行性 技术上的可行性分析主要指在现有可用的技术基础上,是否能 够顺利完成新系统的开发工作。从硬件方面来看,计算机硬件的更 新速度正在不断提高,与此同时,系统的稳定性也在不断加强。从 软件方面来看,该BBS 论坛采用了流行的动态网页设计技术(JSP) 和当前流行的B/S(浏览器/服务器)设计模式进行开发。B/S 模式本 身是随着 Internet 技术的兴起,对传统C/S 结构的一种变化或者改 进结构,具有很多传统结构所不具有的优点。 (2)、经济可行性 经济可行性所作的工作主要是对项目整体的经济效益进行评估, 本系统的目的是模拟一个网上交流的平台,供用户在社区交流经验、 探讨问题。但实际

17、只是用于个人毕业设计,不涉及商业上的运作, 纯粹模拟,故不存在资金上的流动,也不存在经济不可行的问题。 (3)、社会可行性 通过 BBS 论坛获取信息及发表主题已成为一种时尚的生活方式。 BBS 论坛缩短了人们之间的距离,在不知不觉间,早已成为人们网上 生活的必备工具,可见论坛存在的必要性和发展的前景。 3 系统总体设计 3.1 系统目标 基于 BBS 论坛在现实生活的实际应用,本系统的系统目标是提 供一个以现实环境为基础的网上模拟交流平台,通过它,人们可以 不必拘泥于空间和时间上的限制,方便交流,畅所欲言,同时也能 够更加便利的看到周围人的想法,观点,最大化的丰富人们的视野 和生活,让人随时

18、都能身在其中,随时也能置身事外。 3.2 系统功能划分 3.2.1 前台功能结构 系统的前台初始页面如下,登录地址为 “http:/localhost:8080/BBS”: 图 3-1 B BB BS S 首首页页 当用户登录到论坛首页时,其默认的身份就是游客,只能查看、 回复、搜索帖子,而不能执行发帖等其它操作。如果用户为非注册 用户,则其可以进行注册以获得一个登录身份。如果用户为已注册 用 户,则其可以直接进行登录,然后以注册用户的身份执行诸如发 表新 主题、查看新主题、回复主题、搜索主题等一系列操作。 图 3-2 前前台台系系统统流流程程图图 3.2.2 后台功能结构 后台功能主要是针对

19、管理员而设置的,用户以管理员的身份登 陆后,就能执行后台管理的操作,具体到此BBS 论坛,主要是指删除 和修改主题以及对用户信息的管理。 图 3-3 后后台台系系统统流流程程图图 3.3 系统开发环境 3.3.1 开发环境 在建立工程前,需要首先搭建开发环境。此BBS 论坛系统的开发 需要用到以下几种工具,故开发前需要进行相应的下载和安装: 开发平台:MyEclipse 9.0M2 Web 服务器:Tomcat 7.0.5 数据库服务器:MySQL 5.1 Java 开发工具:JDK 1.6.0 辅助工具:Dreamweaver CS4 3.3.2 系统平台体系结构的选择 在系统开发领域内,目

20、前存在两大主流系统平台的开发结构, 一种是 C/S 结构,而另一种是B/S 结构。C/S 结构,即大家熟知的客 户端/服务器结构,是一种应用较早,相对传统的开发模式。B/S 结 构,即浏览器/服务器结构,是随着Internet 的兴起,对 C/S 结构的 一种变化或者改进。在这种结构下,用户不需要借助于客户端软件, 通过 WWW 浏览器,即可实现系统的全部既定功能。从开放程度来说, 传统的 C/S 结构虽然采用的是开放模式,但这个开放性只是针对系 统开发一级的,在特定的应用中,无论是客户端还是服务器端都还 需要特定的软件支持。而B/S 结构,是一次性到位的开发,应用此 模式开发的系统,不同人员

21、,在不同地点,以不同的接入方式(比 如 LAN、WAN 等)访问并操作共同的数据库,能有效地保护数据平台 和管理访问权限,服务器的数据库也很安全。但是,B/S 也存在着自 己的不足,比方说其在大量数据分析,实时控制应用方面就存在着 需 要改进的地方。综合考虑,本系统还是考虑使用当下流行的B/S 结构 作为系统的开发模式。 3.3.3 JavaScript 语言简介及特点 JavaScript 语言是 Netscape 公司开发的一种脚本性语言 (Scripting language),或者称其为描述性语言。在静态网页 Html 的基础上,使用JavaScript 可以开发交互式Web 网页,能

22、够使 网页和用户之间实现一种实时性的、动态的、交互性的关系。 JavaScript 是在客户机上执行的,其特点和功能主要是短小精悍, 能够大大提高网页的浏览速度和交互能力。其特有的工具色彩让其 在动态网页的开发中找到了用武之地。 3.3.4 JSP 概述 JSP 是由 Sun 公司在 Java 语言的基础上开发出来的一种动态网 页制作技术,其将标记插入到页面中,从而使网页中的静态部 分和动态部分分离开来。JSP 是类似 ASP 的一种技术,在传统的静态 网页 HTML 文件插入 Java 程序段和 JSP 标记,就形成了JSP 文件。 3.3.5 MySQL MySQL 可以称得上是目前运行速

23、度最快的SQL 语言数据库,除了 具有许多其他数据库所不具备的功能和选择外,MySQL 数据库是一种 完全免费的产品,用户可以直接从网上下载数据库,用于个人和商 业 用途,而不必支付任何费用。 3.3.6 Tomcat Tomcat 是一个轻量级应用服务器,在中小型系统和并发访问用 户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。 对于一个初学者来说,可以这样认为,当在一台机器上配置好 Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上 Tomcat 部分是 Apache 服务器的扩展,但它是独立运行的,所以当 你运行 tomcat 时,它实际上作为一个与Apa

24、che 独立的进程单独运 行的。 4 数据库设计 4.1 数据库分析 数据库的设计,在应用系统的开发中起着举足轻重的作用。一 个合理、有效的数据库设计不仅是做好系统的保证,也能降低程序 的复杂性,使程序的开发过程变得更加容易。 本系统是一个中型的BBS 论坛系统,考虑到用户信息量和用户 需求等问题,决定采用MySQl 作为项目用数据库。 4.2 数据库概念设计 经过分析,本系统创建了五张数据库表,即帖子表(article)、 版块表(edit)、用户等级表(grade)、用户表(user)和管理员 表(admin)。下面划分出本系统所使用的数据库实体,它们分别为 用户(User)和帖子(Art

25、icle)以及管理员(admin)。 图 4-1 帖帖子子实实体体图图 图 4-2 用用户户实实体体表表 图 4-3 实实体体管管理理员员表表 图 4-4 系系统统 E E- -R R 图图 4.3 数据库的逻辑设计 1、用户表(User) 表 4-1 user 字段名属性约束意义 1userNamevarchar(30)primary key 用户名 2passwordvarchar(25) 无密码 3rePasswordvarchar(25) 无确认密码 4mainUrlvarchar(50) 无邮箱地址 5loginTimedatetime 无注册时间 6gradeNointForeig

26、n key 用户等级 说明:*userName 是注册用户的用户名,为User 表的主键。 *password 是用户密码,为用户登录时用。 *rePassword 是确认密码,与用户密码对应。 *mailUrl 是用户的邮箱地址,通过它,我们可以与之通过邮件通信。 *loginTime 表示用户注册的时间。 *gradeNo 表示用户的等级,与登记表(grade)中的 gradeId 相关联, *在注册过程中,password 和 rePassword 必须一致,否则无法注册。 2、管理员表(admin) 表 4-2 admin 字段名属性约束意义 1adminIdintprimary ke

27、y 管理员编号 2adminNamevarchar(25) 无管理员姓名 3passwordvarchar(25) 无密码 4adminTimedatetime 无创建时间 3、帖子表(Article) 表 4-3 article 字段名属性约束意义 1 idintprimary key 帖子 id 2pid int 无父亲 id 3 rootidint 无根 id 4 editNoInt 无所属版块 5 titlevarchar(30) 无标题 6 conttext 无内容 7 pdatedatetime 无发帖时间 8 writervarchar(30)foreign key 作者 9 v

28、iewCountint 无帖子查看量 10 replyCountint 无帖子回复量 11 isleafint 无 判断帖子是否 为叶子节点 12 isEssenceint 无 判断帖子是否 为精华帖 说明:*id 是帖子的编号,为本表的主键。 *pid 是父亲 id 的编号,表示被回复的帖子id 号。 *rootid 表示根贴的id 号,表示最初发起主题的帖子id 号。 *editNo 表示帖子所属的板块号,每个版块的帖子分版块区别显示。 *title 表示帖子的主题。*cont 表示帖子的内容。 *pdate 表示发帖的具体时间。 *writer 表示发帖的作者,此外键对应user 表中

29、userName 字段。 *viewCount 表示帖子的查看量。 *replyCount 表示帖子的回复量。 *isLeaf 判断帖子是否为叶子节点,值为1 时表非;为0 时表是。 *isEssence 判断帖子是否为精华帖,值为1 是表示是;反之,则不 是。 4、用户等级表(grade) 图 4-4 grade 字段名属性约束意义 1gradeIdintprimary key 等级编号 2gradeContvarchar(25) 无等级内容 5、版块类别表(edit) 图 4-5 edit 字段名属性约束意义 1editedintprimary key 版块编号 2editNamevarc

30、har(25) 无版块内容 图 4-5 数数据据库库模模型型图图 5 系统详细设计与实现 5.1 前台设计 系统的前台,即是直接面向用户的所有页面。因为前台的功能 模块较多,而各个模块的实现过程都是类似的,所以对于系统前台 的介绍,只是做有选择的系统重点设计介绍。 5.1.1 前台页面设计与实现 本系统的所有页面都采用了统一的简化页面框架,包括页头和 内容显示区。前台首页的页面运行结果已在前文中出现过,此处不 再累述。 下面主要介绍前台首页面index.jsp 的具体实现。由于论坛是以 主题分版块展示的,下面以其中一个板块页面做详细介绍。部分主 要代码如下: % List articles =

31、 new ArrayList(); Connection conn = DB.getConn();/创建与数据库的 连结 Statement stmt = DB.createStmt(conn); /通过连结 创建Statement对象 String sql = select * from article; ResultSet rs = DB.executeQuery(stmt, sql ); /执行sql语句,并返回结果集 while (rs.next() Article a = new Article(); a.initFromRs(rs); articles.add(a); /记录总查看

32、量 int totalViewNum=0; /记录帖子总数 int totalArticleNum=0; /*查询出帖子的总查看量*/ for (Iterator it = articles.iterator(); it.hasNext();) Article a = it.next(); totalViewNum+=a.getViewCount(); /*查询出帖子的总回复量*/ String sql1=select count(id) from article where pid=0; ResultSet rs1 = DB.executeQuery(stmt, sql1); rs1.nex

33、t(); totalArticleNum = rs1.getInt(1); /*查询出最后的发帖作者*/ String sql2=select * from article order by pdate desc; ResultSet rs2 = DB.executeQuery(stmt, sql2); while (rs2.next() Article a = new Article(); a.initFromRs(rs2); articles.add(a); Iterator it1 = articles.iterator(); Article a1=it1.next(); String

34、lastWriter=a1.getWriter(); DB.close(rs2); DB.close(rs1); DB.close(rs); DB.close(stmt); DB.close(conn);% 以上的语句实现的有三个功能:1、查询出帖子的总查看量;2、 查询出帖子的总回复量;3、查询出最后的发帖作者。这些都是对整 个板块的总体统计,是对板块信息的最直观的展现。 5.1.2 用户注册/登录、管理员登录 在论坛首页,提供了三个登录、注册入口,包括:用户注册/登 录、管理员登录;通过点击如下链接,进入到对应各个界面。 普通用户注册 普通用户登录 管理员登录入口 1用户注册 用户注册的网

35、页文件对应的是“loginUser.jsp”文件,在此页 面下,非注册用户可以进行注册的操作。 运行效果图如下: 图 5-1 用用户户注注册册界界面面 用户完成注册后,注册的用户名和密码就被写入到用户表 user。之后,会出现一个用户信息确认页面,以最终完成用户的注 册。确认无误后,点击链接,页面就跳转到论坛首页,此时的用户 身 份还是“游客”,之后可以通过登录改变用户身份状态。 在用户注册的时候,如果用户输入的密码和重复密码不一致, 会出现“密码和重复密码不一致”的错误信息提示,然后页面返回 到注册页面。如果用户所有待填项输入无误,则进入用户信息确认 页面。 以下是用户信息确认页面的展示图:

36、 图 5-2 用用户户信信息息确确认认页页面面 1 用户登录 用户完成注册后,就可以进行用户登录的操作,用户登陆页面如 下: 图 5-3 用用户户登登录录界界面面 在用户登录时,如果用户名或密码输入有误,则会出现 “invalid username or password”的错误信息提示,然后页面返回 到登陆页面供用户修正输入继续登录。 5.1.3 论坛版块的展示 下面以“青葱岁月”区为例,来介绍论坛版块的展示操作。在 论坛首页,通过链接版块链接,进入到特定版块的特定页面。 “最初的梦想”版块页面运行效果 图 5-4 “最最初初的的梦梦想想“版版块块页页面面运运行行效效果果图图 从运行效果来看

37、,此处运用了分页技术。分页技术实现的关键点 依赖于一条重要的sql 语句,具体如下: Select * from Table order by 参数 1 limit startPage+”, ” endPage; 其中,Table 是所要查询的表名称; startPage 是起始页面; endPage 是结束页面。 执行的效果是查询出排序结果的制定起始行到指定结束行的所 有页面。 板块页面的展示是通过一个循环来实现的,在循环的基础上, 为页面实现了一个优化:奇偶行以不同的显示效果展现。 优化的方式主要向jsp 页面导入 class 文件,在导入的时候,针 对行数的奇偶性采取不同的对应操作。 主

38、要代码如下: % intint lineNum = 0; forfor(Iterator it = articles.iterator(); it.hasNext();) Article a = it.next(); String classStr = lineNum % 2 = 0 ? jive-even : jive-odd; /区分奇偶行,以不同效果区分显示 % 实现代码具体如下: 代码段 1:获取制定部分行的查询结果 % finalfinal intint PAGE_SIZE = 8; /每页显示的主题数目 intint pageNo = 1; /记录当前页数 String strPa

39、geNo = request.getParameter(pageNo); ifif (strPageNo != nullnull catchcatch (NumberFormatException e) pageNo = 1; ifif (pageNo = 0) pageNo = 1; intint totalPages = 0; /记录符合要求的总主题页数 List articles = newnew ArrayList(); Connection conn = DB.getConn(); Statement stmtCount = DB.createStmt(conn); ResultSe

40、t rsCount = DB.executeQuery(stmtCount, select count(*) from article where pid=0); rsCount.next(); intint totalRecords = rsCount.getInt(1); totalPages = (totalRecords + PAGE_SIZE - 1) / PAGE_SIZE; ifif (pageNo totalPages) pageNo = totalPages; Statement stmt = DB.createStmt(conn); intint startPos = (p

41、ageNo - 1) * PAGE_SIZE; String sql = select * from article where pid=0 order by pdate desc limit + startPos + , + PAGE_SIZE; ResultSet rs = DB.executeQuery(stmt, sql); whilewhile (rs.next() Article a = newnew Article(); a.initFromRs(rs); articles.add(a); 代码段 2:将获取的结果根据行号的奇偶性分页展示: % intint lineNum =

42、0; forfor (Iterator it = articles.iterator(); it.hasNext();) Article a = it.next(); String classStr = lineNum % 2 = 0 ? jive-even : jive-odd; /区分奇偶行,以不同效果区分显示 TR class= 静态部分 5.1.4 发表新主题 在论坛版块展示页面中,注册用户可以执行发表新主题的操作, 对游客而言,则不能实现此功能。这个功能是通过区分用户登录方 式的不同而实现的,非注册用户点击“发表新主题”的连接后会出现 一个错误提示及跳转页面,以提示用户目前处于“非登

43、录用户”状态, 无权发表新主题。 已注册用户成功登陆后,则可以进行发表新主题的操作,运行 页面效果如下: 图 5-5 发发表表主主题题页页面面 成功发表后,所发表主题会显示在论坛版块展示页面下(图 5- 4)。 5.1.5 搜索主题 和发表新主题不同,所有的用户都能够执行搜索主题的操作。 在论坛版块展示页面点击“搜索主题“链接,进入到搜索主题页面。 图 5-6 搜搜索索页页面面 图 5-7 搜搜索索结结果果页页面面 5.1.6 查看及回复主题 点击主题链接,进入主题查看页面。 图 5-8 主主题题显显示示页页面面 在此页面,用户点击“回复”按钮,即可进入到回复主题页面, 运行效果如下。 图 5

44、-9 主主题题回回复复页页面面 在此,需要说明的是:为了美化回复的效果,在此加入了 Fckeditor 网页编辑器。具体实现步骤为:首先从网上下载一个 Fckeditor,将解压文件拷贝到工程“WebRoot”目录下,然后到压缩 包解压文件“FCKeditor2.6.4 ”下的路径: “fckeditor_sampleshtmlsample02.html”下,打开静态页 “sample02.html”,然后将其代码复制、粘贴到回复页面 “reply.jsp”。修改即可。修改后的代码段如下: window.onload = functionfunction() / Automatically c

45、alculates the editor base path based on the _samples directory. / This is usefull only for these samples. A real application should use something like this: / oFCKeditor.BasePath = /fckeditor/ ;/ /fckeditor/ is the default value. varvar sBasePath = ; varvar oFCKeditor = newnew FCKeditor( cont ) ; oF

46、CKeditor.BasePath= sBasePath ; oFCKeditor.ReplaceTextarea() ; 点击提交,回复内容会显示在上级页面。 图 5-10 回回复复后后主主题题显显示示页页面面 5 5. .2 2 后后台台设设计计 5.2.1 管理员登录 后台设计主要指管理员登录页面及登陆后的主题删除与修改页 面。管理员登录可以通过点击“管理员登录入口”链接实现。管理员 登录页面和用户登陆页面相似,见图 5-3,此处不再赘述。 5.2.2 修改和删除主题 管理员登陆后的主题版块具体内容页面与普通用户和游客登陆后 的页面相比,多了两个按键【MOD】和【DEL】,分别代表修改和

47、删除 帖子,点击链接即可进入相应修改和删除页面。 以上的权限区分是通过Session 来实现的。Session 一般来区分 用户的登录方式,通过在用户/管理员登陆后设置一个Session 值, 来达到区分用户登录方式,提升系统安全性的目的。 用户登陆后所作的Session 操作: session.setAttribute(userLogined,true); 管理员登陆后所作的Session 操作: session.setAttribute(adminLogined, true); /区分登 录方式(普通用户登录;管理员登录) 下面是主题修改页面,以修改“我的演示主题6”为例,展示效 果图如下: 图 5-12 主主题题修修改改页页面面 更新后的论坛版块展示页面不变,点击“我的演示主题6”链接, 即可查看更改后的主题情况。 5.2.3 用户信息管理 管理员登陆后,能够实现非管理员用户不能实现的三个功能, 他们是:删除帖子、修改帖子和管理用户信息。 删除和修改帖子是在主题展示页面(图 5-4)的帖子左端,增加 【Mod】和【Del】两个按钮,分别跳转到“modify.jsp”和 “delete.jsp”页面进行相应的修改和删除操

温馨提示

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

评论

0/150

提交评论