当前位置:文档之家› 网上贴吧系统设计与实现毕业论文

网上贴吧系统设计与实现毕业论文

网上贴吧系统设计与实现

摘要

随着经济的快速发展,网络已经渗透到人们生活及工作中的各个领域,人们越来越注重利用网络的快捷与准确的特点来完成自己的工作,21世纪已经是属于网络的时代。人们把更多的注意力转移到网络上来,除了购物之外,人们也渐渐地在网络上开始想换个交流。以贴吧为例,它已经成为人们获取信息、发表言论的重要场所。它由贴吧注册用户所发表的大量主题组成。近年来,随着网络的普及完善发展,网上的贴吧也越来越火,因此建设一个好的贴吧显得越来越有必要了。

贴吧的全称是电子布告系统,起初它还只是个公布信息的一种工具,但是随着技术的不断发展,现在的贴吧最终发展成一个信息整合、思想交流、资源共享的电子互动平台。它可以提供给注册用户一个平台,用户可以通过网路的接入,登录贴吧,在这个平台上发表文章、阅读文章、回复文章等等。这次的系统开发详细表明了贴吧系统的设计思路,并对各部分设计进行了详尽的分析,最终给出了一个完整的设计方案并对其进行了实现,以便在投入实际应用后系统可以更加稳定可靠的工作。系统开发主要包括后台数据库的建立、维护以及前端应用程序的开发两个方面,真正实现信息资源的共享。

本系统以java为开发语言,在web环境下,基于B/S三层结构模式,以myeclipse 为开发工具结合开发的贴吧系统。这个系统具有伸缩性好,扩展性强,能兼容、易维护、界面美观,功能实用的功能。通过本系统,可以让人们实现实时在线交流,真正做到信息资料的共享,也可以积极而及时地参与讨论,在了解他人观点意见的同时也可以发表自己的看法。

关键词:贴吧系统;B/S结构;sqlserver

The design and implementation of Post Bar system

Abstract

With the rapid development of economy, network has penetrated into every field of life and work of people, people pay more and more attention to using the network fast and accurate to complete their work, the twenty-first Century is the era of network. People pay more attention to the Internet, in addition to shopping, people also gradually began to change in the network communication. In the case of Postbar, it has become an important place for people to obtain information, speech. It consists of the forum registered user sends a lot of theme. In recent years, with the development of Internet, online PostBar is becoming more and more popular, so the construction of a good postbar is becoming more and more important.

The full name of the forum is the electronic notice system, at first it was just released a tool of information, but with the development of technology, now the forum eventually develop into an information integration, resource sharing, exchange ideas of electronic interactive platform. It can provide users a platform, network users can access, login to the forum, published articles, read, reply to the article and so on in this platform. The development of the system with that design ideas of the system, and design the various parts of a detailed analysis, and finally a complete design scheme is given and the realization of them, so that in practice the system can be more stable and reliable work. The system development mainly includes two aspects the establishment, maintenance of the background database and front-end application development, realize the sharing of information resources.

This system is developed by java language, in the web environment, B/S three layer structure model based on the postbar forum system, combined with the development of a tool for the development of myeclipse. This system has good flexibility, expansibility, compatibility, easy maintenance, the interface is beautiful, functional and practical function. Through this system, people can realize real-time online communication, truly sharing of information, can also actively and timely to participate in the discussion, in understanding others opinion also can express their views.

Keywords: postbar system;B/S structure;sqlserver

目录

摘要 (i)

Abstract (ii)

1 绪论 (1)

1.1 系统开发背景 (1)

1.2 系统开发意义 (1)

1.3 组织安排 (1)

1.3.1 任务目标 (1)

1.3.2 运行环境 (1)

2 可行性及技术简介 (3)

2.1 Jsp简介 (3)

2.2 B/S结构工作模式图 (4)

2.3 Myeclipse简介 (4)

2.4 SQL Server简介 (4)

2.5 可行性分析 (5)

2.5.1 技术可行性 (5)

2.5.2 经济可行性 (5)

2.5.3 操作可行性 (5)

2.6 需求分析 (6)

3 可行性及技术简介 (7)

3.1 系统概要设计 (7)

