




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于Structs的在线论坛摘要论坛,从20世纪70年代诞生开始到今天,在不断地发展和演变,有些功能在发展过程中逐渐分离出去,随着WEB服务的广泛应用,使得论坛逐渐注重其信息交流的功能,也就是现在大家所理解的BBS。BBS,就是一个实时交互的信息交流平台,在人们日常生活中得到了广泛的使用,如百度贴吧、豆瓣、天涯等等,通过论坛,人们可以对自己感兴趣的问题发表自己的看法,了解他人的想法,进行实时的交互和讨论,而不是像看电视、听广播一样,无法表达自己的看法、观点,也无法进行交互。人们还可以发起一些问题或寻求一些问题的答案。实现前台显示和后台管理两部分工作。普通用户需要通过注册和登录进入该论坛系统才可以浏览和回复帖子以及使用其他附属功能。管理员的创立是用来管理和规划整个论坛系统中的资源和用户,使整个论坛井井有条,保证了访客们的正常访问。管理员除具备普通用户的所有功能外,还可以对用户、帖子、公告等进行管理。除了以上基本功能以外,还着手添加了诸如,导航,版块和按关键字搜索等功能使整个系统更加完善和人性化,方便人们的使用。本系统主要是通过JDBC技术连接sqlserver数据库,并且运用JSP动态页面技术、Servlet和JavaBean来完成的,同时采用MVC模式来设计整个系统,也提升了代码的可读性。关键词BBS;Structs2;JSP;iTheonlineforumbasedonStructsAbstractForum,fromthenineteenseventiesborntotoday,inthecontinuousdevelopmentandevolution,somefeaturesintheprocessofdevelopmentgraduallyseparated,withtheWEBservicesawiderangeofapplications,makestheforumgraduallypayattentiontotheinformationexchangefunction,whichisnowweunderstandBBS.BBS,isareal-timeinteractiveplatformfortheexchangeofinformation,inthepeopledailylifehasbeenwidelyused,suchasBaiduPostBar,watercress,skylineandsoon,throughtheforum,peoplecanbeinterestedtooneselftheissuetoexpresstheirviews,understandtheideasofothers,real-timeinteractionanddiscussion,andnotlooklikeTV,listentotheradio,unabletoexpresstheirviews,opinions,alsocannotinteract.Peoplecanalsoinitiatedsomeproblemsortoseekanswerstoquestions.Realizationofdisplayandbackstagemanagementparttwowork.Ordinaryusersneedtoregisterandlogintotheforumsystemcanbrowseandreplytomessagesandtheuseofotherauxiliaryfunctions.Theadministratorwascreatedformanagementandplanningthewholeforumsystemresourceanduser,sothatthewholeforumtobearrangedingoodorder,guaranteethenormalaccessforvisitors.Administratorinadditiontoordinaryusersallthefeatures,butalsoontheuser,post,noticesandothermanagement.Inadditiontotheabovebasicfunction,alsobegintoaddsuchas,navigation,sectionandbykeywordsearchandmakethewholesystemmorecomprehensiveanduser-friendly,convenientforpeopletouse.ThissystemmainlythroughtheJDBCtechnologytoconnectSQLSERVERdatabase,andtheuseofJSPdynamicpagetechnology,ServletandJavaBeantocomplete,atthesametimeusingMVCmodetodesignthewholesystem,butalsotoenhancethereadabilityofthecode.Keywords:BBS;Structs2;JSP;0目录摘要.iAbstract.ii1概述.11.1系统开发工具.11.1.1MyEclipseTomcat6.0服务器.21.1.3数据库及其工具.21.2关键技术.21.2.1JSP动态网页技术.21.2.2Servlet服务器程序.32系统需求分析.42.1功能需求.42.2性能需求.42.3开发环境.42.3.1硬件环境.42.3.2软件环境.53总体设计.63.1功能结构设计.63.2功能模块介绍.64数据库设计.104.1数据库的安装.104.2数据库概念结构设计.114.3数据库逻辑结构设计.124.4数据库的连接.145功能模块的设计与实现.165.1主页面.165.2用户登录注册模块设计.165.2.1用户登录.165.3帖子相关界面.185.3.1发新帖子.185.3.3帖子列表.225.4新闻模块.226后台管理模块的设计与实现.256.1后台管理.256.1.1管理员登陆模块.256.2论坛管理.256.2.1添加论坛分类.266.2.2删除论坛分类.266.2.3编辑论坛.266.3用户管理.266.4新闻管理.281结束语.29参考文献.30致谢.31外文原文.32中文翻译.3901概述随着当今社会信息化脚步的加快,人与人之间传递信息的方式也开始变得五花八门起来。由于书信往往受制于距离而无法进行实时的信息交换,又顾虑在使用电子通讯的过程中所产生的资费和开销,所以,人们便不再拘泥于传统的形式上的交流,一种更便捷,更经济,更快速的方式“网络通信”开始逐渐地被大众所接受。从最开始单一的网页聊天室,到后来的MSN和OICQ等即时通讯软件再到今天的个人空间,博客和微博等载体,网络已经不知不觉地成为了人们彼此沟通感情,交流信息的最主要途径。说道“网络通信”就不得不提到“论坛”这个有着较长生命周期的信息交流平台。BBS论坛雏形的出现最早可以追溯到1991年底,起初的论坛之所以被命名为“BulletinBoardSystem”(电子布告栏系统)是因为它只能对外发布公告,无法进行交互使用。然而近些年以来,由于网络技术的发展,论坛的各项功能在不同程度上得到了丰富的扩充。现在的论坛几乎涵盖了人们生活的各个方面,每个人都可以很容易地找到自己感兴趣的专题性论坛,各类综合性门户网站也都青睐于开设专属论坛,以促进与网友之间的交流,使网站的内容变得更加丰富。本论坛系统就致力于开创一个综合性的信息资源交流社区。不但具备其他论坛普遍拥有的诸如,注册、登陆、发帖、回复等各项基本功能,还把资源资讯划分了多个分类。使得用户可以计入感兴趣的分区进行浏览交互,这使得整个论坛能够以较高的质量满足各个年龄段以及各个文化阶层的群众对网络交互平台的需求,为净化网络环境,提升网民文化素质出一份力。然而机遇和困难并存,在技术层面上如何把大量的资源文件显示在动态页面上是首先要解决的问题,需要注意的是代码要尽量简洁合理,算法上要避免逻辑错误的出现,特别是在实现“回复评论”功能时,要想清楚,弄明白,以方便后期测试和用户使用。所以首先要从基础做起,在扎实地实现各项基本功能的基础上进行实践和创新,争取早日达到预期的目标。1.1系统开发工具本小节主要介绍了编写代码过程中所用到的开发工具。1.1.1MyEclipse10MyEclipse,是一款非常优秀的用于开发Java,J2EE项目的Eclipse插件集合,MyEclipse不但具有十分强大的开发功能,而且所支持的平台也非常广泛。MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse),是对Eclipse的扩展,它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试和发布功能,完整地支持HTML,JSP,Javascript,SQL等。利用它我们可以极大地提高在数据库操作以及J2EE项目的开发、发布方面的工作效率。在功能结构上,MyEclipse可以被分为几种类型,如J2EE项目部署、J2EE模型、连接应用程序服务器工具、WEB开发工具、EJB开发工具、数据库服务等。每种不同的功能,Eclipse都有其相应的功能组件,并可以通过一系列的插件来实现它们。1MyEclipse这种结构化的功能模式,使得用户可以独立操作任何的模块,并不影响其他的模块,方便对任意目标模块进行的扩展和升级。通俗地说,MyEclipse实际上是Eclipse的一种插件,也是一个功能强大的J2EE集成开发环境,它支持代码的编写、配置、测试以及纠错。需要强调的是,MyEclipse6.0以前版本需要预先安装Eclipse才可以正常使用,而在6.0以后的版本则不需要这么做。1.1.2Tomcat6.0服务器Tomcat在严格意义上讲并不是一个真正的应用服务器,它仅仅是一个可以支持运行JSP/Servlet的Web容器,只不过它扩展了一些应用服务器的功能。Tomcat是Apache软件基金会(ApacheSoftwareFoundation)下Jakarta项目中的一个核心子项目,由Apache、Sun等公司同开发而成。由于有了Sun的加入与支持,最新的JSP和Servlet规范总是能在Tomcat中得以体现。由于Tomcat技术先进、性能稳定,而且又是免费的,因此深受Java开发者们的欢迎并得到了多家软件开发商的认可,成为目前较为主流的应用服务器,被广泛地应用在中小规模的Web项目中。1.1.3数据库及其工具MicrosoftSQLServer2005是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。MicrosoftSQLServer2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。1.2关键技术1.2.1JSP动态网页技术JSP是JavaServerPages(Java服务器系统页面)的缩写,它是由Sun公司主导,与多家公司联手建立的一种动态网页技术标准。JSP技术有些类似于ASP技术,在动态网页的创建中起着强大而且特殊的作用,人们常用“HTML+Java=JSP”这样一种简单易懂的等式来解释JSP。因为JSP是一种实现普通静态HTML和动态HTML混合编码的技术,JSP是Java平台上用于编写包含诸如HTML、DHML、XHTML和XML等含有生成动态内容的Web页面的处理逻辑。JSP功能强大,使用灵活,它可以将网页显示与网页逻辑分离,使网页在与用户交流的同时还能够访问存在于服务端的资源。为创建和显示动态Web页面提供了一个简洁而快速的方法,使得基于Web的项目的开发变得迅捷而容易4。JSP与JavaServlet一样,是在服务器端执行的,用户访问页面时,JSP网页将请求发送给服务器,当服务器接收到请求时,首先执行JSP中的程序段,然后将执行结果连同其中的HTML代码一起返回给客户,因此客户端只要有浏览器就能浏览。JSP页面由HTML代码和嵌入其中的Java代码所组成。插入的Java程序段可以通过操作数据库,更改页面结构来实现数据的动态显示。JavaServlet一般与JSP配合使用来完成一些大型商用的Web应用程序。JSP严格来说是集成技术,继承了Java的多种特点,是以Java为平台的用于构建2动态网页内容的语言。自JSP推出后,大大方便了Java运用于动态网页,且众多大公司都支持JSP技术的服务器,如IBM、Oracle等公司,所以JSP迅速地成为商业应用的服务端页面技术。1.2.2Servlet服务器程序Servlet是一种服务器端的网页技术,纯粹以Java编写,具有独立于平台和协议的特性。是Java为了产生于用户互动的动态网页内容而开发的,用于响应客户请求送与服务器响应。Servlet是位于Web服务器内部的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由包含支持其Java虚拟机的Web服务器进行加载的。Sun公司之所以以JavaServlet为基础,推出JSP,就是因为Javaservlet的优点在于它的执行速度要快于一般的公共网关接口程序。每个用户的请求被激活成一个来自于单个程序的线程,所以无需创建单独的进程,这就意味着服务器端处理请求的系统开销将有明显的降低。当一个用户请求一个JSP页面时,JSP引擎根据JSP页面生成一个Java文件,即一个Servlet。而利用JSP支持JavaBeans这一特点,开发者则可以有效的管理页面的静态部分和动态部分。另外,也可以在一个JSP页面中调用一个Servlet来完成动态数据的处理,而让JSP页面本身处理静态信息,也就是所谓的MVC模式。因此,利用JSP设计一个Web应用可以有两种不同的选择,JSP+javabeans或者JSP+javabeans+servlet。本文研究的BBS论坛系统使用的是后者。32系统需求分析2.1功能需求系统的开发首先需要对系统的功能框架等进行一个根本的分析。首先要掌握系统需要的框架以及系统需要有哪些功能,这些都需要多参考比较成功的BBS论坛学习经验,我对水木社区,新一塌糊涂BBS,大话西游BBS几个知名论坛进行了研究参考,经过对这些知名论坛的研究参考我认为在线论坛用于在互联网上为学生们提供一个信息发布或信息交流的场所。应具备以下功能:前台主要包括用户的登陆,用户的注册,发布主题,回复信息等,为了让有不同目的趋向的用户可以清楚的找到自己感兴趣的主题以及相同兴趣的用户可以更方便的交流我将系统设计成了由多个专区组成的论坛,这样极大的方便了用户,也是界面友好性的一个体现。后台部分包括管理员的登陆,管理员的注销,专区的管理,用户的管理,主题的管理以及回复信息的管理。专区的管理包括对专区版主的设定、撤销,对专区的增加、修改、删除。用户的管理包括对用户的删除、级别的设定和修改。主题及回复信息的管理也包括了常见的修改、删除。对于贴子查看、发表贴子以及回复贴子这类频繁发生的系统操作,要采取适当的技术优化这类数据操作,以提高数据存取效率。通过这些功能极大的方便了用户的发言、查找,同时也将管理员的工作简单化、有效化,使管理员能过更方便的管理和监督论坛,保证了论坛的安全运行。2.2性能需求考虑到论坛系统使用的特殊性需要满足以下要求:(1)时间特性BBS论坛的数据库较小,所以程序在响应时间,数据更新处理时间上性能是比较突出的。由于数据量相对较少,故在数据传输时间和系统运行时间上表现的较让人满意。(2)通用性由于用户的操作系统不尽相同,这就要求考虑各平台之间的异性,而BBS论坛所采用的基于B/S的结构就很好的解决了这个问题,用户端只需要有浏览器就可以使用在线论坛。(3)保密性大部分网站都会注意会员信息的保密性,因此为了保护注册会员的隐私,在线论坛对此也采取了相应的措施,只有注册的用户自己和他添加的好友才能看到他的个人相关信息。42.3开发环境2.3.1硬件环境CPU:InterCorei5M4802.67GHz2.67GH内存:3GB硬盘空间:500GB2.3.2软件环境操作系统:Windows7浏览器:InternetExplorer7、GoogleChorme、搜狗浏览器开发工具:MyEclipse10数据库:SQLServer2005服务器:Tomcat6.053总体设计3.1功能结构设计根据需求分析,将论坛系统分为分为两大模块:前台模块和后台模块。前台功能模块包括3部分:(1)登录模块:用户在前台可以注册、登录;(2)浏览模块:用户可以浏览主题帖列表、查看帖子;(3)发帖回帖模块:用户可以发帖、回帖、编辑自己发布的帖子。后台模块都是与管理员相关的,也包括3部分:(1)论坛设置模块:管理员可以设置论坛参数;(2)管理版块模块:创建、修改和删除版块;(3)管理用户模块:添加、删除和设置权限。BBS论坛的功能结构如图3-1所示。图3-1BBS论坛的功能结构图3.2功能模块介绍论坛系统中有两种用户:注册用户和管理员用户。论坛中的版主权限,划分给管6理员。(1)对于注册用户,在论坛中的行为可以归纳如下行为。注册登录因为论坛的特殊性以及网络的法律薄弱性本系统我采用了无匿名登陆模式,用户想要对页面进行操作则必须想登陆,非登陆用户对页面进行操作,系统将不对其给与运行同时提示用户必须先注册。如图3-2所示。浏览浏览版块列表选择某版块,浏览其下的主题贴列表,查看帖子内容。搜索需要的帖子。这些行为是用户读取论坛的版块及其帖子的相关信息,设计成浏览版块。发帖回帖可以发表新帖子,也可以回复已有的帖子,同时可以编制自己写的帖子内容。这些行为是用户参与论坛讨论,发表自己的见解,设计为发贴回帖模块。如图3-3所示。(2)对于管理员,需要负责整个论坛的正常运转,因此它需要根多的管理功能,可以归纳如下行为。具备注册用户的所有功能,因为管理员也是论坛用户,可以参与论坛中的讨论。注册用户名是否有效从新注册二次密码是否一致主界面验证邮箱是否正确图3-2注册流程图7会员选择专区发布主题选择浏览主题发布回复信息提交图3-3会员操作流程管理帖子管理员对论坛的帖子有监督的权利,好的帖子要奖励,捣乱的帖子要删除,标识精华贴,至顶帖子,转移发错版块的帖子,这些行为都是针对帖子的操作,设计成管理帖子模块。管理版块论坛中的版块,需要管理员进行创建,管理版块信息,这些针对版块的操作,设计成管理版块模块。管理用户用户注册成功后,需要管理员赋予权限,才能使用论坛的相关功能。同时,管理员可以自己添加,删除用户,这些针对用户信息的操作,设计成管理用户模块。如图3-4。(3)对于论坛系统来说,联系各个模块的主线是使用者的权限,用户能使用论坛的哪些功能是由用户权限决定的。论坛的每个功能都与相关的权限对应。例如,注册用户具有浏览帖子,发贴,回帖的权限,那么他就能使用论坛中的浏览,发贴,回帖功能。同一类用户使用的功能模块,是以使用者为中心连接起来的。另外,操作同一类事物的功能模块,也有相关关系的。因此,浏览模块与发帖回帖模块,管理帖子模块关联,是由论坛系统流程决定的。管理版块模块与浏览模块关联,是由帖子与版块的父子关系决定的,帖子依附与版块,先有版块,后有帖子,帖子必须发表在每个版块中。用户管理模块与注册登录模块关联,是由同一类对象用户决定的,注册后获得论坛的身份,成为用户,所以的用户需要接收管理员的管理,用户登录证明自己在论坛中的身份。根据系统的入口不同,可分为前台系统和后台系统。前台包括注册登录模块,浏8览模块,发帖回帖模块,管理帖子模块;后台包括管理用户模块,管理版块模块。图3-4管理员操作流程图94数据库设计4.1数据库的安装数据库我使用了SQLServer2005,安装界面如图4.1所示。图4-1SQL安装界面安装时我们创建一个SQLServer实例。如图4-2所示。图4-2选择界面一切设定好后,安装程序开始向硬盘复制必要的文件,开始正式安装。安装完成后如图4-3所示。10图4-3安装完成4.2数据库概念结构设计根据系统总体设计,BBS论坛网站的实体主要有:管理员实体,用户信息实体,帖子实体,短信息实体。(1)管理员信息实体图如图4-4所示。管理员用户密码权限图4-4管理员信息实体图(2)用户信息实体图如图4-5所示。用户密码头像用户名图4-5用户信息实体图(3)帖子实体图,如图4-6所示。11帖子用户内容所属版块主题图4-6帖子实体图4.3数据库逻辑结构设计通过对系统的需求和功能的分析我将系统的数据结构主要分为四个部分,包括用户信息,专区信息,主题信息以及回复信息。用户信息包括:用户id,用户名,真实姓名,用户密码,密码确认,用户性别,用户联系方式,用户头像,E_mail,联系地址。tb_bbsAnswer用于存放会员留言。tb_bbs用于存放会员发表的帖子信息。tb_user用于存放论坛用户信息。tb_news用于存放新闻。tb_class用于存放论坛类别介绍。Tb_board用于存放版面信息。建立数据库结构如表4.1至表4.5所示。表4.1tb_user字段描述类型空值长度id注册用户int非2user_name用户名varchar是20user_password密码varchar是20user_phone手机号varchar是12uwer_email邮箱varchar是100user_sex性别varchar是2user_face头像varchar是11User_from用户地区varchar是20012表4.2tb_bbs字段描述类型空值长度bbs_id帖子编号int非4bbs_title帖子标题varchar是70bbs_content帖子内容varchar是2000bbs_sendTime发帖时间datetime是8bbs_sender发帖人varchar是20bbs_face发帖人头像varchar是10bbs_opTime置顶时间varchar是8bbs_toGoodTime成为精华时间varchar是8表4.3tb_bbsAnswer字段描述类型空值长度bbsAnswer_id留言编号int否4bbsAnswer_rootid留言者编号int是4bbsAnswer_title回帖标题varchar是70bbsAnswer_content回帖内容varchar是2000bbsAnswer_sender回帖者姓名varchar是20bbsAnswer_sentime留言时间datetime是8bbsAnswer_face留言者头像varchar是50表4.4tb_class字段描述类型空值长度calss_id分区编号int非2class_name分区名称nvarchar是50class_intro分区信息nvarchar是200表4.5tb_border字段描述类型空值长度board_id版块编号int非4board_classId板块编号smalint是2board_name版块名称nvarchar是40board_master斑竹datetime是20board_pcard版块提醒nvarchar是200134.4数据库的连接(1)加载数据库程序根据读取的数据驱动配置字符串drivers,动态加载数据库驱动的程序。首先通过Class.forName()来动态加载,在使用DriverManage数据库驱动管理器来注册该驱动类。publicDB()className=com.microsoft.jdbc.sqlserver.SQLServerDriver;url=jdbc:microsoft:sqlserver:/localhost:1433;databaseName=db_luntan;username=sa;password=sa;tryClass.forName(className);catch(ClassNotFoundExceptione)System.out.println(加载数据库驱动程序失败!);e.printStackTrace();(2)取得数据库连接程序用户编写程序中,如果需要取得数据库连接,只需要调用该函数。publicvoidgetCon()trycon=DriverManager.getConnection(url,username,password);catch(SQLExceptione)System.out.println(获取数据库连接失败!);e.printStackTrace();(3)释放连接用来释放一个连接到数据库连接池pools中的。如果使用完了每个连接,就需要调用该函数将连接关闭。publicvoidclosed()14tryif(pstm!=null)pstm.close();catch(Exceptione)System.out.println(关闭pstm对象失败!);tryif(con!=null)con.close();catch(Exceptione)System.out.println(关闭con对象失败!);155功能模块的设计与实现5.1主页面主页面是论坛的门户,所以主页面的设计好坏直接影响到整个论坛的形象。论坛首页所载的内容有:论坛工具栏,包括登录、注册、发贴排行、帮助、管理员登录、退出;LOGO图标;论坛统计信息;论坛版面列表;论坛版权信息。效果如图5.1所示。5.2用户登录注册模块设计5.2.1用户登录用户进入主页面,若想浏览具体的帖子必须先登录。点击工具栏上“登录”按钮则进入登录页面,效果如图5-1所示。该模块在用户登录要进行用户名和密码的有效性检验,查询用户表,如果该用户存在则让他进入主页面,也就是前面介绍的论坛主页面,如果不能登录成功则给予提示,用户名不存在或者密码错误,回到登录页面以便用户再次输入用户名及密码登录。图5-1用户登录界面登录页面主要代码:publicActionForwardisUserLogin(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)HttpSessionsession=request.getSession();16Objectloginer=session.getAttribute(logoner);if(loginer!=null&(loginerinstanceofUserForm)ActionMessagesmessages=newActionMessages();messages.add(loginR,newActionMessage(luntan.bbs.have.login);saveErrors(request,messages);returnmapping.findForward(FhaveLogin);elsereturnmapping.findForward(noLogin);5.2.2用户注册如果用户是首次反问BBS论坛,还没有注册,可以单击【注册】按钮进入新用户注册界面,先进行用户注册,这是用户进入论坛的一个通道,是任何论坛都不可缺少的部分。效果如图5-2所示。图5-2用户注册界面用户注册页面代码:sql=insertintotb_uservalues(?,?,?,?,?,?,?,?,?);17params=newObject9;params0=userName;params1=userPassword;params2=userFace;params3=userSex;params4=userPhone;params5=userOICQ;params6=userEmail;params7=userFrom;params8=userAble;inti=myOp.OpUpdate(sql,params);if(ijumpBoard=newVector();Listboardlist=(ArrayList)session.getAttribute(class+classId);if(boardlist!=null&boardlist.size()!=0)for(inti=0;iboardlist.size();i+)BoardFormboardSingle=(BoardForm)boardlist.get(i);jumpBoard.add(newLabelValueBean(boardSingle.getBoardName(),boardSingle.getBoardId();if(boardId.equals(boardSingle.getBoardId()20session.setAttribute(boardMaster,boardSingle.getBoardMaster();session.setAttribute(boardPcard,boardSingle.getBoardPcard();session.setAttribute(jumpBoard,jumpBoard);Stringsql=;Objectparams=boardId;OpDBmyOp=newOpDB();myOp.setMark(false);sql=select*fromtb_bbswherebbs_boardID=?andbbs_isTop=1orderbybbs_toTopTimeDESC;Listtopbbslist=myOp.OpBbsListShow(sql,params);session.setAttribute(topbbslist,topbbslist);StringcurrentP=request.getParameter(showpage);if(currentP=null|currentP.equals()currentP=(String)session.getAttribute(currentP);elsesession.setAttribute(currentP,currentP);Stringgowhich=user/listShow.do?method=rootListShow;myOp.setMark(true);myOp.setPageInfo(perR,currentP,gowhich);sql=select*fromtb_bbswherebbs_boardID=?and(bbs_isTop=0orbbs_isGood=1)orderbybbs_opTimeDESC;Listotherbbslist=myOp.OpBbsListShow(sql,params);CreatePagepage=myOp.getPage();session.setAttribute(otherbbslist,otherbbslist);21session.setAttribute(page,page);5.3.3帖子列表帖子是论坛的主要交流内容,是用户网页用户之间交流的必要手段。单击某一论坛分类,则进入帖子列表页面,效果如图5-5所示。图5-5论坛版块页面5.4新闻模块新闻在人们的生活中是必不可少的,是了解世界的必要信息,为了方便用户因此,我在此系统中加入了新闻模块,使用用户在进入本系统浏览时,也可以方便的读取当天要点新闻,了解时事,这样也使得系统功能不再单一,显得过于死板。在功能列表里点击【新闻】,系统列出当天提供的新闻题目列表,点击新闻题目,查看新闻,效果如图5-6所示。图5-6新闻模块页面新闻模块代码:22publicvoidnewsMana(HttpServletRequestreq,HttpServletResponseres)throwsServletException,IOExceptionListnewsList=newArrayList();Stringsql=select*fromtb_newswheredel=no;Objectparams=;DBmydb=newDB();trymydb.doPstm(sql,params);ResultSetrs=mydb.getRs();while(rs.next()Tnewsnews=newTnews();news.setId(rs.getString(id);news.setTitle(rs.getString(title);news.setContent(rs.getString(content);news.setShijian(rs.getString(shijian);news.setDel(rs.getString(del);newsList.add(news);rs.close();catch(Exceptione)e.printStackTrace();mydb.closed();req.setAttribute(newsList,newsList);req.getRequestDispatcher(pages/admin/news/newsMana.jsp).forward(req,res);236后台管理模块的设计与实现后台的设计完全是为了前台服务的,前台主要是论坛帖子的管理,所以后台必须有支持前台帖子发布的论坛管理,用户个人信息的有些设置也是在后台管理的。后台的维护功能主要包括如下:论坛版面管理、更新论坛数据、用户信息管理、论坛页面样式管理,更换新闻。6.1后台管理6.1.1管理员登陆模块管理员的登陆界面和普通的用户的登陆界面为公用,管理员的账号和密码是数据库里默认已经存在的用户名admin,密码admin。管理员登陆后,在系统主页的最下方点击“进入后台”然后进入后台管理界面,左面是功能菜单,包括论坛的管理,帖子的管理,用户的权限管理,和新闻更新管理。6.2论坛管理管理员登录进入后台维护模块,负责新建论坛类型,论坛名称等基本信息,如图6-1所示是管理员首先看到的论坛列表:图6-1后台管理页面24列表页是管理员对论坛进行各种操作的关卡,相当于一个门面,所以要留给用户一些接口以便用户进入到其他页面进行其他各种操作,如新增论坛分类、新增论坛、分类排序修改、删除分类等。6.2.1添加论坛分类论坛分类的维护包括新增、编辑和删除。如图6-2所示是单击【新建论坛分类按钮的部分界面,管理员需要填写分类名,单击【添加】按钮即可添加一个新的论坛分类,相应的数据库论坛分类表里增加一条记录。图6-2论坛分类页面6.2.2删除论坛分类对数据有新增功能,就必然要有删除功能,要删除论坛分类,是通过单击【删除分类】按钮完成删除动作的。6.2.3编辑论坛单击【编辑论坛】按钮后界面与图6.3相同,不同的是修改的界面绑定了原有的数据。修改选定的论坛的信息,数据库论坛表里相应的一条记录信息被修改了。6.3用户管理在这里后台用户模块的设计是对前台人员的维护。前台新建注册的系统用户,在此都可以看到,管理员可以对用户进行权限设置,单击列表中的用户名可以查看用户的基本信息,在删除列选中相应的用户名后可以删除该用户。该模块的功能主要是管理前台系统的基本用户,为了用户信息不产生冗余,影响系统的性能。这给管理员一个进行管理用户的接口。如图6-3所示。25图6-3用户列表用户管理代码:HttpSessionsession=request.getSession();session.setAttribute(backMainPage,./user/userListShow.jsp);StringgetType=request.getParameter(type);if(getType=null|getType.equals()|!getType.equals(show)ListableList=newArrayList();ableList.add(newLabelValueBean(全部,all);ableList.add(newLabelValueBean(管理员,2);ableList.add(newLabelValueBean(版主,1);ableList.add(newLabelValueBean(普通用户,0);session.setAttribute(backListAble,ableList);elseAbleFormableform=(AbleForm)form;Stringable=ableform.getShowAble();if(able=null|able.equals()able=(String)session.getAttribute(userAble);ableform.setShowAble(able);elsesession.setAttribute(userAble,able);Stringsql=;Objectparams=null;if(able.equals(all)sql=select*fromtb_u
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公园永久活动方案
- it人员管理制度
- i期病区管理制度
- 专家智库管理制度
- 专项设备管理制度
- 业主反馈管理制度
- 业主活动管理制度
- 业务岗位管理制度
- 严格个人管理制度
- 幼儿园中班社会教案快乐的动物园
- 处级领导干部进修班结业测试题
- GB/T 1094.11-2022电力变压器第11部分:干式变压器
- GB 15892-2009生活饮用水用聚氯化铝
- 深圳市失业人员停止领取失业保险待遇申请表空表
- 态度决定一切细节决定成败主题班会课件
- 《国际私法》教学全套课件
- 基建项目建设综合管理信息系统建设方案
- 一年级下册音乐教案 (简谱) (演唱)同坐小竹排(7) 湘艺版
- 砂石料加工厂劳务外包服务采购项目
- 列车网络控制技术-复习打印版
- 福建高考名著《红楼梦》填空题+答案
评论
0/150
提交评论