毕业设计(论文)-基于Structs的在线论坛.doc_第1页
毕业设计(论文)-基于Structs的在线论坛.doc_第2页
毕业设计(论文)-基于Structs的在线论坛.doc_第3页
毕业设计(论文)-基于Structs的在线论坛.doc_第4页
毕业设计(论文)-基于Structs的在线论坛.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

基于Structs的在线论坛摘 要论坛,从20世纪70年代诞生开始到今天,在不断地发展和演变,有些功能在发展过程中逐渐分离出去,随着WEB服务的广泛应用,使得论坛逐渐注重其信息交流的功能,也就是现在大家所理解的BBS。BBS,就是一个实时交互的信息交流平台,在人们日常生活中得到了广泛的使用,如百度贴吧、豆瓣、天涯等等,通过论坛,人们可以对自己感兴趣的问题发表自己的看法,了解他人的想法,进行实时的交互和讨论,而不是像看电视、听广播一样,无法表达自己的看法、观点,也无法进行交互。人们还可以发起一些问题或寻求一些问题的答案。实现前台显示和后台管理两部分工作。普通用户需要通过注册和登录进入该论坛系统才可以浏览和回复帖子以及使用其他附属功能。管理员的创立是用来管理和规划整个论坛系统中的资源和用户,使整个论坛井井有条,保证了访客们的正常访问。管理员除具备普通用户的所有功能外,还可以对用户、帖子、公告等进行管理。除了以上基本功能以外,还着手添加了诸如,导航,版块和按关键字搜索等功能使整个系统更加完善和人性化,方便人们的使用。本系统主要是通过JDBC技术连接sql server数据库,并且运用JSP动态页面技术、Servlet和JavaBean来完成的,同时采用MVC模式来设计整个系统,也提升了代码的可读性。关键词 BBS; Structs2; JSP;全套设计加扣 3012250582The online forum based on StructsAbstract Forum, from the nineteen seventies born to today, in the continuous development and evolution, some features in the process of development gradually separated, with the WEB services a wide range of applications, makes the forum gradually pay attention to the information exchange function, which is now we understand BBS. BBS, is a real-time interactive platform for the exchange of information, in the people daily life has been widely used, such as Baidu Post Bar, watercress, skyline and so on, through the forum, people can be interested to oneself the issue to express their views, understand the ideas of others, real-time interaction and discussion, and not look like TV, listen to the radio, unable to express their views, opinions, also cannot interact. People can also initiated some problems or to seek answers to questions. Realization of display and backstage management part two work. Ordinary users need to register and log into the forum system can browse and reply to messages and the use of other auxiliary functions. The administrator was created for management and planning the whole forum system resource and user, so that the whole forum to be arranged in good order, guarantee the normal access for visitors. Administrator in addition to ordinary users all the features, but also on the user, post, notices and other management. In addition to the above basic function, also begin to add such as, navigation, section and by keyword search and make the whole system more comprehensive and user-friendly, convenient for people to use. This system mainly through the JDBC technology to connect SQL SERVER database, and the use of JSP dynamic page technology, Servlet and JavaBean to complete, at the same time using MVC mode to design the whole system, but also to enhance the readability of the code.Key words:BBS; Structs2; JSP;iii目录摘 要iAbstractii1 概述11.1 系统开发工具11.1.1 MyEclipse 1011.1.2 Tomcat 6.0服务器21.1.3 数据库及其工具21.2 关键技术21.2.1 JSP动态网页技术21.2.2 Servlet服务器程序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 新闻管理28结束语29参考文献30致 谢31外文原文32中文翻译3921 概述随着当今社会信息化脚步的加快,人与人之间传递信息的方式也开始变得五花八门起来。由于书信往往受制于距离而无法进行实时的信息交换,又顾虑在使用电子通讯的过程中所产生的资费和开销,所以,人们便不再拘泥于传统的形式上的交流,一种更便捷,更经济,更快速的方式“网络通信”开始逐渐地被大众所接受。从最开始单一的网页聊天室,到后来的MSN和OICQ等即时通讯软件再到今天的个人空间,博客和微博等载体,网络已经不知不觉地成为了人们彼此沟通感情,交流信息的最主要途径。说道“网络通信”就不得不提到“论坛”这个有着较长生命周期的信息交流平台。BBS论坛雏形的出现最早可以追溯到1991年底,起初的论坛之所以被命名为“Bulletin Board System”(电子布告栏系统)是因为它只能对外发布公告,无法进行交互使用。然而近些年以来,由于网络技术的发展,论坛的各项功能在不同程度上得到了丰富的扩充。现在的论坛几乎涵盖了人们生活的各个方面,每个人都可以很容易地找到自己感兴趣的专题性论坛,各类综合性门户网站也都青睐于开设专属论坛,以促进与网友之间的交流,使网站的内容变得更加丰富。本论坛系统就致力于开创一个综合性的信息资源交流社区。不但具备其他论坛普遍拥有的诸如,注册、登陆、发帖、回复等各项基本功能,还把资源资讯划分了多个分类。使得用户可以计入感兴趣的分区进行浏览交互,这使得整个论坛能够以较高的质量满足各个年龄段以及各个文化阶层的群众对网络交互平台的需求,为净化网络环境,提升网民文化素质出一份力。然而机遇和困难并存,在技术层面上如何把大量的资源文件显示在动态页面上是首先要解决的问题,需要注意的是代码要尽量简洁合理,算法上要避免逻辑错误的出现,特别是在实现“回复评论”功能时,要想清楚,弄明白,以方便后期测试和用户使用。所以首先要从基础做起,在扎实地实现各项基本功能的基础上进行实践和创新,争取早日达到预期的目标。1.1 系统开发工具本小节主要介绍了编写代码过程中所用到的开发工具。1.1.1 MyEclipse 10MyEclipse,是一款非常优秀的用于开发Java, J2EE项目的Eclipse插件集合,MyEclipse不但具有十分强大的开发功能,而且所支持的平台也非常广泛。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse),是对Eclipse的扩展,它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试和发布功能,完整地支持HTML,JSP,Javascript,SQL等。利用它我们可以极大地提高在数据库操作以及J2EE项目的开发、发布方面的工作效率。在功能结构上,MyEclipse可以被分为几种类型,如J2EE项目部署、J2EE模型、连接应用程序服务器工具、WEB开发工具、EJB开发工具、数据库服务等。每种不同的功能,Eclipse都有其相应的功能组件,并可以通过一系列的插件来实现它们。MyEclipse这种结构化的功能模式,使得用户可以独立操作任何的模块,并不影响其他的模块,方便对任意目标模块进行的扩展和升级。通俗地说,MyEclipse实际上是Eclipse的一种插件,也是一个功能强大的J2EE集成开发环境,它支持代码的编写、配置、测试以及纠错。需要强调的是,MyEclipse 6.0以前版本需要预先安装Eclipse才可以正常使用,而在6.0以后的版本则不需要这么做。1.1.2 Tomcat 6.0服务器Tomcat在严格意义上讲并不是一个真正的应用服务器,它仅仅是一个可以支持运行 JSP/Servlet的Web容器,只不过它扩展了一些应用服务器的功能。Tomcat是Apache 软件基金会(Apache Software Foundation)下Jakarta 项目中的一个核心子项目,由Apache、Sun 等公司同开发而成。由于有了Sun 的加入与支持,最新的 JSP和Servlet 规范总是能在Tomcat 中得以体现。由于Tomcat技术先进、性能稳定,而且又是免费的,因此深受Java开发者们的欢迎并得到了多家软件开发商的认可,成为目前较为主流的应用服务器,被广泛地应用在中小规模的Web项目中。1.1.3 数据库及其工具 Microsoft SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理。Microsoft SQL Server 2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。1.2 关键技术1.2.1 JSP动态网页技术JSP是Java Server Pages(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程序段可以通过操作数据库,更改页面结构来实现数据的动态显示。Java Servlet一般与JSP配合使用来完成一些大型商用的Web应用程序。JSP严格来说是集成技术,继承了Java的多种特点,是以Java为平台的用于构建动态网页内容的语言。自JSP推出后,大大方便了Java运用于动态网页,且众多大公司都支持JSP技术的服务器,如IBM、Oracle等公司,所以JSP迅速地成为商业应用的服务端页面技术。1.2.2 Servlet服务器程序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论坛系统使用的是后者。2 系统需求分析2.1 功能需求 系统的开发首先需要对系统的功能框架等进行一个根本的分析。首先要掌握系统需要的框架以及系统需要有哪些功能,这些都需要多参考比较成功的BBS论坛学习经验,我对水木社区,新一塌糊涂BBS,大话西游BBS几个知名论坛进行了研究参考,经过对这些知名论坛的研究参考我认为 在线论坛用于在互联网上为学生们提供一个信息发布或信息交流的场所。应具备以下功能:前台主要包括用户的登陆,用户的注册,发布主题,回复信息等,为了让有不同目的趋向的用户可以清楚的找到自己感兴趣的主题以及相同兴趣的用户可以更方便的交流我将系统设计成了由多个专区组成的论坛,这样极大的方便了用户,也是界面友好性的一个体现。后台部分包括管理员的登陆,管理员的注销,专区的管理,用户的管理,主题的管理以及回复信息的管理。专区的管理包括对专区版主的设定、撤销,对专区的增加、修改、删除。用户的管理包括对用户的删除、级别的设定和修改。主题及回复信息的管理也包括了常见的修改、删除。对于贴子查看、发表贴子以及回复贴子这类频繁发生的系统操作,要采取适当的技术优化这类数据操作,以提高数据存取效率。通过这些功能极大的方便了用户的发言、查找,同时也将管理员的工作简单化、有效化,使管理员能过更方便的管理和监督论坛,保证了论坛的安全运行。2.2 性能需求考虑到 论坛系统使用的特殊性需要满足以下要求:(1)时间特性BBS论坛的数据库较小,所以程序在响应时间,数据更新处理时间上性能是比较突出的。由于数据量相对较少,故在数据传输时间和系统运行时间上表现的较让人满意。(2)通用性由于用户的操作系统不尽相同,这就要求考虑各平台之间的异性,而BBS论坛所采用的基于B/S的结构就很好的解决了这个问题,用户端只需要有浏览器就可以使用在线论坛。(3)保密性大部分网站都会注意会员信息的保密性,因此为了保护注册会员的隐私,在线论坛对此也采取了相应的措施,只有注册的用户自己和他添加的好友才能看到他的个人相关信息。2.3 开发环境2.3.1 硬件环境l CPU:Inter Core i5 M 480 2.67GHz 2.67GHl 内存:3GBl 硬盘空间:500GB2.3.2 软件环境l 操作系统:Windows 7 l 浏览器: Internet Explorer 7、Google Chorme、搜狗浏览器l 开发工具:MyEclipse 10l 数据库:SQL Server2005l 服务器:Tomcat 6.03 总体设计3.1 功能结构设计根据需求分析,将 论坛系统分为分为两大模块:前台模块和后台模块。前台功能模块包括3部分:(1)登录模块:用户在前台可以注册、登录;(2)浏览模块:用户可以浏览主题帖列表、查看帖子;(3)发帖回帖模块:用户可以发帖、回帖、编辑自己发布的帖子。后台模块都是与管理员相关的,也包括3部分:(1)论坛设置模块:管理员可以设置论坛参数;(2)管理版块模块:创建、修改和删除版块;(3)管理用户模块:添加、删除和设置权限。BBS论坛的功能结构如图3-1所示。图3-1 BBS论坛的功能结构图3.2 功能模块介绍论坛系统中有两种用户:注册用户和管理员用户。论坛中的版主权限,划分给管理员。(1) 对于注册用户,在论坛中的行为可以归纳如下行为。l 注册登录因为论坛的特殊性以及网络的法律薄弱性本系统我采用了无匿名登陆模式,用户想要对页面进行操作则必须想登陆,非登陆用户对页面进行操作,系统将不对其给与运行同时提示用户必须先注册。如图3-2所示。l 浏览浏览版块列表选择某版块,浏览其下的主题贴列表,查看帖子内容。搜索需要的帖子。这些行为是用户读取论坛的版块及其帖子的相关信息,设计成浏览版块。l 发帖回帖可以发表新帖子,也可以回复已有的帖子,同时可以编制自己写的帖子内容。这些行为是用户参与论坛讨论,发表自己的见解,设计为发贴回帖模块。如图3-3所示。 (2) 对于管理员,需要负责整个论坛的正常运转,因此它需要根多的管理功能,可以归纳如下行为。具备注册用户的所有功能,因为管理员也是论坛用户,可以参与论坛中的讨论。注册用户名是否有效从新注册二次密码是否一致主界面验证邮箱是否正确图3-2 注册流程图会员选择专区发布主题选择浏览主题发布回复信息提交图3-3 会员操作流程l 管理帖子管理员对论坛的帖子有监督的权利,好的帖子要奖励,捣乱的帖子要删除,标识精华贴,至顶帖子,转移发错版块的帖子,这些行为都是针对帖子的操作,设计成管理帖子模块。管理版块论坛中的版块,需要管理员进行创建,管理版块信息,这些针对版块的操作,设计成管理版块模块。l 管理用户用户注册成功后,需要管理员赋予权限,才能使用论坛的相关功能。同时,管理员可以自己添加,删除用户,这些针对用户信息的操作,设计成管理用户模块。如图3-4。(3)对于论坛系统来说,联系各个模块的主线是使用者的权限,用户能使用论坛的哪些功能是由用户权限决定的。论坛的每个功能都与相关的权限对应。例如,注册用户具有浏览帖子,发贴,回帖的权限,那么他就能使用论坛中的浏览,发贴,回帖功能。同一类用户使用的功能模块,是以使用者为中心连接起来的。另外,操作同一类事物的功能模块,也有相关关系的。因此,浏览模块与发帖回帖模块,管理帖子模块关联,是由论坛系统流程决定的。 管理版块模块与浏览模块关联,是由帖子与版块的父子关系决定的,帖子依附与版块,先有版块,后有帖子,帖子必须发表在每个版块中。用户管理模块与注册登录模块关联,是由同一类对象用户决定的,注册后获得论坛的身份,成为用户,所以的用户需要接收管理员的管理,用户登录证明自己在论坛中的身份。根据系统的入口不同,可分为前台系统和后台系统。前台包括注册登录模块,浏览模块,发帖回帖模块,管理帖子模块;后台包括管理用户模块,管理版块模块。图3-4 管理员操作流程图4 数据库设计4.1 数据库的安装数据库我使用了SQL Server 2005,安装界面如图4.1所示。 图4-1 SQL安装界面安装时我们创建一个SQL Server实例。如图4-2所示。图4-2 选择界面 一切设定好后,安装程序开始向硬盘复制必要的文件,开始正式安装。安装完成后如图4-3所示。图4-3 安装完成4.2 数据库概念结构设计根据系统总体设计,BBS论坛网站的实体主要有:管理员实体,用户信息实体,帖子实体,短信息实体。 (1)管理员信息实体图 如图4-4所示。管理员用户密码权限图4-4 管理员信息实体图(2)用户信息实体图 如图4-5所示。用户密码头像用户名图4-5 用户信息实体图(3)帖子实体图,如图4-6所示。帖子用户内容所属版块主题图4-6 帖子实体图4.3 数据库逻辑结构设计 通过对系统的需求和功能的分析我将系统的数据结构主要分为四个部分,包括用户信息,专区信息,主题信息以及回复信息。用户信息包括:用户id,用户名,真实姓名,用户密码,密码确认,用户性别,用户联系方式,用户头像, E_mail,联系地址。tb_bbsAnswer用于存放会员留言。tb_bbs用于存放会员发表的帖子信息。tb_user用于存放论坛用户信息。tb_news用于存放新闻。tb_class用于存放论坛类别介绍。Tb_board 用于存放版面信息。建立数据库结构如表4.1至表4.5所示。表4.1 tb_user字段描述类型空值长度id注册用户int非2user_name用户名varchar是20user_password密码varchar是20user_phone手机号varchar是12uwer_email邮箱varchar是100user_sex性别varchar是2user_face头像varchar是11User_from用户地区varchar是200 表4.2 tb_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.3 tb_bbsAnswer字段描述类型空值长度bbsAnswer_id留言编号int否4bbsAnswer_rootid留言者编号int是4bbsAnswer_title回帖标题varchar是70bbsAnswer_content回帖内容varchar是2000bbsAnswer_sender回帖者姓名varchar是20bbsAnswer_sentime留言时间datetime是8bbsAnswer_face留言者头像varchar是50表4.4 tb_class字段描述类型空值长度calss_id分区编号int非2class_name分区名称nvarchar是50class_intro分区信息nvarchar是200表4.5 tb_border字段描述类型空值长度board_id版块编号int非4board_classId板块编号smalint是2board_name版块名称nvarchar是40board_master斑竹datetime是20board_pcard版块提醒nvarchar是2004.4 数据库的连接(1)加载数据库程序根据读取的数据驱动配置字符串drivers,动态加载数据库驱动的程序。首先通过Class.forName()来动态加载,在使用DriverManage数据库驱动管理器来注册该驱动类。 public DB() className=com.microsoft.jdbc.sqlserver.SQLServerDriver; url=jdbc:microsoft:sqlserver:/localhost:1433;databaseName=db_luntan; username=sa; password=sa; try Class.forName(className); catch(ClassNotFoundException e) System.out.println(加载数据库驱动程序失败!); e.printStackTrace(); (2)取得数据库连接程序用户编写程序中,如果需要取得数据库连接,只需要调用该函数。 public void getCon() try con=DriverManager.getConnection(url,username,password); catch (SQLException e) System.out.println(获取数据库连接失败!); e.printStackTrace(); (3)释放连接用来释放一个连接到数据库连接池pools中的。如果使用完了每个连接,就需要调用该函数将连接关闭。 public void closed() try if(pstm!=null) pstm.close(); catch(Exception e) System.out.println(关闭pstm对象失败!); try if(con!=null) con.close(); catch(Exception e) System.out.println(关闭con对象失败!); 5 功能模块的设计与实现5.1 主页面主页面是论坛的门户,所以主页面的设计好坏直接影响到整个论坛的形象。论坛首页所载的内容有:论坛工具栏,包括登录、注册、发贴排行、帮助、管理员登录、退出;LOGO图标;论坛统计信息;论坛版面列表;论坛版权信息。效果如图5.1所示。5.2 用户登录注册模块设计5.2.1 用户登录用户进入主页面,若想浏览具体的帖子必须先登录。点击工具栏上“登录”按钮则进入登录页面,效果如图5-1所示。该模块在用户登录要进行用户名和密码的有效性检验,查询用户表,如果该用户存在则让他进入主页面,也就是前面介绍的论坛主页面,如果不能登录成功则给予提示,用户名不存在或者密码错误,回到登录页面以便用户再次输入用户名及密码登录。图5-1 用户登录界面登录页面主要代码: public ActionForward isUserLogin(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) HttpSession session=request.getSession(); Object loginer=session.getAttribute(logoner); if(loginer!=null&(loginer instanceof UserForm) ActionMessages messages=new ActionMessages(); messages.add(loginR,new ActionMessage(luntan.bbs.have.login); saveErrors(request,messages); return mapping.findForward(FhaveLogin); else return mapping.findForward(noLogin);5.2.2 用户注册如果用户是首次反问BBS论坛,还没有注册,可以单击【注册】按钮进入新用户注册界面,先进行用户注册,这是用户进入论坛的一个通道,是任何论坛都不可缺少的部分。效果如图5-2所示。图5-2用户注册界面用户注册页面代码: sql=insert into tb_user values(?,?,?,?,?,?,?,?,?);params=new Object9;params0=userName;params1=userPassword;params2=userFace;params3=userSex;params4=userPhone;params5=userOICQ;params6=userEmail;params7=userFrom;params8=userAble;int i=myOp.OpUpdate(sql, params);if(i=0)System.out.println(用户注册失败!);messages.add(userOpR,new ActionMessage(luntan.user.reg.E);elseSystem.out.println(用户注册成功!);regForm.clear();messages.add(userOpR,new ActionMessage(luntan.user.reg.S);saveErrors(request,messages);5.3 帖子相关界面5.3.1 发新帖子点击某一具体论坛分类,进入帖子页面,单击“发表新贴”,则进入发新帖子的页面,如图5.4所示。这里只允许会员发表新帖子,需要填写的新帖子信息包括:用户名、密码、主题、当前心情、具体内容等,这也是帖子表里应该有的最基本信息。其中标题不能超过50个汉字。“内容”是指书写帖子内容时输入框支持什么不支持什么等。具体内容输入框上的按钮可以对输入的内容进行字体等方面的设置,用过Word的人可以很容易掌握这些小按钮的用法,其中有加粗、斜体、下划线等,还可以设置字体效果等。输入框下方提供了一些小图片,用户单击表情图标就可以在帖子中加入相应的表情。“是否显示您的签名”和“有回复时使用邮件通知您”看作者而定,可以选择也可以不选。所有的内容都填写完毕后,单击【发表】按钮则数据库中相应的帖子表增加一条记录,用户帖子发表成功。具体界面如5-3所示。 图5-3 发布帖子界面发布帖子页面代码:String sql=insert into tb_bbs values(?,?,?,?,?,?,?,?,?,?,?);Object params=boardId,bbsTitle,bbsContent,bbsSender,bbsSendTime,bbsFace,bbsOpTime,bbsIsTop,bbsToTopTime,bbsIsGood,bbsToGoodTime;ActionMessages messages=new ActionMessages();OpDB myOp=new OpDB();int i=myOp.OpUpdate(sql,params);if(i=0)System.out.println(发表帖子失败!);messages.add(userOpR,new ActionMessage(luntan.bbs.add.E);saveErrors(request,messages);return mapping.findForward(error);elseSystem.out.println(发表帖子成功!);session.setAttribute(currentP,1);messages.add(userOpR,new ActionMessage(luntan.bbs.add.S);bbsForm.clear();saveErrors(request,messages);return mapping.findForward(success);5.3.2 浏览帖子单击某一具体的帖子,可以阅读帖子的内容。如图5-4所示是浏览某一个具体帖子的界面,最上方【发表话题】、【回复帖子】按钮,用户可以单击按钮进行相应的操作。同一行的右边是一个对本帖子阅读的人数的统计。再下来是作者的一些基本信息。同一水平线上与之对应的是帖子的具体信息,包括帖子的内容、发表时间等。还可以对帖子做相应的一些操作或进入相关链接。如果帖子有跟帖,则会在这个帖子的下方以同样的表现形式列出来 图 5-4 帖子列表帖子列表页面代码:Vector jumpBoard=new Vector();List boardlist=(ArrayList)session.getAttribute(class+classId);if(boardlist!=null&boardlist.size()!=0)for(int i=0;iboardlist.size();i+)BoardForm boardSingle=(BoardForm)boardlist.get(i);jumpBoard.add(newLabelValueBean(boardSingle.getBoardName(),boardSingle.getBoardId();if(boardId.equals(boardSingle.getBoardId()session.setAttribute(boardMaster,boardSingle.getBoardMaster();session.setAttribute(boardPcard,boardSingle.getBoardPcard();session.setAttribute(jumpBoard,jumpBoard);String sql=;Object params=boardId;OpDB myOp=new OpDB();myOp.setMark(false);sql=select * from tb_bbs where bbs_boardID=? and bbs_isTop=1 order by bbs_toTopTime DESC;List topbbslist=myOp.OpBbsListShow(sql, params);session.setAttribute(topbbslist,topbbslist);String currentP=request.getParameter(showpage);if(currentP=null|currentP.equals()currentP=(String)session.getAttribute(currentP);elsesession.setAttribute(currentP,currentP);String gowhich=user/listShow.do?method=rootListShow;myOp.setMark(true);myOp.setPageInfo(perR, currentP, gowhich);sql=select * from tb_bbs where bbs_boardID=? and (bbs_isTop=0 or bbs_isGood=1) order by bbs_opTime DESC;List otherbbslist=myOp.OpBbsListShow(sql, params);CreatePage page=myOp.getPage();session.setAttribute(otherbbslist,otherbbslist);session.setAttribute(page,page);5.3.3 帖子列表帖子是论坛的主要交流内容,是用户网页用户之间交流的必要手段。单击某一论坛分类,则进入帖子列表页面,效果如图5-5所示。图5-5 论坛版块页面5.4 新闻模块新闻在人们的生活中是必不可少的,是了解世界的必要信息,为了方便用户因此,我在此系统中加入了新闻模块,使用用户在进入本系统浏览时,也可以方便的读取当天要点新闻,了解时事,这样也使得系统功能不再单一,显得过于死板。在功能列表里点击【新闻】,系统列出当天提供的新闻题目列表,点击新闻题目,查看新闻,效果如图5-6所示。图5-6 新闻模块页面新闻模块代码:public void newsMana(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOExceptionList newsList=new ArrayList();String sql=select * from tb_news where del=no;Object params=;DB mydb=new DB();trymydb.doPstm(sql, params);ResultSe

温馨提示

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

评论

0/150

提交评论