3.2 系统功能模块设计 (7)

3.3 数据库设计 (8)

3.3.1 系统实体图 (8)

3.3.2 数据库表 (10)

4 系统实现 (12)

4.1 系统概述 (12)

4.2 系统页面实现 (12)

4.2.1 系统首页 (12)

4.2.2 用户注册页面 (13)

4.2.3 管理员发布帖子页面 (16)

4.2.4 类别管理页面 (17)

4.2.5 贴吧管理页面 (18)

4.2.6 用户管理页面 (20)

4.2.7 用户精华帖子页面 (21)

4.2.8 搜索帖子页面 (22)

5 系统测试 (22)

5.1 正确认识软件测试 (23)

5.2 软件测试的目的 (23)

5.3 系统测试的方法 (23)

结论 (25)

参考文献 (26)

致谢 (27)

外文资料 (28)

中文翻译 (33)

1 绪论

1.1 系统开发背景

随着信息化社会带给我们的冲击越来越强烈,信息化已经深入到我们生活的方方面面,同时,在信息时代强烈的冲击下,人们已经不再满足于上网只是查看一些资料或是网购,而是更加注重于信息的交流与传递。不同国家、不同地方的人可以像面对面一样的交流、讨论,这对大多数人来说是极具诱惑力的。

贴吧是在1992年底随着国际互联网的开始流行而迅速发展起来的。互联网的产生使得以前只能在本地访问的贴吧可以被全世界随意访问,这大大加大了人们对它的兴趣。在贴吧上大家可以对一个共同感兴趣的问题进行讨论,自由地发表自己的意见与观点,并且能直接与其他的人进行沟通。从新闻、学习到娱乐、体育,从文字到视频、音频,贴吧汇集了各种形式、内容的网络资源。同时它具有不同的用户类型,权限不同。贴吧正以一种全新的姿态来到这个新的世纪,它以文字为主要的沟通方式,为网友提供了不受地理位置限制的交流空间。它已经成为人与人之间交流的一种形式,它提供一个相互交流、学习的互动平台,能够将分散的信息和分散的智慧都集中调动起来,能使得复杂的事情简单化。

如今,贴吧可以说是一种极为常见的交流互动服务系统。人们不仅可以在此发表自己的见解,相互交流技术、经验以及畅谈人生感悟,同时也可以作为用户与商家交流的渠道,商家可以开设贴吧作为售后服务信息收集和反馈中心,在此回答用户提出的问题式发布消息。

1.2 系统开发意义

随着网络的普及,现在很多人都能够上网,所以基于网络的贴吧也是各种信息资源组合的场所,可以很好的为学习者、粉丝、志同道合的人提供自由的交流平台。贴吧参与者可以围绕某个关键词或者话题,通过发表、回复话题的方式进行互动,形成了一种以关键词为中心的交流方式。同时贴吧的内容也是越来越丰富,花样繁多,贴吧也由此深受广大网民的喜爱,因此不少商业网站对贴吧也重视起来,提供与网民交流的平台,同时在线技术支持也在贴吧中开展起来。同样地,也无从知道交谈的对方的真实社会身份。这样,参与贴吧的人可以处于一个平等的位置与其他人进行任何话题的交流。这对于现有的所有其他交流方式来说是不可能的。

1.3 组织安排

本文首先介绍了贴吧系统的设计与实现的研究背景和现实意义,研究意义和研究内容。然后介绍了系统开发所用到的相关技术,阐述了Java的功能特点和系统等相关的理论。接着阐述了系统的需求分析和可行性,从软件工程的角度分析本系统的各个部分。然后介绍了本系统的各功能模块的功能设计、实体图的设计、数据库设计等。最后总结本系统的结论、现存问题以及对将来的展望。

1.3.1 任务目标

本系统主要实现以下功能:

1.贴吧实现用户的注册、发表言论、回复、搜索。

2.贴吧系统可以查看自己的帖子、查看他人的回复、删除信息。

3.在后台实现查看贴吧类别、添加类别、修改用户等。

1.3.2 运行环境

操作系统:WindowsXP/win7

数据库:sqlserver

