《软件工程毕业设计-cms内容管理系统.doc》由会员分享,可在线阅读,更多相关《软件工程毕业设计-cms内容管理系统.doc(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、河北农业大学 毕 业 设 计题 目: CMS内容管理系统 摘要随着网络应用的丰富和发展,很多网站往往不能迅速跟进大量信息衍生及业务模式变革的脚步,常常需要花费许多时间、人力和物力来处理信息更新和维护工作;遇到网站扩充的时候,整合内外网及分支网站的工作就变得更加复杂,甚至还需重新建设网站;如此下去,用户始终在一个高成本、低效率的循环中升级、整合。 根据以上常见问题,设计一套内容管理系统,来有效解决用户网站建设与信息发布中常见的问题和需求。CMS后台管理系统主要为用户后台管理提供方便,而且新闻列表的文章,可以通过爬虫来获取,它流程完善、功能丰富,可把获得的内容分门别类并授权给合法用户编辑管理,并且
2、通过系统查询,分页显示在前台页面上,而不需要用户去理会那些难懂的SQL语法。同时也不用专门的编辑人员呆在电脑前面。论坛的管理也在后台管理系统得到实现,例如版块的管理,帖子的管理。对网站内容管理是该软件的最大优势。关键字:CMS后台管理系统,文章查询,分页显示,爬虫AbstractWith the enrichment and development of networks, many websites can not be quickly follow up a lot of information is derived and the pace of business model innov
3、ation, often need to spend a lot of time, manpower and material resources to handle the information updating and maintenance work; There was a site expansion, the integration of internal and external network and branch site work became more complex, and even still need to build a website; So, the us
4、er is always in a high cost, low efficiency, the cycle of upgrade.According to the above common problems, design a set of content management system, to effectively solve the user common problems in the website construction and information release and needs. CMS background management system mainly ba
5、ckground management provides the convenience for the user, a list of articles and news, could be obtained by the crawler, its process perfect, function is rich, but the classify and the content of the authorized editor for a legitimate user management, and through the system query, paging display at
6、 the front desk page, without the need for users to ignore those difficult SQL syntax. At the same time also need not special editorial staff to stay in front of the computer. BBS management is achieved in the background management system, such as the management section, the management of the post.
7、For web content management is the biggest advantage of the software.Keywords: CMS background management system, the article queries, paging, according to the crawler目 录1 绪论11.1 项目背景及意义11.2系统的研究现状11.3论文组织结构22 系统开发技术及运行环境介绍32.1 Java简介32.2 Ajax简介32.3 JQuery简介32.4校验技术简介42.5 MVC思想简介42.5.1 MVC简介42.5.2 MVC
8、特点52.6 DIV+CSS简介62.7 Mysql简介73 系统分析与设计83.1系统的可行性分析83.1.1技术可行性83.1.2经济可行性83.2需求分析83.3系统设计目标83.4系统模块和功能设计93.5 网站主要组织结构93.7系统的用例图103.8数据库表设计114 系统的实现134.1 数据库的连接134.2 公共模块设计与实现134.3登陆模块144.4后台管理员登录界面154.5 后台管理员功能的实现154.5.1 文章列表管理154.5.2 爬虫管理154.6前台页面实现164.6.1前台新闻页面实现164.6.2 bbs论坛界面174.7核心代码185总结24参考文献2
9、5致 谢261 绪论1.1 项目背景及意义随着网络应用的丰富和发展,很多网站往往不能迅速跟进大量信息衍生及业务模式变革的脚步,常常需要花费许多时间、人力和物力来处理信息更新和维护工作;遇到网站扩充的时候,整合内外网及分支网站的工作就变得更加复杂,甚至还需重新建设网站;如此下去,用户始终在一个高成本、低效率的循环中升级、整合。于是,我们看到很多这样的问题:(1)页面制作无序,网站风格不统一,大量信息堆积,发布显得异常沉重;(2)内容繁杂,手工管理效率低下,手工链接视音频信息经常无法实现;(3)应用难度较高,许多工作需要技术人员配合才能完成,角色分工不明确;(4)改版工作量大,系统扩展能力差,集成
10、其它应用时更是降低了灵活性;对于网站建设和信息发布人员来说,他们最关注的系统的易用性和的功能的完善性,因此,这对网站建设和信息发布工具提出了一个很高的要求。首先,角色定位明确,以充分保证工作人员的工作效率;其次,功能完整,满足各门道把关人应用所需,使信息发布准确无误。比如,为编辑、美工、主编及运维人员设置权限和实时管理功能。此外,保障网站架构的安全性也是用户关注的焦点。能有效管理网站访问者的登陆权限,使内网数据库不受攻击,从而时刻保证网站的安全稳定,免于用户的后顾之忧。为了解决以上常见问题,一套专业的内容管理系统CMS应运而生,来有效解决用户网站建设与信息发布中常见的问题。对网站内容管理是该软
11、件的最大优势,它流程完善、功能丰富,可把爬虫取得的内容分门别类并授权给合法用户编辑管理,而不需要用户去理会那些难懂的SQL语法。1.2系统的研究现状Vignette.奥斯汀, TX Vignette公司,网站内容管理系统的领导者,今天宣布在中层楼资金上它取得了1亿4千万美元,成为奥斯汀基础软件公司中最大的私人资产投资,同时也使Vignette成为在奥斯汀发展最快的互联网软件公司。 Vignette 公司,作为全世界网站内容应用系统的领导者,为公司们提出了解决方案在互联网上建立非常成功的商业。 Vignette的王牌产品是StoryServer 3,它能使公司以应用软件(如在线发布、知识管理和复
12、杂电子商务系统)为基础建立、管理和发布服务,最终加速和提高客户的忠实度和持续力。 超过75个一流公司,包括Ziff- Davis ZDNet, First Chicago NBD, Bay Networks 和 CNET ,使用StoryServer 3 ,每天提供2500万个网页浏览。 StoryServer3 获得了5个行业奖励,包括UPSIDE杂志的网络基础组织类最活跃的私人公司 。 它的 V/5 系列是一套应用软件包,设计用来为门户、B2C 和 B2B 市场需求提供内容管理。 V/5系列具有高度的可定制化能力和广泛的功能,它包括内容和模板的开发、个性化定制和发布。但是,它的多数功能还需
13、要开发。国内用的比较多的有Active Context、turbocms、cms4i,不过这些都是纯商业性系统,价格很高。一般个人建站,建议选取国内外比较有名的开源系统。(1)CmsTop是由原PHPCMS创始人钟胜辉创办的专业级CMS产品,CmsTop已服务了200多家知名媒体网站,客户遍及报业、杂志、广电、网媒、政府、军队和高校等多个领域。(2)J2CMS 捷兔网络的J2CMS是一个基于JavaEE平台的内容管理系统。(3)Zoomla!逐浪CMS独有六大原创技术:独有的自定义模型与节点功能功能、联合华夏互联与华夏营销网打造从网站开发到运营推广再到策划营销一体的解决方案、独创的文名作为标题
14、生成格式为符合百度等大型搜索引擎收录提供了友好的支持、完全支持W3C标准为中国网站的标准之路铺垫基础、独创的项目管理系统(zoomla! projects)为传统B2B服务提供了一体化的流程管理、中国首个完全兼容IE8的CMS管理系统。逐浪CMS包括版本:免费版、个人版、企业版、教育版、政府版、高级订制版。普通用户均可通过官方网站下载免费使用。本次开发所采用的系统是:JAVA CMS1.3论文组织结构本文共分5部分:第一章:绪论。本章包括论文的研究背景、研究现状、研究意义概述,同时对本文研究的结构进行了介绍。第二章:系统的需求分析和总体设计。从系统用户的角度出发,分析生活中的实际需求,进行系统
15、的需求分析,并在需求分析的基础上,对系统进行总体设计。第三章:系统的详细设计。本章对各个功能模块进行详细地研究和设计。第四章:系统实现。本章对系统部分模块实现的功能进行了具体介绍。第五章:总结。通过对全文研究工作、研究成果和不足之处的总结和归纳,指明今后在理论研究和实际应用方面需要进一步努力的方向。2 系统开发技术及运行环境介绍2.1 Java简介Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE, JavaME, JavaSE)的总称。Java自面世后就非常流行,发展迅
16、速,对C+语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。与传统程序不同,Sun 公司(目前已被甲骨文收购)在推出 Java 之际就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 Java软件必须相互兼容。“Java 语言靠群体的力量而非公司的力量”是Sun公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。它
17、对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。Java 平台是基于 Java 语言的平台。这样的平台非常流行。因此微软公司推出了与之竞争的.NET平台以及模仿Java的C#语言。Java是功能完善的通用程序设计语言,可以用来开发可靠的、要求严格的应用程序。2.2 Ajax简介Ajax是Asynchronous JavaScript and XML(异步JavaScript 和XML技术)的简称,是一套特殊的Web编程技术,通过这种技术,开发人员可以使用来自服务器的输入无缝地更新部分Web页面或We
18、b应用程序。弥补用了B/S方式开发交互式Web页面的不足。Ajax并不是一门新的语言或技术,它实际上是几项技术按一定的方式组合在一在同共的协作中发挥各自的作用,它包括使用XHTML和CSS标准化呈现;使用DOM实现动态显示和交互;使用XML和XSLT进行数据交换与处理;使用XMLHttpRequest进行异步数据读取;最后用JavaScript绑定和处理所有数据; 通过一个新的对象XMLHttpRequest 对象可以步的与服务器端通信, 再通过JavaScript动态的刷新网页的部分内容而不是全部, 因而可以减少数据流量, 增加相应速度。2.3 JQuery简介JQuery是一个兼容多浏览器
19、的javascript库,核心理念是write less,do more(写的更少,做的更多)。JQuery在2006年1月由美国人John Resig在纽约的barcamp发布,吸引了来自世界各地的众多JavaScript高手加入,现在由Dave Methvin率领团队进行开发。如今,jQuery已经成为最流行的javascript库,在世界前10000个访问最多的网站中,有超过55%在使用jQuery。JQuery是免费、开源的,使用MIT许可协议。JQuery的语法设计可以使开发者更加便捷,例如操作文档对象、选择DOM元素、制作动画效果、事件处理、使用Ajax以及其他功能。除此以外,JQ
20、uery提供API让开发者编写插件。其模块化的使用方式使开发者可以很轻松的开发出功能强大的静态或动态网页 。2.4校验技术简介javascript客户端校验:JavaScript 是一种解释型的、基于对象的脚本语言。尽管与 C+ 这样成熟的面向对象的语言相比,JavaScript 的功能要弱一些,但对于它的预期用途而言,JavaScript 的功能已经足够大了。JavaScript 不是其他语言的精简版(例如,它与 Java 基本没有任何关系),也不是任何事物的简化。不过,它有其局限性。例如,您不能使用该语言来编写独立运行的应用程序,并且没有对读写文件的内置支持。此外,JavaScript 脚
21、本只能在某个解释器或“宿主”上运行,如 Active Server Pages(ASP)、Internet 浏览器或者 Windows 脚本宿主。JavaScript 是一种弱类型的语言。弱类型意味着您不必显式定义变量的数据类型。事实上 JavaScript 更进一步,您无法在JavaScript上明确地定义数据类型。此外,在大多数情况下,JavaScript 将根据需要自动进行转换。例如,如果将一个数值添加到由文本组成的某项(一个字符串),该数值将被转换为文本。客户端校验的好处就是用户对系统使用更方便。对于非恶意的错误进行及时纠正。防止出现客户等了许久却弹出一个出错提醒。随着WEB2.0技术
22、的突飞猛进javaScript的应用也越来也广泛成熟,AJAX技术就是javaScript的新的体现,它可以异步的同服务器进行数据交换,从而减少了不必要的等待和大量的无用数据传输,减轻了网络压力,传统的客户端验证和服务器端验证的界限显得越来越模糊,除了做验证外AJAX还可以实现很多更加动态的效果,例如Google的GoogleEatrh等网页工具。对应用Ajax也会遇到很多问题,它可能破坏浏览器后退按钮的正常行为。在动态更新页面的情况下,用户无法回到前一个页面状态,这是因为浏览器仅能记下历史记录中的静态页面。一个被完整读入的页面与一个已经被动态修改过的页面之间的差别非常微妙;用户通常都希望单击
23、后退按钮,就能够取消他们的前一次操作,但是在Ajax应用程序中,却无法这样做。使用动态页面更新使得用户难于将某个特定的状态保存到收藏夹中用。另外使用JavaScript作的Ajax引擎,JavaScript的兼容性和DeBug都是让人头痛的事,Ajax的无刷新重载,由于页面的变化没有刷新重载那么明显,所以容易给用户带来困扰,用户不太清楚现在的数据是新的还是已经更新过的,另外对流媒体的支持没有FLASH、Java Applet好。2.5 MVC思想简介2.5.1 MVC简介MVC全名是Model View Controller,是模型(model)视图(view)控制器(controller)的
24、缩写,一种软件设计典范,用于组织代码用一种业务逻辑和数据显示分离的方法,这个方法的假设前提是如果业务逻辑被聚集到一个部件里面,而且界面和用户围绕数据的交互能被改进和个性化定制而不需要重新编写业务逻辑MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。ModelControllerView图2-1 MVC模式(1)视图视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Macromedia Flash和象XHTML,X
25、ML/XSL,WML等一些标识语言和Web services。如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。 (2)模型模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如:它可能用像EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被
26、多个视图重用,所以减少了代码的重复性。 (3)控制器控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。 模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。2.5.2 MVC特点(1) 低耦合性视图层和业务层分离,这样就允许更改视图层代
27、码而不用重新编译模型和控制器代码,同样,一个应用的业务流程或者业务规则的改变只需要改动MVC的模型层即可。因为模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。 (2) 高重用性和可适用性随着技术的不断进步,现在需要用越来越多的方式来访问应用程序。MVC模式允许你使用各种不同样式的视图来访问同一个服务器端的代码。它包括任何WEB(HTTP)浏览器或者无线浏览器(wap),比如,用户可以通过电脑也可通过手机来订购某样产品,虽然订购的方式不一样,但处理订购产品的方式是一样的。由于模型返回的数据没有进行格式化,所以同样的构件能被不同的界面使用。例如,很多数据可能用HTML来表示,但
28、是也有可能用WAP来表示,而这些表示所需要的命令是改变视图层的实现方式,而控制层和模型层无需做任何改变。 (3)较低的生命周期成本MVC使降低开发和维护用户接口的技术含量成为可能。 (4)快速的部署使用MVC模式使开发时间得到相当大的缩减,它使程序员(Java开发人员)集中精力于业务逻辑,界面程序员(HTML和JSP开发人员)集中精力于表现形式上。 (5)可维护性分离视图层和业务逻辑层也使得WEB应用更易于维护和修改。 (6)有利于软件工程化管理由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化管理程序代码。2.6 DIV+CSS简介DIV+CSS是WEB设计标
29、准,它是一种网页的布局方法。与传统中通过表格(table)布局定位的方式不同,它可以实现网页页面内容与表现相分离。提及DIV+CSS组合,还要从XHTML说起。XHTML是一种在HTML(标准通用标记语言的子集)基础上优化和改进的新语言,目的是基于XML应用与强大的数据转换能力,适应未来网络应用更多的需求。 其作用:(1)精简的代码,使用DIV+CSS布局,页面代码精简,这一点相信对XHTML有所了解的都知道。观看更多的HTML教程内容。代码精简提高了百度蜘蛛的爬行效率以及高效性,能在最短的时间内爬完整个页面,同时这样对收录质量有一定好处;(2)提高访问速度、增加用户体验性使得加载速度得到很大
30、的提高,那么用户点击页面的等待时间就越少,用户体验性的增加相应的带来就是网站受到搜索引擎的喜欢,进而提高网站排名。(3)div+css结构清晰,很容易被搜索引擎搜索到,天生就是适合优化seo,降低网页大小,让网页体积变得更小。注意:div+css结构清晰、精简,不意味着可以全部用div+css结构,比如通篇HTML标签全DIV的,貌似除了之上及之上及之外,其它全是,就如同整个HTML是一万个毫不相干的内容拼装起来,或者通篇是结构的,就如同这个页面所有元素全是列表。事实上这两种情况还相当普遍,因为曲解了“DIV+CSS”的真实含义,也许根本就不应该有这个说法,因为一个完整页面几乎不可能仅仅DIV
31、+CSS就能完成。2.7 Mysql简介Mysql是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。Mysql被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。Linux
32、作为操作系统,Apache和Nginx作为Web服务器,MySQL作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统,被业界称为“Lamp”组合。3 系统分析与设计3.1系统的可行性分析3.1.1技术可行性技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。该管理系统采用了MVC模式进行开发,结合了Internet技术。数据库服务器选用Mysql数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功
33、能。它的灵活性、安全性和易用性为数据库编程提供了良好的条件。因此系统的软件开发平台已成熟可行。科技飞速发展的今天,硬件更新的速度越来越快、容量越来越大、可靠性越来越高、价格越来越低,其硬件平台完全能满足此系统的需要。3.1.2经济可行性后台管理系统采用当前比较新颖和成熟的技术开发,技术风险小,开发周期和开发成本可控制。建立在Web技术上的设备管理应用使得信息系统的安装、维护和用户培训费用都大大降低。加强数据信息交流的准确性,减少纸面作业,从而提高信息化程度,大大提高了工作效率,降低了设备管理的成本;该系统还可以和其它系统的信息共享提高了数据的准确性和数据的使用效率;提供设备管理系统的管理手段改
34、善了设备管理工作的流程。3.2需求分析一个良好的后台管理系统需要具有信息传输的高效性、安全性、可靠性等优势,并确保平台信息不被丢失。为了实现cms后台管理系统具有较高的延续性和可扩展性,使系统的设计紧跟门户网站的发展,同时考虑到成本、系统通用性及系统开发者的能力问题,决定使用jsp+mvc三层设计模式,这种模式也更适合中小型项目的开发。通过实际门户网站需求分析,要求cms后台管理系统具有以下功能:(1)系统操作简单,界面简洁大方。(2)规范、完善的基础信息设置。(3)基于三层架构模式,采用B/S结构。(4)为了方便用户,支持多条件查询。(5)分页显示所有的文章信息。(6)运用JavaScrip
35、t完成页面输入信息的格式验证。(7)采用ajax用户控件完成用户权限验证3.3系统设计目标本次课题目标大体可以一下几个部分:(1)管理员可以通过注册的登陆密码,通过登陆界面进入后台管理页面。(2)进入管理页面后,管理员可以对文章进行管理。(3)管理员可以设定爬虫规则,对目标网站进行文章的爬取。(4)管理员可以对频道进行管理。3.4系统模块和功能设计在充分分析用户需求还有cms主要作用的基础上,再结合系统所要达到的目标,以用户浏览新闻,看帖,发帖为重点,确定了系统的总体功能结构。系统主要由后台系统管理、前台新闻页面和论坛系统三个子系统组成,分权限的管理信息,每个子系统又由多个版块信息构成,各版块
36、之间实现不同的用户目标操作,但相互之间又能很好地联系起来。下面简单介绍各子系统功能设计。1.登陆模块设计(1)用户登录模块:用户通过登录页面选择适合自己的身份进入系统,成功登录之后,每个身份有对应的功能操作界面。(2)权限验证:所有页面使用拦截器完成验证。2.文章管理(1)查询所有文章列表,分页显示,可以动态分页(2)添加文章子栏目3.频道管理(1)显示和生成门户网站栏目列表。4.爬虫管理(1)将临时存放的文章进行编辑(归类和整理),并可以将编辑之后的文章放入正式库。5.会员管理(1)这主要包括对会员的信息进行:查看、修改、删除、禁止登录等功能。6.系统管理(1)主要包括管理员密码修改,重置,
37、还有数据库备份等功能。系统的功能图如图3-1所示。图3-1 系统功能图3.5 网站主要组织结构表3-1 关键网页路径关键网页路径关键网页路径WebRoot/backendLogin.jsp管理员登陆界面Main.jsp后台管理框架主界面Article /Article_list.jsp文章列表界面Article/add_article.jsp文章添加界面Article/modify_article.jsp文章修改界面Channel/channel_list.jsp频道列表界面Channel/modify_channel.jsp频道修改界面Spider/spider_list.jsp爬虫界面We
38、bRoot/关键网页路径关键网页路径news.jsp新闻首页Topic.jsp频道列表界面Article.jsp新闻详细信息界面Index.jsp显示论坛首页面List.jsp论坛子版块页面Detail.jsp版块主界面Update.jsp回帖修改页面Login.jsp用户登录页面Reg.jsp用户注册页面3.6系统的用例图通过系统用例图来实现,系统角色以及角色作用,从而实现数据库的设计与规划,用例图如图3-2所示图3-2 系统管理员用例图3.7数据库表设计数据库是信息系统的核心组成部分。数据库系统将数据信息以某种数据模型组织起来进行存储,通过数据库管理系统能够方便有效地完成数据信息的插入、删
39、除、修改、查询等操作,并保持数据信息的完整性、一致性和安全性。一个数据库由若干张表组成,一张表是若干相关数据信息的集合。表的一行就是一条数据信息记录,而一列就是一个字段(也就是一条数据信息内容的一项),每一个字段都有相应的数据类型和数据宽度。在本系统中使用的是数据库Mysql, 数据库名称为cms,包括文章信息表,频道信息表,用户信息表在数据库中各表的详细创建如下所述。(1)用户信息表列名数据类型标识主键允许空说明IDint是是否 用户id编号usernameVarchar(255) 否 用户名称passwordVarchar(50)否用户密码regtimeVarchar(50)用户注册时间表
40、3-2 t_admin(2)文章信息表结构表3-3 t_article列名数据类型标识主键允许空说明Idint是 否文章编号 titleVarchar(50) 是否文章标题 authorBinary(20) 否 文章作者contentVarchar(5000) 是 文章内容sourceVarchar(500) 是文章来源 msg_countVarchar(20) 是 文章点击量create_timeVarchar(100) 是 文章创建时间update_timeVarchar(100) 是 文章更新时间publish_timeVarchar(15) 是文章发表时间 is_headlineVar
41、char(10) 是 是否头条is_recommendVarchar(10) 是是否推荐channel_idint 是所属频道ID (3)频道信息表3-4 t_channel列名数据类型标识主键允许空说明Idint 是是 否频道类型编号 channelNameVarchar(200) 否频道名称 descriptionLongtext频道详细描述(4)用户信息表3-5 user列名数据类型标识主键允许空说明uIdint 是是 否用户编号nameVarchar(200) 否用户名passwordVarchar(200)用户密码regTimeVarchar(200)用户注册时间(5)帖子信息表3-
42、6 t_topic列名数据类型标识主键允许空说明topicIdint 是是 否帖子IDtitleVarchar(200) 否帖子主题contentVarchar(1000)帖子内容publishTimedatatime帖子发表时间modifyTimedatatime帖子修改时间uIdInt发帖用户IDboardIdInt所属版块(6)版块信息表3-7 t_board列名数据类型标识主键允许空说明boardIdint 是是 否版块编号boardNameVarchar(200) 否版块名称parentIdint0)父版块ID(7)帖子信息表3-8 t_reply列名数据类型标识主键允许空说明rep
43、lyIdint 是是 否回帖IDtitleVarchar(200) 否回帖主题contentVarchar(1000)回帖内容publishTimedatatime帖子回复时间modifyTimedatatime回帖修改时间uIdInt回帖用户IDtpicIdInt帖子ID4 系统的实现4.1 数据库的连接在系统中,用户通过WEB方式来使用系统,完成相关的操作,而系统涉及到的大量数据都是存储在数据库中,系统在使用过程中需要频繁地访问数据库。所以在本系统中,写了一个数据库接口类,实现建立数据库连接 关闭数据库连接,所有数据库操作都调用数据库访问抽象基础类的静态公用方法,表格如下:表4-1 数据库
44、连接表方法名称功能描述参数作用Connection getConn()连接数据库Dosql (String sql,String getValues)获取数据Sql:sql语句getValues:查询字段close(ResultSet rs,PreparedStatement ps)关闭数据库查询连接rs:Sql语句查询ps:查询结果close(Connection conn)关闭数据库连接Conn:数据库连接commit(Connection conn)事务提交Conn:数据库连接rollback(Connection conn)事务回滚Conn:数据库连接4.2 公共模块设计与实现权限验证
45、模块是在用户进入一个网页之前,判断用户是否有权限进入该页,本模块采用java拦截器实现。public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException HttpServletRequest hsr=( HttpServletRequest)request;hsr.setCharacterEncoding(utf-8);HttpServletResponse hsr2=( HttpServletResponse)response;hsr2.setCharacterEncoding(utf-8);String url=hsr.getRequestURI();if(url.indexOf(Servlet)-1 | url.indexOf(.jsp)-1)if(url.indexOf(login.jsp)0 & url.indexOf(LoginSe