成都大学软件工程课程设计软件工程课程设计学生姓名学号200710411院(系)信息科学与技术专业计算机科学与技术题目网络论坛系统指导教师曾宇2010年06月成都大学软件工程课程设计目录1前言.........................................................11.1选题背景和意义.............................................11.2系统要解决的问题...........................................12相关技术及运行环境简介.......................................12.1JSP技术简介...............................................12.2JAVABEAN技术简介..........................................22.3JDBC技术简介..............................................22.4TOMCAT技术简介............................................32.5运行环境...................................................33需求分析.....................................................33.1用户功能需求...............................................43.2数据需求...................................................54系统整体设计.................................................54.1系统模块结构设计...........................................54.2数据库设计.................................................94.2.1E-R图分析...............................................94.2.1.1ER模型................................................94.2.1.2联系定义..............................................154.2.2数据表设计..............................................154.3系统流程图................................................185详细设计....................................................195.1用户登录模块..............................................205.2用户注册模块设计..........................................215.3帖子主题模块设计..........................................225.4浏览帖子模块设计..........................................235.5发表帖子模块设计..........................................245.6其他模块设计..............................................255.6.1查询用户模块............................................255.6.2帖子管理模块............................................256系统运行和测试..............................................256.1测试运行情况..............................................256.2程序有待改进方面..........................................26结论..........................................................27成都大学软件工程课程设计11前言1.1选题背景和意义在二十一世纪,地球因为互联网的存在,早已变成一个村落。人们在互联网世界里尽情的遨游,享受着Internet带来的无限乐趣。我们习惯了上网看新闻、去论坛看帖、网上购物、撰写自己的网络日志等等。当然,最离不开的,还是各种搜索引擎,帮我们找到想要的信息。总之,互联网已经成为我们的一种生活方式,一个巨大的知识库。本篇设计论文,围绕如何构建网上论坛系统展开研究。网上论坛系统(BBS)是各种信息交流和传布的场所,它不同于电视报纸等传统的媒体,任何人都可以随便的在BBS上发表自己的言论,不受任何限制。除了可以发表文字信息外可以上传和转贴图片、音乐、Flash,可以选择字号、颜色,还可以选择有趣的表情图案。只要花几分种注册(甚至不需要)你就能畅游BBS,从中得到无穷的乐趣。本系统就是基于以上功能的一个BBS,旨在为广大网民提供了一个交流平台,能够在这里畅所欲言,发表自己的看法、观点,同时能够结交朋友为生活增添乐趣。1.2系统要解决的问题本系统要解决网上论坛(BBS)管理的基本功能:用户注册、用户登录、发表文章、阅读文章、回复文章、分页查找、作者查找、个人资料修改。版主可以添加版块,修改版块,查看版主信息,修改版主信息。管理员可以对帖子进行管理,修改管理员自己的信息。超级管理员可以添加新的管理员以及删除管理员,修改管理员资料,以及对帖子的管理,超级管理员还可以添加版主。在设计过程中要解决了JSP最常见的中文乱码问题,并针对不同平台总结出了处理乱码的方法,为今后系统的移植做了铺垫。在数据库连接方面采用数据库连接池技术,数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个。2相关技术及运行环境简介2.1JSP技术简介JSP是服务器端的脚本语言,是以SERVLET为基础开发而成的动态网页生成技术,它的底层实现是JAVASERVLET。JSP(JAVASERVERPAGES)由HTML代码和潜入其中的JAVA代码所组成。服务器在页面被客户端请求以后对这些代码进行处理,然后将生产的HTML页面返回客户端的浏览器。按照脚本语言是服务于某一个子系统的语言这种论述,JSP应当被看作是一种脚本语言。成都大学软件工程课程设计2然而,作为一种脚本语言,JSP又显得过于强大了,在JSP中几乎可以使用全部的Java类。JSP的特点是面向对象、跨平台、和SERVLET一样稳定、可以使用SERVLET提供的API,同时克服了SERVLET的缺点。在使用JSP时一般和JAVABEANS结合使用,从而将界面表现和业务逻辑分离。分开内容和显示逻辑的好处是,更新页面外观的人员不必懂得Java代码,而更新JavaBean类的人员也不必是设计网页的行家里手,就可以用带JavaBeans类的JSP页面来定义Web模板,以建立一个由具有相似的外观的页面组成的网站。JavaBeans类完成数据提供,这样在模板中就没有Java代码,这意味着这些模板可以由一个HTML编写人员来维护。当然,也可以利用JavaServlet来控制网站的逻辑,通过JavaServlet调用JSP文件的方式来将网站的逻辑和内容分离。2.2JAVABEAN技术简介JAVABEAN是基于JAVA的组建模型,有点类似于MICROSOFT的COM组建。JavaBean就是JAVA的可重用组件技术。ASP通过COM来扩充复杂的功能,如文件上载、发送email以及将业务处理或复杂计算分离出来成为独立可重复利用的模块。JSP通过JavaBean实现了同样的功能扩充。JSP对于在Web应用中集成JavaBean组件提供了完善的支持。这种支持不仅能缩短开发时间(可以直接利用经测试和可信任的已有组件,避免了重复开发),也为JSP应用带来了更多的可伸缩性。JavaBean组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等。在JAVA平台中,可以无限扩充JAVA程序的功能,通过JAVABEAN的组合可以快速生产新的应用程序。JAVABEAN通过JAVA虚拟机(JAVAVIRTUALMACHINE)执行,运行JAVABEAN最小的需求是JDK1.1或者以上的版本。对于程序员来说,最好的一点就是JAVABEAN可以实现代码的重复利用,另外对于程序的易维护性等等也有很重大的意义。在实际的JSP开发过程中,读者将会发现,和传统的ASP或PHP页面相比,JSP页面将会是非常简洁的,由于JavaBeans开发起来简单,又可以利用Java语言的强大功能,许多动态页面处理过程实际上被封装到了JavaBeans中。JAVABEAN传统的应用在于可视化的领域,如AWT下的应用。自从JSP诞生后,JAVABEAN更多的应用在了非可视化领域,在服务器端应用方面表现出了越来越强的生命力。2.3JDBC技术简介JDBC是一组API,定义了用来访问数据库源的标准JAVA类库,使用这种类库可以使用一种标准的方法、方便地访问数据库资源。JDBC是用于执行SQL语句的Java应用程序成都大学软件工程课程设计3接口,由一组用Java语言编写的类与接口组成,在JSP中将使用JDBC来访问数据库。JDBC是一种规范,它让各数据库厂商为Java程序员提供标准的数据库访问类和接口,这样就使得独立于DBMS的Java应用程序的开发工具和产品成为可能。JDBC的目标是使应用程序开发人员使用JDBC可以连接任何提供了JDBC驱动程序的数据库系统,这样就使得程序员无须对特定的数据库的特点有过多的了解,从而大大简化了和加快了开发过程。一般的Java开发工具都带有JDBC-ODBC桥驱动程序,这样,只要是能够使用ODBC访问的数据库系统,也就能够使用JDBC访问了。有趣的是,不同于ODBC是OpenDatabaseConnectivity的简称,JDBC并不是JavaDatabaseConnecivity的简称,而是SUN的注册商标,至少官方说法是这样的。JDBCAPI为访问不同的数据库提供了一种统一途径,像ODBC一样,JDBC为开发者屏蔽了一些细节问题。另外,JDBC对数据库的访问也具有平台无关性。2.4TOMCAT技术简介在已JAVA技术为的WEB开发领域中,TAMCAT是许多JAVA程序员相当喜爱的开放源代码产品,它附属在APACHESOFTWAREFOUNDATION所主导的JAKART项目内。由于TAMCT是SERVLET与JSP技术的参考实现(REFERNCEIMPLEMENTATION),所以它不但可以当作独立的WEB服务器,也可以结合其它的WEB服务器,只担任SERVLET容器或JSP容器的角色。2.5运行环境为了保证BBS论坛管理系统运行的高效性和可靠性,服务器应具有较高的软硬件配置,客户端的要求不是很高。此应用程序可广泛运行于国际互联网即Internet,也可适用于内部的局域网。其运行要求如下:软件环境:客户端:Windows95/98/2000/XP,InternetExplorer(IE)等。服务器端:WindowsNT/Windows2000,Tomcat5.0,JDK1.5及其以上版本,IE等;数据库:采用MYSQL,运行于服务器端。硬件环境