开发环境:jdk1.6 MyEclipse9.0 服务器:Tomcat6.0

2 可行性及技术简介

2.1 Jsp简介

JSP,即Java Server Page,Java应用页面程序。作为开发动态页面的一种技术,JSP是当前大中型企业应用软件首选的开发路线之一。而且JSP是J2EE的重要组成部分,开发人员可以在JSP中获得J2EE的众多优点。学习JSP也是J2EE入门的必经之路。

JSP既依赖于也得益于J2EE技术。“一次编写,随处运行”的可移植性使用户可以专注于JSP的开发,而无须考虑系统层面的问题;Java的开放特性使市面上涌现出了众多的Web框架可供采纳;面向对象的设计,为更加轻松地构筑安全稳定的Web在线系统提供了基础保障。

JSP秉承了J2EE高贵的血统,却又带着平易近人的个性。JSP本质上是一个Java 程序,具备Java语言一切无与伦比的优势。相比依赖于VBScript代码的ASP,以及依赖于Perl语言的PHP等其他Web编程语言,JSP有着严格的Java语法支持,可以和Java Bean无缝整合。

ASP采用了解析执行的机制,而JSP则是先编译后执行。因此,在第一次访问时JSP 比ASP要慢,但是JSP的执行则比每次都解析执行的ASP快若干个数量级。微软随后推出了https://www.doczj.com/doc/671816589.html,,号称提供了丰富的面向对象类库,引入中间语言的概念来支持多种语言,完整地集成了XML及Web Service的支持,利用代码托管机制避免危害服务器,并期盼以此代替ASP。事实上https://www.doczj.com/doc/671816589.html,的框架设计与J2EE框架十分类似,虽然弥补了ASP之前的缺陷,但是,其对于Windows平台的依赖性以及.NET本身的封闭性却依然存在。尽管现在有Mono计划将所有的开发转移到Linux,但是由于各种原因,Mono有着众多的制肘,并不被业界看好。当然,对于Windows环境下的中小型应用程序,https://www.doczj.com/doc/671816589.html,确实是不错的选择。

JSP是线程高度并行的,可以充分利用硬件资源。另外,Java语言与平台无关,开发者可以将JSP部署在几乎任何操作系统上,UNIX系统可以为JSP提供稳定可靠的安全运行环境;利用集群技术还可以把多台主机联合起来服务于JSP应用程序。因此,JSP 对于高可靠性、高性能要求的企业级应用系统有较强的吸引力。

从开发者的角度考虑,JSP是开发Web应用程序的首选。JSP支持JavaBean组件,也就获得了众多Java厂商的有力支持,开发者可以利用JavaBean来完成所有Java能实现的功能,如数据库连接池、图形绘制、文件IO操作、XML解析、WebService调用与发布等。

Java的开放性也使系统框架如雨后春笋般涌现, Tapstry,Velocity,Hibernate等开源框架为Web应用开发者简化了开发流程,提高了代码质量,从而降低了学习门槛和开发成本。JSP遵循J2EE规范所采用的分层结构也使得代码容易组织维护,各个独立的层次分别针对特定的编程领域,在某个领域发生变化的时候,只需要在对应层次进行针对性的修改,而不会影响到其他层次的代码。

而相对于Servlet这种Java类,JSP又有着特定的优势。从前面的例子可以看出,要完成一个简单JSP页面具有的功能,需要编写大量的Servlet代码,而且,从代码上根本看不出来生成的HTML文档结构。另外,JSP中双引号等特殊字符,在Servlet中都需要进行转义处理,又进一步降低了程序的可读性。Servlet不能有效地利用原型页面。事实上,在JSP中,还可以使用标签等特性,进一步将JSP中的 Java代码导致的不利因素削弱。

总之,使用JSP可以降低开发门槛,提高程序可读性,开发出高性能的跨平台企业级软件。

2.2B/S结构工作模式图

在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。而其余如数据请求、加工、结果返回以及动态网页生成、对数据库的访问和应用程序的执行等工作全部由Web Server完成。

B/S工作模式图如图2.1所示:

图2.1 B/S工作模式图

2.3Myeclipse简介

MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持 ,JSP,CSS,Javascript,Hibernate 等。

