基于SSH的BBS论坛系统的设计与实现
专 业: 学 号:
学 生: 指导教师:
摘要:随着网络在现代社会中的广泛应用及当今社会快节奏的发展,人们越来越需要一个平台来进行分享并交流相应的资讯信息。现在有各种的论坛网站等系统来实现人们的这一需要,获得有益信息并与他人进行交流,以方便人个扩展知识层面。
该课题主要的工作是对论坛网站的主要功能进行设计与实现,实现用户浏览帖子,发表及回复论坛帖子的功能以及系统管理员对后台的管理功能,如管理帖子和用户信息,对用户权限的设置。主要作用是通过发表新帖并回复他人帖子来实现信息交流。此文章中首先对整个系统功能进行详细的分析与设计;其次采用MySQL数据库技术实现对系统中涉及的数据信息进行管理,最后利用JSP技术进一步具体实现论坛网站各项功能,并用Tomcat作为服务器支持其运行。运行调试确保网站的正常工作。
关键词:论坛网站;JSP技术;MySQL数据库
成都学院学士学位论文(设计)
Design and Implementation of BBS Forum System Based on
SSH
Specialty: Student Number:
Student: Supervisor:
Abstract: With the wide application of network in the modern society and the fast pace of development in today's society. More and more people need a platform to share and communicate their corresponding information, Now all kinds of forum system can reach people`s need. Get useful information and communicate with others. Help people expand the knowledge level.
The work of this topic is to design and implementation the main function of BBS. Make users can browse posts, publish and reply posts, and the system administrator can manage background. Just like manage posts and user information. Setting the user permissions. The main function is to realize information communication by publishing new posts and replying others`posts. This article first describes a detailed analysis of the whole system function and design.Secondly using MySQL database technology to realize data information of system involved in the management. Finally, realize all the functions of BBS by using JSP technology. Using Tomcat as the server to support its operation. Running and debugging to ensure the site is working properly.
Key words: Forum website; JSP technology; MySQL Database
成都学院学士学位论文(设计) 目 录
绪 论 ........................................................................................................................................................1 1 相关知识技术 ......................................................................................................................................3 1.1 平台选择 .......................................................................................................................................3 1.2 开发工具介绍 ...............................................................................................................................3 1.3 数据库技术介绍 ...........................................................................................................................3 1.4 系统开发思想与技术 ...................................................................................................................4 1.4.1 系统的基本框架 ....................................................................................................................4 1.4.2 JSP及JavaBean介绍 .............................................................................................................4 1.4.3 SSH简介 .................................................................................................................................5 2 系统分析 ..............................................................................................................................................8 2.1 可行性分析 ...................................................................................................................................8 2.1.1 技术可行性 ............................................................................................................................8 2.1.2 经济可行性 ............................................................................................................................8 2.1.3 社会可行性 ............................................................................................................................9 2.2 功能需求分析 ...............................................................................................................................9 2.3 软件硬件需求 .............................................................................................................................12 3 系统总体设计 ....................................................................................................................................13 3.1 总体功能模块 .............................................................................................................................13 3.2 系统主要用例图 .........................................................................................................................13 3.3 系统业务描述 .............................................................................................................................14 3.4 概念模型设计 .............................................................................................................................15 3.4.1 实体和属性的定义 ..............................................................................................................16 3.4.2 实体关系定义 ......................................................................................................................17 3.4.3 设计全局E-R模式 ..............................................................................................................18 3.5 系统和数据库的配置 .................................................................................................................19 3.6 数据库表结构 .............................................................................................................................19 4 系统实现 ............................................................................................................................................22 4.1 系统前台的实现 .........................................................................................................................22 4.1.1 会员信息修改 ......................................................................................................................23
4.1.2 会员发帖模块 ......................................................................................................................24 4.1.3 会员回帖模块 ......................................................................................................................24
I
成都学院学士学位论文(设计) 4.1.4 版主管理帖子模块 ..............................................................................................................25 4.2 系统后台的实现 .........................................................................................................................26
4.2.1 会员管理模块 ......................................................................................................................26 4.2.2 公告管理模块 ......................................................................................................................27 4.2.3 版块管理模块 ......................................................................................................................27 4.2.4 非法字符管理模块 ..............................................................................................................28 4.2.5 修改密码模块 ......................................................................................................................29 5 系统的调试与测试 ............................................................................................................................30 5.1 软件测试的目的 .........................................................................................................................30 5.2 软件测试的任务 .........................................................................................................................30 5.3 测试环境 .....................................................................................................................................30 5.3.1 测试环境的配置 ..................................................................................................................31 5.3.2 添加和运行项目 ..................................................................................................................32 5.4 本系统测试 .................................................................................................................................33 5.5 测试总结 .....................................................................................................................................34 结 论 ......................................................................................................................................................35 参考文献 ................................................................................................................................................36 致 谢 ......................................................................................................................................................37
II
成都学院学士学位论文(设计) 绪 论
项目开发的背景:现今的网络已经很发达,但是学生之间的交流很少,甚至没有。存在的现状基本是各个班级内部交流,各个寝室之间的交流。又由于没有相对方便的交流平台,许多大学生没有一个“思想安放地”,导致很多新的想法和看法没有很好的传播和交流。学校的很多通知和资讯不能第一时间的传达开来。这样,就不利于学术的交流与个性的发展,学生们的接触面狭窄[1]。
在该平台上进行信息的分享与交流、二手货公布与交易,探讨自己身边发生的事,从而为大学生提供一个生活、学习和交流的平台。通过这个平台的运行和大学生的参与从而打破学生们墙与墙的隔阂,让大学生之间能够自由的更加方便的进行交流和信息分享。
目前,国内外论坛一般采用地面论坛方式:由留言所有者将留言交与论坛行,然后由论坛组织者进行统一管理。
现在国内外也有很多论坛系统,采用的技术也是多种多样,如基于SSH模式,但大多数校园论坛设计主要用大型论坛行。至于小型论坛行,利用校园论坛设计组织论坛活动的并不多。针对国内外对校园论坛设计的巨大需要和基本需要,一个好的校园论坛设计,必须功能齐全,操作简便,向用户展示友善的操作界面。在完善功能的同时又必须兼顾系统的灵活性,安全性,健壮性。一个好的交流论坛设计,不管是计算机专业人员还是其他用户都能很快上手,操作简单,便于安装,容易普及[2]。
研究目的和意义:随着计算机技术的不断发展与提高,人们深刻的认识到了其强大的功能及在现代社会中的各个领域发挥着无可替代的重要的作用。其中计算机网络技术更是得到了充分的应用,然而在网站设计中Web数据库技术已然成为最为广泛应用的网站架构的基础技术,网络提供了用户与用户之间通信交流的有效手段。利用JSP技术实现Web服务器与数据库的连接,完成对网站信息的查询与处理。
由于网络具有传播信息容量大,形态多样,迅速方便且自由交互的特点,其已发展成为新的传播媒体及交互平台。目前就有很多不同形式的网站提供人们共享资讯,而论文中目的是介绍运用JSP技术设计并实现论坛网站的功能。构建一个交流平台通过互联网使用户和用户之间可以进行交流,分享各种信息;同时也可以通过网络提出所遇到的各种问题等待他人的解答,并彼此认识,交流扩大知识[3]。
1
成都学院学士学位论文(设计) 设计实现论坛网站的主要意义在于:首先,现今JSP在网站设计方面有着突出的优势,因此有必要掌握并熟练应用JSP动态网页设计技术;其次,通过数据库与Web服务器连接来对网站数据进行管理,掌握不同环境的关联与应用;最后,随着网络的发展及人们对知识信息的需求不断提升,网络已成为不可忽视的资讯来源,而论坛网站便能满足这个要求。
研究内容:本课题研究的基本内容是高校学生交流互动平台的实现与开发,它基于SSH框架,采用Java语言,MyEclipse开发工具实现注册、发帖、回帖等系列功能[4]。
课题主要研究并实现的内容有如下几方面:
数据存储与数据库描述,由于论坛需要储存用户及其所发帖子的相关信息,而在论坛运行过程中这类相关数据量会逐渐增大,因此要依据数据库来实现对这些数据的存储和管理。
通常,用户要存有其注册时的ID,用户名,密码等个人信息,以方便网站的管理。同时,论坛中的主题及帖子同样需要相应的信息数据,以方便其分类与管理。根据上述分析,系统数据库中的主要表及其关系如下:
会员信息表(用户ID,用户名,密码,姓名,性别,年龄…);帖子主题表(用户ID,标题,内容,上传的附件,…);帖子回复表(用户ID,内容,…);管理员表(管理员ID,用户名,密码,…)。主表中用户的ID属性为主键。
用户在网站中进行的活动,这是课题的重点工作,涉及到如下内容:会员注册:用户可以注册成为《爱上旅游技论坛》的会员;会员登录:会员注册成功后可以可以登录到网站;查看帖子:会员登录网站后可以浏览网站上的帖子以及发布的信息;回复帖子:会员可以对帖子进行跟帖操作;公告信息:会员登陆网站可以浏览管理员发布的站内资讯;帖子管理:版主可以对自己负责的版块的帖子进行置顶、精华、删除等操作,版主也拥有普通会员所以的功能;版块管理:对版块进行修改、删除、增加等;会员管理:对会员注册信息进管理(锁定);版主设置:管理员为每个版块分配版主;公告管理:管理员发布站内资讯信息;非字符管理:管理员设置非法字符,当会员发布的帖子内容中包含所设置的非法字符时,则以*号取代之。
2
成都学院学士学位论文(设计) 1 相关知识技术
1.1 平台选择
Microsoft软件是日常生活中使用最为广泛的软件,基于这一特点,我们选用的平台是JSP+MySQL数据库,它适应于Windows操作系统并能很好的与其应用程序结合,而且MySQL数据库也易操作,从而大大降低了编程难度。具体开发平台为:采用Internet架构,Bowser/Server模式。Web服务器采用Tomcat 6.0服务器,数据库管理系统为MySQL。
1.2 开发工具介绍
在开发本平台中所用到的开发工具就是是知名的Java项目开发工具MyEclipse。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench,简称MyEclipse)是对Eclipse IDE的一种扩展,利用MyEclipse,我们可以在数据库的开发、发布,以及在应用程序服务器的整合当中极大地提高系统的工作效率。MyEclipse是一个功能非常丰富的集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,MySQL,Hibernate[5]。
大部分程序员喜欢使用Tomcat,因为它运行时占用的系统资源非常少,扩展性好,而且支持负载平衡等程序开发应用系统最常用的一般功能;目前它还在不断的更新和完善,程序爱好者都可以加入新的功能以实现自己的需求[6]。
Tomcat是一个测试常用的小型服务器,在中小型的系统中(并发访问用户不是很多)被普遍使用,是开发者调试网站程序的第一选择。对于一个实践者来说,可以这样认为,当机器上配置好服务器时,可利用它响应用户对HTML页面访问的请求。实际上Tomcat 只有部分是Apache服务器的扩展,它是独立运行的,所以当我们运行Tomcat服务器时,实际上他是作为一个与Apache独立开来的进程单独运行的程序。
这里的诀窍是,当服务器配置正确时,Apache就可以为HTML页面服务了,而Tomcat实际上运行的是JSP页面和Servlet。再者,Tomcat和IIS、Apache等其他的Web服务器一样,都具有处理HTML页面的能力,另外它还是一个容器[7]。
1.3 数据库技术介绍
MySQL是一个具备完全Web支持的数据库产品,提供了对可扩展标记语言 (XML)的核心支持以及在Internet上和防火墙外进行查询的能力,提供了以网页(Web)标准
3
成都学院学士学位论文(设计) 为基础的数据库扩展功能。MySQL强大的开发工具和各类开发特性大大提高开发效率,同时也进一步拓展应用空间,给使用者带来了新的商业应用机遇[8]。
1.4 系统开发思想与技术
本系统是基于SSH的一个论坛系统,本系统采用JSP技术,基于MVC模式开发。 1.4.1 系统的基本框架
本系统采用JSP技术,基于MVC模式开发,使用JSP+JavaBean+Servlet来增加系统的开发速度。所谓的MVC模式是“Model-View-Controller”的缩写,中文翻译为“模式-视图-控制器”。程序就是用JavaBean和Servlet这两个框架来实现模型层和控制器这两层,JSP实现视图这一层。一般来说程序就是在数据库和页面之间起桥梁作用的,Jsp页面请求先到Servlet,再到JavaBean,再回到Servlet,回到JSP页面,Servlet主要处理来自页面的请求,JavaBean主要是和数据库的交互,使用JDBC技术获取的数据主要封装在JavaBean中[9]。
1.4.2 JSP及JavaBean介绍
JavaBean是用来描述Java的软件组件模型。在Java的软件组件模型中,通过JavaBean就可以扩充Java程序的无限功能,JavaBean的组合可以很快的生成新的应用程序。对于开发者来说,最好的一点莫过于JavaBean可以重复利用代码,另外对于程序的易维护性也得到大大的提高。
JavaBean的正确的执行很大程度上依赖于Java虚拟机(Java Virtual Machine),运行JavaBean最小需要JDK1.1以及以上的版本。JavaBean的传统应用在于可视化的领域。自从拥有了JSP后,JavaBean就更多应用在非可视化领域,服务器端应用方面也表现出越来越强的能力[10]。
就拿发布帖子程序来做例子,我们要实现在发帖这样一个功能,就可以先写一个针对于帖子操作的JavaBean,先建立一个公共的添加成员方法,然后在前台JSP页面中直接调用添加成员的方法来实现。如果我们在后来又想添加帖子时只需要判断数据库的文件中是否有数据,没有数据就不得添加,这个时候我们就可以修改JavaBean的添加方法,加入代码语句来实现,这样就可以不通过前台的JSP页面来修改程序了。
当然,我们也可以把很多的操作都写在JSP页面程序中,不过这样会让我们的JSP页面变的很庞大,这样就不利于我们修改代码了。所以我们知道,JavaBean可以较好地实现逻辑的封装并有利于程序维护等等。
4
成都学院学士学位论文(设计) 复杂的应用涉及大量的代码,因而把业务逻辑和前端的表示相分离就显得格外重要,这种分离可以让任何一方的变化不会影响到另外一方。所以,所有的JSP代码都应该限制在表示层,可是如果这样的话,你如何实现你的业务逻辑呢?这就是JavaBean所做的事情。JavaBean技术是一个独立于平台的组件模型,它让开发者编写、测试通过一个组件后,可以随处使用,提高了复用性。在JSP技术中,JavaBean实现了业务逻辑部分,它把数据返回给JSP页面,由JSP页面负责格式化数据并输出到客户端的浏览器。
1.4.3 SSH简介
SSH在J2EE项目中表示了3种框架,即Spring + Struts +Hibernate。Struts对Model,View和Controller都提供了对应的组件。Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,可以应用在任何使用JDBC的场合,可以在Servlet/JSP的Web应用中使用,也可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
(1)Struts:Struts对Model,View和Controller都提供了对应的组件。 ActionServlet这个类是Struts的核心控制器,负责拦截来自用户的请求。Action这个类通常由用户提供,该控制器负责接收来自ActionServlet的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给JSP页面显示。
Model部分由ActionForm和JavaBean组成,其中ActionForm用于封装用户的请求参数,封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionForm里面的请求参数处理用户的请求。JavaBean则封装了底层的业务逻辑,包括数据库访问等[11]。
View部分采用JSP实现。Struts提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与Model的有效交互,并增加了现实功能。
Controller组件有两个部分组成系统核心控制器,业务逻辑控制器。系统核心控制器,对应ActionServlet。该控制器由Struts框架提供,继承HttpServlet类,因此可以配置成标注的Servlet。该控制器负责拦截所有的HTTP请求,然后根据用户请求决定是否要转给业务逻辑控制器。业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用Model来完成处理。对应Action部分。
5
成都学院学士学位论文(设计) (2) Spring简介:用来解决企业应用开发的复杂性,使用基本的JavaBean代替EJB,并提供了更多的企业应用功能,可以任何Java应用简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架[12]。
轻量,从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。
控制反转,Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反,不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。
面向切面,Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的完成业务逻辑仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。
容器,Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个Bean如何被创建基于一个可配置原型(Prototype),你的Bean可以创建一个单独的实例或者每次需要时都生成一个新的实例,以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。
框架,Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。
所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。
(3)Hibernate简介:Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate的核心接口一
6
成都学院学士学位论文(设计) 共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五个核心接口分别加以介绍[13]。
Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSesion对象称为用户session。
SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。
Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。
Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。
Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。
7
成都学院学士学位论文(设计) 2 系统分析
2.1 可行性分析
可行性分析是在全面调查基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。这部分将从以下三个方面进行研究:技术可行性、经济可行性、社会可行性。
2.1.1 技术可行性
该系统拟采用成熟的数据库技术与软件开发技术,使用MySQL和Tomcat 6.0服务器与JSP技术。JSP对于在Web应用中集成JavaBean组件提供了完善的支持,这种支持不仅能缩短开发时间(可以直接利用经过测试和可信任的已有组件),避免重复开发。JavaBean组件可以用来执行复杂的计算任务,或负责与数据库的交互及数据提取等。前台主要使用HTML语言,用JSP页面对表单数据进行处理[14]。
Tomcat服务器系统由推出至今,其方便,宜用等特性深得开发人员的赞许,再加上其资源免费,下载方便,使得它在信息系统开发中应用日益广泛。
本系统对用户的要求,除了需要具备在Microsoft Windows平台上使用个人电脑的知识外,并不需要特别的技术能力。使用系统的管理员,需要具备对Tomcat服务器的使用能力,在投入使用前,无需对操作系统的人员进行培训。这样既减少投入成本又简化了操作环节。
因此,开发该系统具有技术可行性。
2.1.2 经济可行性
经经济可行性分析要估计项目的成本和效益,分析项目经济上是否合理。即进行成本效益分析,评估项目的开发成本,计算开发成本是否会保证项目预期的全部利润。
本系统采用B/S架构,所以在电脑配置方面只需要能进行最基础的操作的配置即可,在维护成本上B/S也有着天生的优势。而且论坛系统在经济上较其它交流主要有以下几个突破的优势:投资比较少,同时增加了许多方便;交流时间不受限制,可以在一天24任何时间;交流范围不受地域、距离限制,通过网络使得更多的网民都可以通过网络得到发表意见的机会,方便的同时还省去了其他交流带来的消费[15]。
总的来说,网上论坛的兴起,打破了传统的面对面交流讨论,突破了时间空间的局
8
成都学院学士学位论文(设计) 限,大大提高了效率带来了方便,也免去了其他花费有效地降低了成本给大家带来更大的利益。
由以上可知,本系统在经济上是可行的。 2.1.3 社会可行性
如今,人们的生活学习越来越依赖电脑以及互联网,人们可以通过BBS交流平台来结识更多的朋友,获取更多的知识,而且这样通过通过BBS交流平台还不受时间、空间的限制,人们可以在任何时间,地点投入到交流平台发表自己的见解和意见。
所以在生活、工作节奏如此之快的信息时代,人们更多的时间都投入到工作和学习中,通过BBS交流平台成为社会发展的必然,所以在社会可行性上也是必须的。
2.2 功能需求分析
本论坛以目前国内外成熟论坛为引导,实现论坛的基本功能,根据调研分析,本论坛实现以下功能:
(1)用户注册:新用户注册,填写用户信息,检验用户信息的有效性,并将用户信息持久化。
(2)用户登陆:提供用户凭证,验证用户信息是否合法,根据用户角色授权。 (3)用户管理:管理员有管理权限,管理版块,会员管理,版主设置,非法字符管理,公告管理。
(4)论坛版块管理:管理员可以添加、删除、编辑论坛版块。
(5)帖子管理:管理员可以设置版主,版主可以对本版块帖子进行删除、置顶、设精华等操作。
(6)帖子发表:注册用户可以在感兴趣的版块中发表新帖。 (7)帖子回复:用户可以对自己感兴趣的主题发表回复。
(8)游客部分:浏览者可以注册成为会员,会员和浏览者都可以查看与论坛有关的信息,有关新闻公告和论坛首页。
用户使用论坛,有一定的流程:用户注册登陆进入论坛,就某个话题(主题帖)展开讨论,通过发帖功能发布新的话题,通过回帖的功能回复已有的话题,通过搜索功能查找已有的话题;管理员通过管理功能创建、编辑、删除论坛的板块,管理注册用户,管理帖子,设置论坛基本参数。具体业务流程如图2-1所示。
9
成都学院学士学位论文(设计)
图2-1业务流程图
系统的业务流程图可以很清晰看出系统的整个业务流程,浏览者、用户、和管理员都是通过该流程拥有和使用系统赋予的权限和功能。
图2-2发帖流程图
10
成都学院学士学位论文(设计) 该功能主要包括两个操作分别为:用户发表新的帖子,回复他人发表的帖子。通过这两个操作实现用户之间的交流及分享信息。用户登录论坛后,可在相应的主题模块中发表帖子来与其他用户进行交流,也可对别人发表的帖子个人感兴趣的帖子进行回复来发表自己的观点。
开始 用户注册 N 是否成功 Y 返回首页 提示注册成功 结束
图2-3注册流程图
开始 用户登录 用户名密码 是否正确 N 返回登录界面 Y 进入论坛主页 结束 图2-4登录流程图
11
成都学院学士学位论文(设计) 前台管理主要实现用户在论坛中所要进行的基本操作,其中主要包括用户注册登陆。而这里主要介绍用户注册登陆功能的实现。实现用户在网站注册新的账户,注册成功后用户可登陆到论坛网站中并在论坛中进行相应操作。
2.3 软件硬件需求
(1)专业服务器:专业服务器作为网站WWW浏览服务、数据库服务、DNS服务、邮件系统服务和办公自动化服务的使用。其中WWW浏览和数据库服务器分PC服务器和Linux服务器两种方案考虑。
(2) DDN申请和接入设备:DDN申请和接人设备包括DDN线路申请,基带Modem和路由器的配备。
(3)网络设备:网络设备主要包括网络核心交换机及二级交换机。
(4)网站磁盘阵列柜设备:网站磁盘阵列柜设备主要为网站单个服务器提供信息数据存储。
(5)后备电源配备:后备电源配备为信息中心网站服务器提供稳定和在线后备电源支持,一般后备电源可持续供电2小时以上,保证网站信息服务不会因为电源故障而终止服务。
(6)软件:Windows 7操作系统;Microsoft Office 2003;MySQL;MyEclipse;Tomcat;JDK。
12
成都学院学士学位论文(设计) 3 系统总体设计
3.1 总体功能模块
在对网上论坛全面分析调查的基础上,制定出了BBS论坛的总体规划。系统总体设计包括系统总体设计、系统详细设计、系统数据库设计、概念模型设计等。
从数据流图出发,对数据流图进行分析,本系统分注册用户、游客、版主和管理员4个用户权限。即图3-1为系统的功能结构图。
图3-1 功能模块图
3.2 系统主要用例图
< 图3-2 管理员用例图 管理员的主要功能有会员管理、版块管理、公告管理、非法字符管理。可以看出管理员可以在自己管理权限里对管理内容进行增、删、查、改等操作。 13 成都学院学士学位论文(设计) 注册< 会员主要功能有首次注册成为系统会员、成为会员登录后可以在论坛发布帖子、帖子回复、公告查看和个人信息修改等。 注册< 图3-4 版主的用例图 管理员赋予部分会员权限成为版主,版主拥有会员的所有功能,并且可以管理普通会员发布帖子,对帖子进行一些常规操作,如置顶、删除、设为精华等。 3.3 系统业务描述 本系统分管理员、普通会员和版主3个用户权限。管理员的主要功能有管理公告、管理用户、管理版块、非法字符管理等模块;普通会员主要功能有查看公告、发表帖子、 14 成都学院学士学位论文(设计) 回复帖子、个人信息管理;版主的主要功能有查看公告、发表帖子、回复帖子、普通会员帖子管理、个人信息功能。 < 图3-5 系统整体主要用例图 3.4 概念模型设计 在概念设计阶段中,从用户的角度看待数据及处理要求和约束,产生一个反映用户观点的概念模式。然后再把概念模式转换成逻辑模式。将概念设计从设计过程中独立开来,使各阶段的任务相对单一化,设计复杂程度大大降低,不受特定DBMS的限制。利用E-R方法进行数据库的概念设计,可分成三步进行:首先设计局部E-R模式,然后把各局部E-R模式综合成一个全局模式,最后对全局E-R模式进行优化,得到最终的模式,即概念模式。 15 成都学院学士学位论文(设计) 3.4.1 实体和属性的定义 (1)管理员用户类别(用户名,密码,注册时间等) 管理员用户名密码姓名 图3-6 管理员用户实体与属性的定义 (2)注册用户类别(用户名,密码,电话,身份证,注册时间等) 用户名会员删除状态密码锁定状态姓名性别生日身份证号邮箱注册日期 图3-7 注册用户实体与属性的定义 (3)帖子(帖子标题、内容、图片、是否置顶、是否精华、发布日期、发布人等) 标题帖子查看次数内容父贴ID图片发布人发布日期所属版块置顶与否精华与否 图3-8论坛贴子实体与属性的定义 (4)论坛板块(名称,版主,简介,删除状态) 版块名称说明版主删除状态 图3-9论坛版块实体与属性的定义 16 成都学院学士学位论文(设计) (5)新闻公告(标题,内容,添加时间等) 公告标题内容发布日期 图3-10 新闻公告实体与属性的定义 (6)非法字符(编号、字符) 非法字符编号字符 图3-11 非法字符实体与属性的定义 3.4.2 实体关系定义 E-R模型用于描述各个实体之间的联系。一种完整的方式就是依据需求分析的结果,对局部结构中任意的两个实体类型,查看局部结构中任意两个实体类型之间是否存在相关的联系。如果有联系,我们需要确定是1:1、1:N、M:N中的哪个关系。最后还要考察一个实体类型的内部是否也存在某种联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系等等,针对本网站分析如下: (1)一个注册可以参与多个论坛,而一论坛可以接受多个注册 图3-12 注册与论坛留言M:N(多对多的关系) (2)一个论坛过程一次只能产生一个论坛记录,一个论坛记录只属于一个过程 图3-13论坛与帖子 1:N(一对多的关系) 17 成都学院学士学位论文(设计) 3.4.3 设计全局E-R模式 所有的局部E-R模式设计好之后,然后就是把它们整合成一个全局的概念结构。全局概念结构最主要的一点就是要支持所有的局部E-R模式,而且必须要能够合理地表示出一个完整的数据库结构概念。 (1)实现整体实体类型 为了能给多个局部E-R模型提供合并基础,首先我们要确定每一个局部结构模型中的公共类型。在这一步中我们通过实体类型名和他的键来确认公共实体的类型。我们一般把同名的实体类型当作公共实体类型中的一类,具有相同键的类型当作公共实体类型的另一类。 (2)各个局部E-R模式的合并 首先实现的是两两合并;先合并那些在现实生活中有联系的局部结构类型;合并先从公共实体类型开始,最后我们再加入各个单独局部结构就可以完成任务。 (3)消除冲突:冲突可以分为三类:属性、结构、命名的冲突。 设计全局的E-R模式目的并不是在于把多个局部的E-R模式合并为一个E-R模式,而在于消除他们之间的某种冲突,使他们成为能够被所有使用者都能理解并且接受的同一概念模型。 (4)全局E-R模式优化 我们得到全局E-R模式之后,为了提高数据库系统的使用效率,应进一步根据处理需求对E-R模式进行修改和优化。一个好的全局E-R模式,除了能准确、全面地反映程序功能需求外,还应满足实体类型的数量少、属性少、实体类型间联系无多余。 论坛设计的全局E-R模式如图3-14所示: 18 成都学院学士学位论文(设计) 查看111111管理管理管理管理管理n注册用户111n用户n新闻n论坛版面查看1论坛类别n查看11查看n回复游客管理员1管理nnnn查看管理nnn发表帖子 图3-14 论坛全局E-R模式 3.5 系统和数据库的配置 系统按通用的B/S(浏览器、服务器)模式进行设计。 图3-15 B/S结构 数据库在本系统中占据非常重要的角色,数据库结构的设计将直接对应用程序系统的效率产生很大的影响。合理设计可以提高数据使用效率,能保证数据完整性和一致性。 3.6 数据库表结构 下面列举本系统的主要数据表。 (1)版块表(board):主要用来保存管理员添加的版块信息 表3-1 版块表 字段名 ID name remark badmin delstatus 数据类型 int varchar varchar varchar varchar 长度 11 255 255 255 255 描述 ID(主键) 版块名称 版块说明 版主 删除状态 19 成都学院学士学位论文(设计) (2)管理员表(sysuser):储存管理员的基本信息 表3-2 管理员表 字段名 ID uname upass tname 数据类型 int varchar varchar varchar 长度 11 255 255 255 描述 ID(主键) 用户名 密码 姓名 (3)公告表(notice):公告表用来保存站内新闻、公告信息 表3-3 公告表 字段名 ID title content savetime 数据类型 int varchar varchar varchar 长度 11 255 255 255 描述 ID(主键) 标题 内容 发布日期 (4)帖子表(tz):对帖子的内容、标题等帖子信息的储存 表3-4 帖子表 字段名 ID title content img member savetime boardid zdstatus jhstatus looknum fatherid 数据类型 int varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar 长度 11 255 255 255 255 255 255 255 255 255 255 描述 ID(主键) 标题 内容 图片 发帖人 发帖日期 版块ID 置顶状态 精华状态 查看次数 父帖ID 20 成都学院学士学位论文(设计) (5)会员表(member):用来保存用户基本信息 表3-5 会员表 字段名 ID uname upass tname sex birth idcard email img lockstatus delstatus savetime 数据类型 int varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar varchar 长度 11 255 255 255 255 255 255 255 255 255 255 255 描述 ID(主键) 用户名 密码 姓名 性别 生日 身份证号 邮箱 头像 锁定状态 删除状态 注册日期 (6)非法字符表(words):保存论坛涉及到的非法字符 表3-6 非法字符表 字段名 ID word 数据类型 int varchar 长度 11 255 描述 ID(主键) 字符 21 成都学院学士学位论文(设计) 4 系统实现 4.1 系统前台的实现 (1)系统前台用户注册的实现 此模块的功能是用户进行注册,用户添入相关的个人信息。添入的信息提交到后台的处理页,在处理页中将前台传过来的信息进行接受,之后用数据库操作语句将这些数据插入到人员信息表中。在保存会员信息时,还需要判断会员名是否存在,必须保证会员名称的惟一性。注册成功后可以使用本系统进行发帖回帖等操作。 该功能操作的数据库表为member表,用户键入信息为:用户名、密码、姓名、性别、生日、身份证号、邮箱,头像等个人常规信息。 图4-1 用户注册界面 涉及到的SQL有检查用户名的唯一性和执行插入,具体SQL语句如下: select * from member where uname='\"+uname+\"' Insert into member(uname,upass,tname,sex,birth,idcard,email,img,lockstatus,Delstatus, Savetime) values('\"+uname+\"','\"+MD5.getDigest(upass)+\"','\"+tname+\"','\"+sex+\"','\"+birth+\"' ,'\"+idcard+\"','\"+email+\"','\"+filename+\"','正常','0','\"+Info.getDateStr()+\"'); (2)系统前台会员登陆模块 此模块为会员登陆论坛后获取更多操作权限,会员键入正确的用户名和密码登陆后,可以修改个人信息,选择版块发帖,回复自己或他人的帖子等。 22 成都学院学士学位论文(设计) 图4-2 用户登录界面 用户登陆操作的数据库表为member,匹配用户名密码是否存在,如果存在则准予登陆,并将用户信息保存在SESSION中,供全局调用。涉及到的具体SQL为: select * from member where uname='\"+uname+\"' and upass='\"+MD5.getDigest(upass)+\"' and lockstatus='正常' and delstatus='0' 为了用户信息的安全性,本系统采用了密码MD5加密,在用户注册时,密码通过MD5加密后存入数据库,在登陆时会将用户提交的密码通过MD5加密后与数据库中保存的密码进行比对,如果比对成功则登陆成功,如果比对失败则提示用户名或密码错误。 4.1.1 会员信息修改 会员登陆后可以对自己的个人信息进行修改,由于用户名为系统用户唯一标识,故不能修改。会员信息修改操作的数据库表为member,执行的具体SQL语句如下: Update member set upass='\"+MD5.getDigest(upass)+\"',tname='\"+tname+\"',sex='\"+sex+\"', birth='\"+birth+\"',idcard='\"+idcard+\"', email='\"+email+\"',img='\"+filename+\"' where id=\"+id 图4-3 信息修改界面 23 成都学院学士学位论文(设计) 4.1.2 会员发帖模块 会员登陆后选择版块进入版块帖子列表界面,点击“我要发帖”链接,界面跳转至帖子编辑界面,键入标题、内容、图片后点击提交按钮,则可以进行发帖。 图4-4 发帖界面 发帖操作的数据库表为tz,帖子关联到版块,每个版块内帖子列表只查询属于该版块的帖子。保存发帖的具体SQL语句为: insert into tz(title,content,img,member,savetime,boardid,zdstatus,jhstatus,looknum,fatherid ) \" +\" values('\"+title+\"','\"+content+\"','\"+filename+\"','\"+member.get(\"uname\")+\"','\" +Info.getDateStr()+\"','\"+boardid+\"','no','no','0','0') 在执行以上SQL前,通过查询管理员设置的非法字符,来对发帖内容进行过滤,字符串过滤的方法为: ArrayList 4.1.3 会员回帖模块 会员选择某一主题进入主题详情,可以在本界面针对本帖进行回帖操作,当会员编辑回帖信息提交后,系统自动通过SESSION中保存的当前会员信息,将回帖人等信息提取后和回帖信息一并保存在tz表中,为了系统数据库表的简洁,本系统的发帖和回帖保存在同一张表内,主题的FATHERID为0,表示为父帖,若是回帖,则FATHERID为 content=content.replaceAll(m.get(\"word\").toString(),\"**\"); 24 成都学院学士学位论文(设计) 父帖的ID,在前台页面中父由的展示以及回帖的展示也是根据此规则来体现的,回帖功能涉及的数据库表为tz ,执行的SQL语句为: insert into tz (content,member,savetime,fatherid) values ('\"+content+\"','\"+member.get(\"uname\")+\"','\"+Info.getDateStr()+\"','\"+fatherid+\"') 方法执行完成后,页面跳转至帖子详情页,会员即可以看到自己回帖的内容。 图4-5 回复界面 4.1.4 版主管理帖子模块 版主的角色相当于是一个前台管理员,既拥有普通会员的所有权限,也可以对版内的帖子进行管理(帖子置顶,精华帖,删帖),下面首先描述如何判断当前用户为版主,当会员登陆后,SESSION记录会员信息,在版块信息中记录了管理员指定的版主用户名,会员成功登陆后,系统将当前会员的会员名与版块信息中记录的版主用户名进行对比,如果相符,则此会员为版主,否则为普通会员,在版块内帖子列表页,系统通过判断当前会员是否为版主来为版主设置置顶、精华、删帖,否则普通会员不会拥有这些权限。 图4-6 帖子管理界面 当版主设置了某帖为置顶时,该帖的置顶状态更新为YES,此帖则会以蓝色的标题显示在本版块的顶部,本功能涉及的SQL语句为: \"update tz set zdstatus='yes' where id=\"+zdid 25 成都学院学士学位论文(设计) 反之,取消置顶则把置顶状态更新为NO 设为精华帖的SQL语句为: \"update tz set jhstatus='yes' where id=\"+jhid 反之,取消精华则把精华状态更新为NO 删除帖的SQL语句为: \"delete from tz where id=\"+delid 4.2 系统后台的实现 此模块为管理员登陆论坛后获取更多操作权限,管理员输入正确的用户名和密码登陆后,可以修改个人信息,会员管理,版块管理,公告管理,非法字符管理等。 图4-7 后台登录界面 4.2.1 会员管理模块 后台管理员登陆后可以对本论坛的注册会员进行管理,对会员的帐号进行锁定,会员管理的界面设计如下: 图4-8 会员管理界面 26 成都学院学士学位论文(设计) 会员帐号锁定操作的数据库表为member,更新的字段为lockstatus,正常状态为0,锁定状态为1,具体执行的SQL语句为: 锁定 \"update member set lockstatus='锁定' where id=\"+did 取消锁定 \"update member set lockstatus='正常' where id=\"+jdid 4.2.2 公告管理模块 本功能为管理员编辑站内资讯,发布在前台供游客以及会员用户浏览查看,操作的数据库表为NOTICE,界面设计如下: 图4-9 公告管理界面 添加公告执行的SQL为: \"insert into notice (title,content,savetime) \" +\"values('\"+title+\"','\"+content+\"','\"+savetime+\"')\" 编辑公告执行的SQL为: \"update notice set title='\"+title+\"',content='\"+content+\"' where id=\"+id 删除公告执行的SQL为: \"delete from notice where id=\"+did 4.2.3 版块管理模块 本模块为管理员维护本论坛系统的版块信息,通常论坛的帖子类型以版块来区分,本论坛遵循了这一规则,将帖子以版块为界分门别类的管理起来,可以为每个版块指定版主为替代管理员对论坛的日常管理。 27 成都学院学士学位论文(设计) 图4-10 新增版块界面 图4-11 版块列表界面 新增版块的SQL语句为: insert into board (name,remark,badmin,delstatus) values('\"+name+\"','\"+remark+\"','\"+ badmin+\"','\"+delstatus+\"') 编辑版块的SQL语句为: \"update board set name='\"+name+\"',remark='\"+remark+\"' where id=\"+id 设置版主的SQL语句为: \"update board set badmin='\"+badmin+\"' where id=\"+id 4.2.4 非法字符管理模块 为了论坛内的文明交流,本系统对会员发帖内容需要进行过滤,过滤掉不友好或敏感字符,非法字符通过一个单独的模块来维护,易维护性和及时性都得到了保障。 图4-12 非法字符管理界面 本功能涉及的数据库表为words,新增执行的SQL语句为: \"insert into words (word) values ('\"+word+\"')\" 28 成都学院学士学位论文(设计) 编辑非法字符的SQL语句为: \"update words set word='\"+word+\"' where id=\"+Id+\"' 在保存用户发帖及加帖之前,通过数组遍历的方式为对内容进行转换,达到了非法字符过滤的要求。 4.2.5 修改密码模块 管理员登陆后可以对自己的个人密码进行修改,这样可以对管理员用户的安全有一定的保证保证。 图4-13 密码修改界面 29 成都学院学士学位论文(设计) 5 系统的调试与测试 5.1 软件测试的目的 软件测试的目的,第一是确认软件的质量,其一方面是确认软件做了你所期望的事情,另一方面是确认软件以正确的方式来做了这个事件。 第二是提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息。 第三软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。如果在一个软件程序开发成功之后,我们开发者才发现了很多问题,这说明该软件在开发过程中很有可能就是存在缺陷。因此我们说软件测试的最主要目的就是保证所开发的软件是高质量的。 5.2 软件测试的任务 首先,对注册新用户模块进行测试,填写注册模块中的用户,邮箱,密码,确认密码等内容,填写必须按要求进行。例如,当注册时用户名太长时间系统会提示用户名在6到12个字符,要求重新填写,对于邮箱、密码也有格式和长度的要求,当确认密码与密码不一致时,系统会进行提示,要求重新填写。若填写成功,在注册时的邮箱中会收到一个超链接,用于对账户的激活。 其次,是用户登录模块的测试,其中基本页面中包含用户名、密码及登录按钮,本系统有用户有普通用户和管理员用户,两种用户对应不同的权限,账号可以用来区分权限,例如本系统注册了一个用户名为123456,密码为123456的普通用户,和用户名为xiaowen,密码为xiaowen的管理员,管理员比用户多一些权限,如对帖子的管理等功能。 再次,对个人中心模块的测试,本功能包括修改密码,增加个人主题和对帖子的查看,这个模块管理个人的基本信息。用户可以通过这个模块对自己的信息进行操作。 最后,是发帖模块,发帖模块的基本功能是发帖,这个模块中包括图片的插入,保证用户可以发带有图片的帖子。 5.3 测试环境 Apache提供的Web服务器Tomcat 6.0使得用户可以在Windows 2000以上操作系统下发布自己设计的动态网页。因此对论坛的调试工作主要是利用Tomcat 6.0的强大功能在本机下完成的。为了在本机下浏览Web页面,首先在创建该系统的站点上(该系统 30 成都学院学士学位论文(设计) 使用的是Web的默认站点)将IP地址设定为127.0.0.1,它的缺省域名值为localhost。然后向IE浏览器输入本地动态网页的URL,Web服务器在收到浏览器传送的URL之后找到网页文件,并在服务器端执行该文件后将此文件以JSP文件的形式返回该浏览器。 5.3.1 测试环境的配置 创建安装项目:要对一个应用程序进行打包部署,首先需要把tomcat服务器集成到myeclipse开发工具。 点击windowpreferences,弹出对话框,如图5-1所示: 图5-1 测试环境配置界面 选择MyEclipse,选择Servers,选择Tomcat选项,选择Tomcat 6.X,并选择Tomcat文件的路径,点击Enable,使这个设置为有效的。如图5-2所示: 31 成都学院学士学位论文(设计) 图5-2 测试环境配置界面 最后点击确认完成Tomcat服务器的添加。 5.3.2 添加和运行项目 添加项目:服务器选择Tomcat 6.X,最后点击finish完成部署。 图5-3 测试环境配置界面 运行项目:启动服务器,右键点击tomcat 6.x,点击runserver,则开始运行Tomcat。 32 成都学院学士学位论文(设计) 图5-4 测试环境配置界面 5.4 本系统测试 软件测试是为了发现程序中的问题。本系统不很成熟,存在不少问题。在设计完成后针对本系统的功能模块,对各个功能进行逐一测试,完成后填写测试用例。 表5-1 注册功能测试表 用例名称 用例描述 测试方案 注册功能的测试 当游客进入到论坛首页后点击注册,在键入正确的需要的信息后,点击注册,通过验证后可以注册成功,然后可以登录进入系统。 用户进入注册页面,显示需要用户输入的信息,正确输入后,便可以成功成为注册会员。 输入的数据 在注册页面输入需要的信息,用户名、密码、身份证号码、邮箱等点击“注册”。 预期结果 注册成功后提示成功信息,可以进行登录进入系统。 表5-2 登录功能测试表 用例名称 用例描述 测试方案 登录系统功能的测试 当用户进入到论坛首页后点击登录,在键入正确的用户名和密码后显示登录成功,成功登录后便可以显示自己的用户名,进行权限内的操作。 用户进入登录页面,显示需要用户输入的信息,正确输入后,提示成功。 输入的数据 在登录页面输入需要的信息,用户名、密码点击“登录”。 预期结果 成功登录系统后显示自己的用户名,可以进行权限内的所有操作。 33 成都学院学士学位论文(设计) 表5-3 上传头像测试表 用例名称 用例描述 测试方案 个人信息头像功能的测试 当用户进入到论坛首页后点击注册,在头像栏中点击可以上传图片作为自己的头像,点击后成功上传就可以在个人信息里面成功显示自己头像。 用户进入头像页面,选择一图片点击确认开始上传,提示成功后,便可以显示。 输入的数据 点击浏览后找到要上传的图片,点击“提交”。 预期结果 在基本资料和发表的帖子中个人信息处可以见到上传的头像。 表5-4 发帖功能测试表 用例名称 用例描述 测试方案 发表帖子功能的测试 当用户进入到论坛首页后进入某个版块,在版块内发表自己的意见和建议,看是否能成功显示发表的内容。 用户进入页面后,在工具栏点击“我要发帖”进去发帖。 输入的数据 发帖栏中输入“第一个帖子”,点击“提交”。 预期结果 展示栏中出现发表的帖子,点击可以查看具体内容。 5.5 测试总结 本次对软件测试进行了功能性测试。在系统测试之前,先要编写测试用例,编写测试用例主要依据软件早期的需求分析说明书。测试用例应覆盖软件功能的绝大方面。选择测试用例主要用等价类划分、边界值分析、无效类分析,路径分析和条件分析等。执行完测试要写测试报告,这是软件是否决定发布的重要参考,包括发现多少缺陷,修正多少缺陷,剩余缺陷是否严重影响软件发布。通过这次测试,了解了软件测试的大致方 向,要作好测试工作,也是需要丰富和广泛的知识,当然更重要的是实践。 34 成都学院学士学位论文(设计) 结 论 随着计算机的发展及现代社会中对网络的使用越来越频繁,人们要通过不断学习新的知识来适应现今竞争越发激烈的社会,把自己融入到社会的发展中,因此研发一个论坛网站提供大家分享交流信息,接触更多的知识来充实自我,对于现代社会的人们有着重要的意义。 在明确了网站系统的功能后,设计了整个网站的操作流程,将整个系统分为几个小的模块来逐一完成,这样整个网站系统的设计思路便比较清晰。每一个子模块在设计实现中都遇到了许多不同程度的问题,通过查阅资料书籍及在互联网中询问他人对相关问题的解决方法,再结合自己的遇到的情况并对程序进行多次的高试最后实现系统功能,深刻的体会到互联网的强大功能,了解通过网络并结合自己的实际情况来解决问题的方法和网络的方便快捷之处。在程序开发的过程中不仅提高了编程能力,同时也体会了一个论坛网站所能实现的真正用处和其必要性。在系统设计过程中,了解到在设计程序之前一定要对所设计的系统有较深刻地了解,并对用户的需求进行认真的分析,并将其分类,这样才能有条不紊的一步步进行详细设计。实现一个论坛网站系统还是有很多要学习的地方,不仅要掌握好相关知识,同时还要了解所要应用的各种工具,将之相结合来运行实现网站的工作。 由于之前对JSP技术及它所要应用的开发环境不是非常了解,因此在程序的开发过程中遇到了较多的困难,但通过对一些相关专业书籍的查阅及在网上搜索所遇问题的解决方法,最后实现了网站的正常运行。 而在开发网站之前,要在网上或书中查看多个在似的网站系统。体会真正的论坛网站的开发流程,并不仅仅是注重代码的实现,在开发之前的用户需求分析更加重要,要根据用户所需要的功能来设计系统,否则最后实现的系统可能并不实用。 35 成都学院学士学位论文(设计) 参考文献 [1] 刘冰从. BBS看校园网络文化对大学生学习的影响[J]. 现代远程教育研究, 2005, 23(2):24-27 [2] 陈彤旭,邓理峰. BBS议题的形成与衰变——对人民网强国论坛的个案研究[J]. 新闻 与传播研究,2002,18(13):13-25 [3] 孟新. BBS对大学生的影响及对策研究[J]. 南京工业大学学报(社会科学版),2003, 15(4):100-104 [4] 姜德学,姜丽丽. 充分发挥高校BBS思想政治教育功效的思考[J]. 大连理工大学学 报(社会科学版),2007,32(2):1-3 [5] 杨艳,许占文,李建伟等. 利用Java实现Web页面的动态功能[J]. 沈阳工业大学学 报,2000,22(4):335-338 [6] 宁承林. 基于MVC模式的Struts框架在J2EEWEB应用中的研究与实现[D]. 北京: 北京邮电大学,2010:28-38 [7] 殷彤丽. 基于HTML语言的网页制作方法[J]. 赤峰学院学报,2011,16(11):40-42 [8] 兰旭辉,熊家军,邓刚. 基于MySQL应用程序设计[J]. 计算机工程与设计,2004, 25(3):25-28 [9] 杨志刚. MVC模式在办公自动化信息系统中的研究与应用[D]. 太原:太原理工大学, 2011:42-58 [10] 余望枝,朱少. BBS论坛与百度知道的信息评价机制探讨[J]. 图书馆学研究,2008, 22(12):81-83 [11] Bruce Tate. Bitter Java[M]. Connecticut: Manning Publications, 2002 [12] Joshua Bloch. Effective Java Programming Language Guide[M]. Boston: Addison- Wesley, 2001 [13] Bruce Eckel. Thinking in Java[M]. New Jersey: Prentice Hall PTR, 2002 [14] Joshua Bloch. Effective Java: Second Edition[M]. Boston: Addison-Wesley, 2008 [15] Kathy Sierra, Bert Bates. Head First Java, 2nd Edition[M]. California: O'ReillyMedia, inc, 2005 36 成都学院学士学位论文(设计) 致 谢 经过几个月的努力,我成功的将此毕业设计完成了,这段时间我学习了很多,攻克了以前很多不知道的难关、难点,对于以前学习的知识有了一次更完善的复习,忘记的知识点也通过请教老师同学和自己上网、翻阅书籍重新找回。在完成这个系统过程中,增强了自学能力和克服困难的能力,对于以后步入工作有很好的基础。 转眼间,我的大学即将结束,在这毕业之际,我要感谢导师对我的指导,感谢信息科学与技术学院的全体老师们。从他们身上我真真切切地学到了许多宝贵的知识,更多的做人的道理。他们在学习知识上对我悉心指导,令我受益非浅。 同时还要感谢信息科学与技术学院的辅导员多年来对我的培养和帮助,是他们为我提供了良好的大学学习氛围和校园实践的机会。 感谢各位专家和评委耐心审阅我的论文,他们提出了许多宝贵的意见和建议。 恳请老师不吝赐教、批评指正! 37 因篇幅问题不能全部显示,请点此查看更多更全内容