毕业设计(论文)基于J2EE的网络论坛的设计与实现.doc
基于J2EE的网络论坛的设计与实现摘 要随着计算机技术的飞速发展,学校也已进入信息化时代。为了方便大学的学生管理以及学生进行互动交流,决定开发采用MVC模式,基于JSP的网络论坛,数据库使用SQL Server,在系统设计过程中,尽量采用易懂易读的人机界面,使用户可以在短期内完全掌握。软件开发过程中始终把系统的正确性放在首位,力求数据的完整和处理的正确性。在此基础上优化程序代码,加速系统运行和减少对系统资源的占用。论文里说明了网络论坛的总体设计方案,包括了系统运用的关键技术,数据库设计,对各个功能模块的详细设计以及实现,本系统实现了注册会员,会员登录,登录后可以浏览个个模块内帖子,可以发帖回帖,查看斑竹、发帖人信息,管理员具有更改用户权限,删除用户,管理板块,能够增加、删除、修改板块信息,负责帖子的置顶精华管理。关键词:校园论坛;MVC;JSP;SQL ServerABSTRACTAlong with the rapid development of computer technology, the school also has entered the information age. In order to facilitate the management of university students and students interact, decided to develop the MVC pattern, the senior high school MuLanXian based on JSP campus BBS system, database using SQL Server, in system design process, make use of the man-machine interface simple and easy to read, users can fully mastered in the short term. Software development process always put the correctness of the system in the first place, strive to the integrity of the data and processing accuracy. Based on this optimization program code, accelerate system operation and reduce on the system resources of the occupation.Thesis illustrates MuLanXian senior high school campus BBS system overall design scheme of the system, including the use of key technologies, database design of each functional modules, detailed design and implementation, this system realizes the registered members, members login, log on can browse each module post Posting replies, check, can l, post, administrators who have change user information permissions, delete a user, management plate, can add, delete, modify plate information, be responsible for the management of posts set-top essence.Keywords: campus BBS; MVC; The JSP; SQL Server第一章 概述1.1开发背景 在互联网技术高速发展的推动下,互联网跨入了虚拟社区时代。根据2010年1月第25次中国互联网发展状况统计报告,我国上网的3.84亿人中有38.8%使用论坛、BBS等各种形式的虚拟社区,用户规模达到9822万人,在网络应用中排名第九,已经跻身十大网络应用之列。校园论坛系统发展势头非常迅猛。论坛是电子公告板系统(Bulletin Board System),它通过在计算机上运行服务软件,允许用户使用终端程序通过电话调制解调器拨号或者Internet来进行连接,执行下载数据或程序、上传数据、阅读新闻、与其它用户交换消息等功能。论坛系统开发技术发展至今,从CGI,ASP,到PHP已经日趋成熟,功能也更加丰富,但携着Sun公司的Java技术所实现的“一次编写,到处运行”的优势,继承这一衣钵的JSP技术越来越受到人们的注视。为了进行更好的交流。根据 校园的发展需求,需要一个校园的公共论坛,使得学校信息更加的透明,推动了学校的信息化建设,同时还提供学生和老师以及社会人士的交流平台,方便大家交流思想,有效的解决了大家信息交流不方便不及时,信息闭塞的问题,对学校的建设,起到了积极推动的作用。1.2 相关技术简介在开发网络论坛中,考虑到系统的开发时间,系统的可用性,以后的维护我们采用了javaBean技术,为了减轻忘了负载采用jsp动态网页技术。1.2.1 JavaBeans技术简介JavaBeans是Java的可重用组件技术。ASP通过COM来扩充复杂的功能,如文件上载、发送Email以及将业务处理或复杂计算分离出来成为独立可重用的模块。JSP通过JavaBeans实现了同样的功能扩充。JSP对于在Web应用中集成JavaBeans组件提供了完善的支持。这种支持不仅能缩短开发时间(可以直接利用经测试和可信任的已有组件,避免了重复开发),也为JSP应用带来了更多的可伸缩性。JavaBeans组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等。在实际的JSP开发过程中,和传统的ASP和PHP页面相比,页面将会是非常简洁的,由于JavaBeans开发起来简单,又可以利用Java语言的强大功能,许多动态页面处理过程实际被封装到了JavaBeans中。在网络论坛中,JavaBean技术起到了重要的作用,使数据库连接等功能不必要使用重复代码,对系统以后的维护也简便了许多。1.2.2 JSP技术简介JSP(Java Server Pages)是由Sun Microsystems 公司倡导,许多公司参与一起建立的一种动态页面技术标准,其在动态网也的建设中由其强大而特别的功能,它主要要用于创建支持跨平台Web服务器的动态网页。JSP可与微软的Active Server Pages(ASP)相媲美,但是JSP使用的是类似与HTML的标记和Java代码片断而不是用VBScript。当人们使用不提供ASP本地支持的Web服务器(例如Apache或者Netscape服务器)时,你就可以考虑使用JSP了。Java Server Pages 技术可以让Web开发人员和设计人员非常容易的创建和维护动态网页,特别是目前的商业系统。作为Java技术的一部分,JSP能够快速开发基于Web,独立与平台的应用程序。JSP把用户界面从系统内容中分离开来,使得设计人员能够在不改变底层动态内容的前提下改变整个网页布局。在JSP网页中,要把用户界面和应用程序分开可以考虑在网页设计人员和开发人员之间执行一个非常方便的授权任务。它也允许开发人员去建立灵活的代码,从而非常容易地进行更新和重复利用。由于JSP网页能够根据需要自动进行编译,Web设计人员无需重新编译应用程序逻辑就可以改变表述代码。这也就是JSP与Java Served相比成为一种可以更灵活生成动态Web内容的方法。事实证明,Java Served 是一种开发Web应用的理想架构。JSP以Served技术为基础,又在许多方面做了改进。利用跨平台运行的JavaBeans组建,JSP为分离处理逻辑与显示样式提供了卓越的解决方案。JSP必将成为其他动态网页技术的有力竞争者。在开发 论坛系统中,运用JSP动态网页技术,大大减少了网络服务器的负担,大大的提高了 论坛系统的性能,也有利于日后其他程序呀对系统的维护。图1.1 JSP文件执行图1.2.3 SQL Server数据库简介 SQL Server 2000是一个中、小型数据库管理系统,使用方便、功能强大,与其它数据库有良好的接口。通过SQL Server 2000功能强大的工具,用户可以方便的使用和管理数据库,如创建和编辑数据表、设计和使用各种查询工具进行查询操作、设计和使用窗体、制作和打印报表、设计和使用宏、设计和使用Web页等。还可使用VBA(Visual Basic for Application)开发高级应用程序。SQL Sever 2000具有完整的数据库应用开发工具,用户可以方便的设计、修改、浏览一个记录数据的基本表;可以在表数据中进行各种筛选和查询操作;可以设计和使用各种窗体以实现数据显示和操作;可以根据表数据设计打印各种报表;可以设计和使用宏,对表进行一系列特定的操作。SQL Server 2000内有强大的操作向导,为用户提供了丰富的数据库基本表模板。用户只需简单的操作就可建立数据库中所使用的各种基本表、窗体和报表。在SQL Server 2000中,可以设定、修改基本表之间的关联,从而实现在多个相关表之间的关系查询。SQL Sever 2000中的宏可以实现操作的自动化,使操作更加简单、快捷。SQL Server 2000增强了网络功能,用户可以轻松自如地完成网页发布等。SQL Server 2000不仅可以处理自身的数据库文件,还可以处理其它一些数据库系统管理软件所建立的数据库文件,能识别DBase、FoxBase、FoxPro、Paradox、Btrieve等数据库格式文件,并且支持开放式数据库互连性标准(ODBC)的SQL。SQL Server 2000能与工作站、数据库服务器或主机上的各种数据库互相连接,并可用于建立客户/服务器应用程序中的工作站部分。1.2.4 MyEclipse简介MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。 在结构上,MyEclipse的特征可以被分为7类: (1)JavaEE模型 (2)Web开发工具 (3) EJB开发工具 (4)应用程序服务器的连接器 (5)JavaEE项目部署服务 (6)数据库服务 (7)MyEclipse整合帮助 对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。1.3 开发模式介绍目前,在大多数B/S(Browser/Server)结构的Web应用中,浏览器直接通过HTML或者JSP的形式与用户交互,响应用户的请求。虽然很直观,但是大多数管理信息系统操作的数据量都是惊人的,随着代码的增多会使JSP页面臃肿不堪,Web服务器的负荷过重。因此,在中间层上采用基于模型视图控制器(MVC,Model-View-Controller)的设计模式。MVC之间的关系如图1.1所示,Model层用来实现业务逻辑,View层用来显示用户界面,Controller层主要负责View层和Model层之间的控制关系。具体实现时,把Servlet用作应用程序的控制器,把JSP文档作为视图,JavaBeans被用来表示模型。所有的请求都被发送给作为控制器的Servlet,它接受请求,并根据请求信息将它们分发给适当的JSP来响应。同时,Servlet还根据JSP的需求生成JavaBeans的实例并输出给JSP环境。JSP可以通过直接调用方法或使用UseBean的自定义标签得到JavaBeans中的数据。这种设计模式很好地实现了数据层与表示层的分离,使开发工作更加容易和迅速13。图1.1MVC之间的关系图1.4服务器配置1.4.1 JDK的安装和配置安装JDK这是进行JSP开发的重要一步,也是安装JSP引擎(Tomcat、Resin、Weblogic等)的前提,一般的JSP引擎是由Java语言编写的。本项目我选择了安装JDK6版本。安装界面如图 一直Next即可。 图1.2 JDK的安装界面完成安装之后并不能成功使用,因为操作系统找不到JDK的安装路径。如图。图1.3命令提示框必须告诉操作系统去哪些目录下找到你要使用的工具程序,这就需要设置Path环境变量。Path : %JAVA_HOME%bin图1.4 Path环境变量1.4.2 TOMcat的安装和配置 tomcat安装可以到www.apache.org上去下载,这是一个完全免费的优秀软件,安装之前要保证本机安装了JDK。在Tomcat安装目录下的bin子目录中,有一些批处理文件(以.bat作为后缀名的文件),其中的startup.bat就是启动Tomcat的脚本文件,用鼠标双击这个文件,将会看到信息,在浏览器地址栏中输入http:/127.0.0.1:8080/ 如果出现界面如图1.5 则说明安装成功即可以进行配置配置,tomcat首先要修改端口号,在conf目录下有个叫server.xml将端口号修改为了8080,然后建立虚拟目录配置调试。 图 1.5 tomcat 成功界面第二章 系统需求分析2.1功能需求系统的开发首先需要对系统的功能框架等进行一个根本的分析。首先要掌握系统需要的框架以及系统需要有哪些功能,这些都需要多参考比较成功的BBS论坛学习经验,我对水木社区,新一塌糊涂BBS,大话西游BBS几个知名论坛进行了研究参考,经过对这些知名论坛的研究参考我认为网络论坛用于在互联网上为学生们提供一个信息发布或信息交流的场所。应具备以下功能:前台主要包括用户的登陆,用户的注册,发布主题,回复信息等,为了让有不同目的趋向的用户可以清楚的找到自己感兴趣的主题以及相同兴趣的用户可以更方便的交流我将系统设计成了由多个专区组成的论坛,这样极大的方便了用户,也是界面友好性的一个体现。后台部分包括管理员的登陆,管理员的注销,专区的管理,用户的管理,主题的管理以及回复信息的管理。专区的管理包括对专区版主的设定、撤销,对专区的增加、修改、删除。用户的管理包括对用户的删除、级别的设定和修改。主题及回复信息的管理也包括了常见的修改、删除。对于贴子查看、发表贴子以及回复贴子这类频繁发生的系统操作,要采取适当的技术优化这类数据操作,以提高数据存取效率。通过这些功能极大的方便了用户的发言、查找,同时也将管理员的工作简单化、有效化,使管理员能过更方便的管理和监督论坛,保证了论坛的安全运行。2.2性能需求考虑到 论坛系统使用的特殊性需要满足以下要求:(1)时间特性校园论坛的数据库较小,所以程序在响应时间,数据更新处理时间上性能是比较突出的。由于数据量相对较少,故在数据传输时间和系统运行时间上表现的较让人满意。(2)通用性由于用户的操作系统不尽相同,这就要求考虑各平台之间的异性,而校园论坛所采用的基于B/S的结构就很好的解决了这个问题,用户端只需要有浏览器就可以使用校园论坛系统。(3)保密性大部分网站都会注意会员信息的保密性,因此为了保护注册会员的隐私,校园论坛系统对此也采取了相应的措施,只有注册的用户自己和他添加的好友才能看到他的个人相关信息。2.3 开发环境2.3.1 硬件环境l CPU:PentiumIV1.8GHz以上l 内存:1GB及以上l 硬盘空间:120GB及以上2.3.2 软件环境l 操作系统:Windows XP或以上版本 l 浏览器:Internet Explorer 5.0或以上版本l 数据库:SQL Server或以上版本l 服务器:Tomcat 6.0或以上版本第三章 总体设计3.1 功能结构设计根据需求分析,将 论坛系统分为分为两大模块:前台模块和后台模块。前台功能模块包括3部分:(1)登录模块:用户在前台可以注册、登录;(2)浏览模块:用户可以浏览主题帖列表、查看帖子;(3)发帖回帖模块:用户可以发帖、回帖、编辑自己发布的帖子。后台模块都是与管理员相关的,也包括3部分:(1)论坛设置模块:管理员可以设置论坛参数;(2)管理版块模块:创建、修改和删除版块;(3)管理用户模块:添加、删除和设置权限。在线论坛的功能结构如图3.1所示:登录在线论坛网站前台模块注册登录浏览发帖回帖管理帖子后台模块论坛设置管理板块管理用户注册主题帖列表查看帖子内容版块列表搜索帖子发帖回帖编辑帖子删除编辑置顶转移删除添加修改板块信息删除添加设定权限管理新闻图3.1 校园论坛的功能结构图3.2 功能模块介绍论坛系统中有两种用户:注册用户和管理员用户。论坛中的版主权限,划分给管理员。(1) 对于注册用户,在论坛中的行为可以归纳如下行为。l 注册登录因为论坛的特殊性以及网络的法律薄弱性本系统我采用了无匿名登陆模式,用户想要对页面进行操作则必须想登陆,非登陆用户对页面进行操作,系统将不对其给与运行同时提示用户必须先注册。l 浏览浏览版块列表选择某版块,浏览其下的主题贴列表,查看帖子内容。搜索需要的帖子。这些行为是用户读取论坛的版块及其帖子的相关信息,设计成浏览版块。l 发帖回帖可以发表新帖子,也可以回复已有的帖子,同时可以编制自己写的帖子内容。这些行为是用户参与论坛讨论,发表自己的见解,设计为发贴回帖模块。(2)对于管理员,需要负责整个论坛的正常运转,因此它需要根多的管理功能,可以归纳如下行为。具备注册用户的所有功能,因为管理员也是论坛用户,可以参与论坛中的讨论。注册用户名是否有效从新注册二次密码是否一致主界面验证邮箱是否正确图3.2 注册流程图会员选择专区发布主题选择浏览主题发布回复信息提交图3.3 会员操作流程l 管理帖子管理员对论坛的帖子有监督的权利,好的帖子要奖励,捣乱的帖子要删除,标识精华贴,至顶帖子,转移发错版块的帖子,这些行为都是针对帖子的操作,设计成管理帖子模块。l 管理版块论坛中的版块,需要管理员进行创建,管理版块信息,这些针对版块的操作,设计成管理版块模块。l 管理用户用户注册成功后,需要管理员赋予权限,才能使用论坛的相关功能。同时,管理员可以自己添加,删除用户,这些针对用户信息的操作,设计成管理用户模块。(3)对于论坛系统来说,联系各个模块的主线是使用者的权限,用户能使用论坛的哪些功能是由用户权限决定的。论坛的每个功能都与相关的权限对应。例如,注册用户具有浏览帖子,发贴,回帖的权限,那么他就能使用论坛中的浏览,发贴,回帖功能。同一类用户使用的功能模块,是以使用者为中心连接起来的。另外,操作同一类事物的功能模块,也有相关关系的。因此,浏览模块与发帖回帖模块,管理帖子模块关联,是由论坛系统流程决定的。 管理版块模块与浏览模块关联,是由帖子与版块的父子关系决定的,帖子依附与版块,先有版块,后有帖子,帖子必须发表在每个版块中。用户管理模块与注册登录模块关联,是由同一类对象用户决定的,注册后获得论坛的身份,成为用户,所以的用户需要接收管理员的管理,用户登录证明自己在论坛中的身份。根据系统的入口不同,可分为前台系统和后台系统。前台包括注册登录模块,浏览模块,发帖回帖模块,管理帖子模块;后台包括管理用户模块,管理版块模块。管理员栏目管理专区管理用户管理添加专区选则专区删除专区显示所有主题显示所有用户更换斑竹删除主题删除用户修改用户权限搜索用户图3.4 管理员操作流程图第四章 数据库设计4.1 数据库的安装数据库我使用了SQL,安装界面如图。 图4.1 SQL安装界面安装时我们创建一个SQL Server实例。 图4.2 选择界面 一切设定好后,安装程序开始向硬盘复制必要的文件,开始正式安装图4.3 安装完成4.2 数据库概念结构设计根据系统总体设计,校园论坛网站的实体主要有:管理员实体,用户信息实体,帖子实体,短信息实体。 (1)管理员信息实体E-R图 如图4.1所示:管理员用户密码权限图4.4 管理员信息实体E-R图(2)用户信息实体E-R图 如图4.2所示:用户密码头像用户名图4.5 用户信息实体E-R图(3)帖子实体E-R图 如图4.3所示:帖子用户内容所属版块主题图4.6 帖子实体E-R图4.3 数据库逻辑结构设计 通过对系统的需求和功能的分析我将系统的数据结构主要分为四个部分,包括用户信息,专区信息,主题信息以及回复信息。用户信息包括:用户id,用户名,真实姓名,用户密码,密码确认,用户性别,用户联系方式,用户头像, E_mail,联系地址。tb_bbsAnswer用于存放会员留言。tb_bbs用于存放会员发表的帖子信息。tb_user用于存放论坛用户信息。tb_news用于存放新闻。tb_class用于存放论坛类别介绍。Tb_board 用于存放版面信息。建立数据库结构如图:tb_user表字段描述类型空值长度id注册用户smalint非2user_name用户名varchar是20user_password密码varchar是20user_phone手机号varchar是12uwer_email邮箱varchar是100user_sex性别varchar是2user_face头像varchar是11User_from用户地区varchar是200 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是8tb_bbsAnswer表字段描述类型空值长度bbsAnswer_id留言编号int4bbsAnswer_rootid留言者编号int是4bbsAnswer_title回帖标题varchar是70bbsAnswer_content回帖内容varchar是2000bbsAnswer_sender回帖者姓名varchar是20bbsAnswer_sentime留言时间datetime是8bbsAnswer_face留言者头像varchar是50tb_class表字段描述类型空值长度calss_id分区编号int非2class_name分区名称nvarchar是50class_intro分区信息nvarchar是200tb_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"tryClass.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();(5)释放连接用来释放一个连接到数据库连接池pools中的。如果使用完了每个连接,就需要调用该函数将连接关闭。public void closed()tryif(pstm!=null)pstm.close();catch(Exception e)System.out.println("关闭pstm对象失败!");tryif(con!=null)con.close();catch(Exception e)System.out.println("关闭con对象失败!");第五章 功能模块的设计与实现5.1 主页面主页面是论坛的门户,所以主页面的设计好坏直接影响到整个论坛的形象。论坛首页所载的内容有:论坛工具栏,包括登录、注册、发贴排行、帮助、管理员登录、退出;LOGO图标;论坛统计信息;论坛版面列表;论坛版权信息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");elsereturn mapping.findForward("noLogin");5.2.2用户注册如果用户是首次反问校园论坛,还没有注册,可以单击【注册】按钮进入新用户注册界面,先进行用户注册,这是用户进入论坛的一个通道,是任何论坛都不可缺少的部分。效果如图6.3所示图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的人可以很容易掌握这些小按钮的用法,其中有加粗、斜体、下划线等,还可以设置字体效果等。输入框下方提供了一些小图片,用户单击表情图标就可以在帖子中加入相应的表情。“是否显示您的签名”和“有回复时使用邮件通知您”看作者而定,可以选择也可以不选。所有的内容都填写完毕后,单击【发表】按钮则数据库中相应的帖子表增加一条记录,用户帖子发表成功。具体代码如程序6-3所示: 图5.3 发新帖子界面保存帖子程序6-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浏览帖子单击某一具体的帖子,可以阅读帖子的内容。如图6.5所示是浏览某一个具体帖子的界面,最上方【发表话题】、【回复帖子】按钮,用