MyEclipse 是一个十分优秀的用于开发Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse目前支持Java Servlet,AJAX, JSP, JSF, Struts,Spring, Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse是几乎囊括了目前所有主流开源产品的专属eclipse开发工具。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。

简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse5.5以前版本需先安装Eclipse。MyEclipse5.5以后版本安装时不需安装Eclipse。

2.4SQL Server简介

SQL Server 是美国Microsoft公司开发的一个关系型数据库管理系统,是目前世界上最著名的关系数据库管理系统之一。Microsoft SQL Server在性能和可扩展方面确立了世界领先的地位,是一套完全的数据库和数据分析解决方案,使用户可以快速创建下一代的可扩展电子商务和数据仓库解决方案。Microsoft SQL Server 在数据库服务器自动调整和自动管理技术方面在数据库领域中处于领先地位,使客户可以集中精力处理商业战略上的问题,而不是去细微调整数据库服务器的各项参数。SQL Server 的主要功能:

(1)数据库管理功能

作为数据库管理系统,SQL Server 自然应该具有数据库管理功能。Microsoft SQL Server的数据库由包含数据的表集合和其他对象(如视图、索引、存储过程和触发器)组成,目的是为执行与数据有关的活动提供支持。存储在数据库中的数据通常与特定的主题或过程相关。

(2)数据仓库功能

SQL Server 2005提供了一套全新的综合分析服务系统。分析服务为商业活动提供了集成的OLAP服务和数据挖掘功能。OLAP可以通过多维存储技术对大型、复杂数据集执行快速、高级的分析工作。数据挖掘功能能够揭示出隐藏在大量数据中的倾向及趋势。SQL Server针对包括集成数据挖掘、OLAP服务、安全性服务及通过Internet对多维数据集进行访问和链接分析提供新的数据仓库功能。

(3)网络贴吧

SQL Server 不仅提供网络贴吧所需的可伸缩性与可扩展性之外,还提供了丰富的数据库编程能力,以确保系统的协同工作和灵活性。SQL Server2005 不仅支持集中化数据库管理功能,而且还最大程度地实现了管理与优化工作的自动化,从而,减轻了有关管理人员的负担。

(4)完备的 Web 功能

SQL Server2005允许通过HTTP协议,在 Web上进行高性能、基于标准的安全访问。基于Web的客户端拥有访问关系型数据存储和访问分析服务的能力。

(5)分布式数据复制功能

分布式数据复制功能可以将一个数据库中的数据复制到通过局域网、广域网或Internet 网络连接的不同地点服务器或同一服务器中的不同数据库中,并能够自动保持这些数据同步,使各个数据库中具有相同的数据。

2.5可行性分析

可行性分析是在全面调查的基础上,针对系统的开发是否具备必要性和可能性,对系统的开发从运行、经济、技术的方面进行分析和研究,以避免投资失误,保证新系统开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。这部分将从以下三个方面进行研究:技术可行性、经济可行性、操作可行性。2.5.1 技术可行性

技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。本系统采用三层结构,用sqlserver数据库作为后台数据库,安装和使用简单易学,方便操作;用的是JSP开发语言,调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。软件方面:由于目前单机模式相对发展成熟,故软件的开发平台成熟可行,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。

2.5.2 经济可行性

经济可行性是指开发并应用此系统,应对其投资成本和未来可能取得的经济利益,权衡其得失。随着计算机软件和硬件技术的飞速发展,计算机软、硬件价格不断下降,设计本系统所投入的资金下降。同时与一些企业发布、获取信息所节省的价值相比,系统的收益还是很大的。开发贴吧系统在经济上是完全可行的。

2.5.3 操作可行性

微软Windows操作平台具有良好的操作性,贴吧系统服务器可以放在UNIX平台,运行也可以基于Windows操作平台。本系统具有友善的用户界面、良好的安全性设置和详细的操作说明,适合各类人群使用。

2.6需求分析

需求分析是在软件开发的初始阶段进行,它对于整个软件开发过程以及软件开发后质量是举足轻重的。随着软件系统复杂性的提高及规模的扩大,需求分析在软件开发中所处的地位愈加突出。所谓需求,是指用户对目标软件系统在功能、行为、性能设计约束等方面的要求。在需求分析的研究中,系统开发人员必须对用户的需求进行调查和分析,结合实际环境的特征,正确定义目标软件的特征。因此,需求分析至关重要。

贴吧系统设计实现以下功能:

(1)管理员功能:查看用户发布的帖子、回复的内容或是删除帖子,同时可以添加贴吧类别、修改或是删除类别,添加版面、修改或是删除版面,查看、修改或是删除用户。

(2)普通用户功能:游客注册后成为普通用户,可以查看他人发布的帖子或是回复帖子,也可以自己发布帖子或是删除帖子。

(3)游客功能:游客只能查看他人发布的帖子,无法自己发布帖子或是对其他帖子进行回复,如果想实现以上功能必须先注册。

3 可行性及技术简介

3.1 系统概要设计

在概要设计中主要确定了系统的实现手段,定义了解决方案的边界和主要技术结构,给出了后续工作继续实施的所有技术要点,是开发人员在下一阶段进行详细设计的指导性文件,也是考核系统总体质量的重要技术文档。

本次的系统开发完全是一切为用户着想,界面要美观大方,操作尽量简单明了,使其学校对学生贴吧的管理实现规范化、学科化。

本系统是应用于整个贴吧的管理,所以对于实际中不同身份的用户,在本系统中都有对应其角色的不同操作页面,即不同的用户有不同的功能,并且切互有联系。体现了该系统的完整性。

3.2系统功能模块设计

在结构化系统设计中,模块一般都是按功能划分的,通常称为功能模块。合理的功能模块的划分能够极大限度地减少重复劳动、提高开发工作的效率并增大系统的可维护性。本系统分为3个用户权限即管理员、普通用户、游客。下面分别介绍各个用户的功能。

(一)管理员功能:

(1)我的帖子:管理员在此模块可以发布帖子,查看其他用户给予的回复,回复的人数,或是删除帖子。如果页面过多,可以直接选择跳转到其他页面。

(2)精华帖子:管理员在此可以查看系统中的精华帖子,并作出回复或是删除帖子。

(3)搜索功能:管理员可以通过帖子标题、帖子内容、发布者或是关键字进行模糊查询或是精确查询。

(4)类别管理:管理员在后台可以添加的类别,如贴吧的名称、贴吧介绍,添加后可以查看类别列表,并作出修改或是删除。

(5)版面管理:管理员可以添加版面,如版面的所属类别、名称、版主、版面公告等信息,添加可以查看版面列表,并作出修改或是删除。

(6)用户管理:管理员可以通过选择不同的用户类型进行查看不同的用户信息,并作出修改或是删除的操作。

具体功能模块图如图3.1所示:

图3.1 管理员功能模块图

(二)普通用户功能:

(1)注册功能:游客需要注册才能成为普通用户,用户登录后可以在首页中看到其他用户的帖子,并可以做出回复进行交流,也可以自己发帖,查看回复或是删除自己的帖子。

(2)搜索功能:用户可以通过帖子标题、帖子内容、发布者或是关键字进行模糊

查询或是精确查询。

(3)我的帖子:用户在此模块可以发布帖子,查看其他用户给予的回复,回复的人数,或是删除帖子。如果页面过多,可以直接选择跳转到其他页面。

(4)精华帖子:用户在此可以查看系统中的精华帖子,并作出回复,在此模块中用户只能删除自己发布的帖子。

普通用户模块的功能图如图3.2所示:

图3.2 用户功能模块图

(三)游客功能介绍:

游客只能查看其他人发布的帖子,无法发布、回复或是删除帖子,要想成为普通用户必须通过注册。

3.3数据库设计

3.3.1 系统实体图

实体图是识别功能模型与数据模型间关联关系的,在主题数据库的抽取和规范化的过程中,采用的是简化的实体图表示方法,从而避免过繁过细的实体图表示影响规划的直观和可用性。构成实体图的基本要素是实体型、属性以及联系,其表示方法为:实体型:用矩形表示,矩形框内写明实体名;属性:用椭圆形表示,并用无向边将其与相应的实体连接起来;联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边的旁边标上联系的类型。

针对本系统特点,数据库设计采用的各个组成部分的数据项和数据结构如下所示:(1)tb_bbs 帖子实体图

图3.3 帖子实体图

(2)tb_bbsAnswer 回复实体图

图3.4 回复表实体图(3)tb_board 贴吧实体图

图3.5 贴吧实体图(4)tb_class 分类实体图

图3.6 分类实体图

(5)tb_user 用户实体图

图3.7 用户实体图

3.3.2 数据库表

表的设计是这次设计的一个核心内容。根据前面对网站各个权限用户模块的功能分析和对数据库中实体关系的设计,可以看到网站中所用到的数据信息基本包括:帖子信息表、回复表、贴吧表、分类表等。

设计原则如下:

(1)进行规范化设计,尽可能地减少数据冗余和重复。

(2)结构设计与操作设计相结合。

(3)数据结构具有相对的稳定性。

基于以上三条设计原则,本系统中关于数据库表结构设计如下:

(1)tb_bbs 帖子表

帖子表主要存储帖子id、贴吧id、帖子标题、内容、发布者、发表时间、表情等信息,具体如表3.1所示:

表3.1 帖子表

(2)

回复表主要存储回复id、回复主题、回复内容、回复者、回复时间、表情等信息,具体如表3.2所示:

表3.2 回复表

(3)

贴吧表主要存储贴吧id、分类id、贴吧名称、吧主、贴吧公告等信息,具体如表3.3所示:

(4)

分类表主要存分类id、分类名称、贴吧介绍信息等信息,具体如表3.4所示:

表3.4 分类表

(5)

用户表主要存储用户id、用户名、密码、用户头像、用户性别、联系电话、QQ、电子邮件、来自、权限等信息,具体如表3.5所示:

表3.5 用户表

以上是系统主要实体图和数据库表的介绍。

4 系统实现

4.1 系统概述

人机交互子系统是用户所能直接看到的,是给用户的第一感觉,他现在已经成为判断一个软件好坏的重要标准。在设计人机交互子系统的时候,必须遵循以下原则:设计出一个易用、低错、适应、美观的界面,能够使用户自如的完成操作,而用户不需要有较高的计算机专业知识和技能。前期对项目的大量细致的分析,以及对用户群的调查,充分考虑实际操作的各项细节,使得普通用户在不需要查看用户手册的情况下亦能很自如的操作系统,并对操作流程有清晰的了解。

4.2 系统页面实现

本系统有三个用户权限,分别是管理员、普通用户和游客,三个用户功能相辅相成,达成一个完美的系统,主要功能如下:

(一)管理员功能:

(1)我的帖子:管理员在此模块可以发布帖子,查看其他用户给予的回复,回复的人数,或是删除帖子。如果页面过多,可以直接选择跳转到其他页面。

(2)精华帖子:管理员在此可以查看系统中的精华帖子,并作出回复或是删除帖子。

(3)搜索功能:管理员可以通过帖子标题、帖子内容、发布者或是关键字进行模糊查询或是精确查询。

(4)类别管理:管理员在后台可以添加贴吧的类别,如贴吧的名称、贴吧介绍,添加后可以查看类别列表,并作出修改或是删除。

(5)贴吧管理:管理员可以添加贴吧,如贴吧的所属类别、名称、吧主、贴吧公告等信息,添加可以查看贴吧列表,并作出修改或是删除。

(6)用户管理:管理员可以通过选择不同的用户类型进行查看不同的用户信息,并作出修改或是删除的操作。

(二)普通用户功能:

(1)注册功能:游客需要注册才能成为普通用户,用户登录后可以在首页中看到其他用户的帖子,并可以做出回复进行交流,也可以自己发帖,查看回复或是删除自己的帖子。

(2)搜索功能:用户可以通过帖子标题、帖子内容、发布者或是关键字进行模糊查询或是精确查询。

(3)我的帖子:用户在此模块可以发布帖子,查看其他用户给予的回复,回复的人数,或是删除帖子。如果页面过多,可以直接选择跳转到其他页面。

(4)精华帖子:用户在此可以查看系统中的精华帖子,并作出回复,在此模块中用户只能删除自己发布的帖子。

(三)游客功能介绍:

游客只能查看其他人发布的帖子,无法发布、回复或是删除帖子,要想成为普通用户必须通过注册。

4.2.1 系统首页

在系统首页有登录按钮,在未登录的时候只能浏览其他人发布的帖子,无法操作任何功能,游客也在首页进行注册,如图4.1所示:

图4.1 系统首页

主要代码:

/** 设置分页导航栏信息 */

public void setPageLink(String gowhich){

if(gowhich==null)

gowhich="";

if(gowhich.indexOf("?")>=0)

gowhich+="&";

else

gowhich+="?";

if(AllP>1){

//AllP是已定义的变量,代表页面总数

PageLink="

";

if(CurrentP>1){

//CurrentP是已定义的变量,代表当前页面数字

PageLink+="【首页】 ";

PageLink+="【上一页】

 ";

}

if(CurrentP

PageLink+="【下一页】

 ";

PageLink+="【尾页】";

}

PageLink+="

";

}

}

4.2.2 用户注册页面

用户首次登录前需要先注册,点击注册按钮,填写用户名、密码、性别、联系电话、QQ、邮件、来自哪里即注册成为本站的普通用户,具体如图4.2所示:

图4.2 注册页面

主要代码:

/** 用户注册 */

public ActionForward userReg(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response){

ActionMessages messages=new ActionMessages();

HttpSession session=request.getSession();//建立会话

session.setAttribute("mainPage","../pages/userReg.jsp");

String validate=request.getParameter("validate");

if(validate==null||validate.equals("")||!validate.equals("yes")){

//若果validate对象不存在,或值为空,或validate的值不为yes

return mapping.findForward("result");

}

else{

UserForm regForm=(UserForm)form;

String pass1=regForm.getUserPassword();

String pass2=regForm.getAginPassword();

//若两次密码输入不一致,则在屏幕上显示输出“连词输入的密码不一致”

if(!pass1.equals(pass2)){

System.out.println("两次输入的密码不一致!");

messages.add("userPassword",new ActionMessage("https://www.doczj.com/doc/671816589.html,er.reg.pass.noEquals"));

saveErrors(request,messages);

}

else{

String userName=Change.HTMLChange(regForm.getUserName());

Object[] params=null;

//检查自定义的用户名是否已经被使用,以保证用户名唯一

String sql="";

sql="select * from tb_user where user_name=?";

params=new Object[1];

params[0]=userName;

OpDB myOp=new OpDB();

UserForm user=myOp.OpUserSingleShow(sql, params);

if(user!=null){

System.out.println(userName+" 用户已经存在!");

messages.add("userOpR",new ActionMessage("https://www.doczj.com/doc/671816589.html,er.reg.exist",userName));

}

else{

String userPassword=Change.HTMLChange(regForm.getUserPassword());

String userFace=regForm.getUserFace();

String userSex=regForm.getUserSex();

String userPhone=regForm.getUserPhone();

String userOICQ=regForm.getUserOICQ();

String userEmail=regForm.getUserEmail();

String userFrom=Change.HTMLChange(regForm.getUserFrom());

String userAble="0";

sql="insert into tb_user values(?,?,?,?,?,?,?,?,?)";

params=new Object[9];

params[0]=userName;

params[1]=userPassword;

params[2]=userFace;

params[3]=userSex;

params[4]=userPhone;

params[5]=userOICQ;

params[6]=userEmail;

params[7]=userFrom;

params[8]=userAble;

//将新用户信息插入数据库用户表

int i=myOp.OpUpdate(sql, params);

if(i<=0){

System.out.println("用户注册失败!");

messages.add("userOpR",new ActionMessage("https://www.doczj.com/doc/671816589.html,er.reg.E"));

}

else{

System.out.println("用户注册成功!");

regForm.clear();

messages.add("userOpR",new ActionMessage("https://www.doczj.com/doc/671816589.html,er.reg.S"));

}

saveErrors(request,messages);

}

}

return mapping.findForward("result"); //完成注册后,跳转到result里设置的页面}

}

相关主题
文本预览
相关文档 最新文档