1、本科毕业论文(20 届)网站内容管理系统的设计与实现所在学院专业班级 软件工程学生姓名指导教师完成日期摘要随着互联网技术的飞速发展,网站创建和修改的技术门槛越来越低。但是对于有网站建设需求的初学者来说,对相关的概念感到很迷茫,因为没有相关技术的基础,在摸索的过程中会走很多的弯路。其实使用免费开源的内容管理系统(Content Management System,简写为 CMS),如果系统具有良好的可拓展性和健壮的代码,建设一个网站是件轻而易举的事情。文章从当前互联网网站建设的现状和发展趋势进行分析,重点以一个专业企业网站建设实例为参考模型,阐述一般的企业网站以及专业性门户网站的搭建过程和基本的
2、营销管理方法,让初学者能够迅速地了解一般网站建设的基本过程,通过短期的学习具备独立搭建功能强大的企业站点的能力,而且能够进行一般性有意义的网站运营。对网站以及一般软件工程开发过程,详细的了解。关键词:内容管理系统;CMS;开源;网站建设;网络营销AbstractWith the development at full speed of Internet technology, it is lower and lower to build the technological threshold of a website. But to the beginner with website cons
3、truction demand, because there is no basis, on relevant concepts very confused, in the process of exploration will take a lot of detours. In fact, using the free open source content management system (abbreviated as CMS), building a website is a breeze thing.This text, start with from the basic conc
4、ept of CMS, introduces emphatically the open-source CMS application in small and medium-sized websites construction from the current Internet websites,and from the internet website of the building of the status quo and trend analysis, Standing in a beginners perspective, regarding a professional web
5、site construction embodiment as the model of consulting especially, describes the generals personal site, business portal site and professional site portal construction process and basic marketing management method, so that beginners can quickly learn the basic process of building a general website,
6、 through the short-term learning independently build powerful personal site of ability, and can make general meaningful website operation.Keywords : Content Management System; CMS; Open-source; Website Construction; Network marketing.目 录1 引言 .11.1 开发背景 .11.2 研究现状 .11.3 可行性分析 .21.3.1 技术可行性 .21.3.2 经济
7、可行性 .22 系统开发技术与运行环境介绍 .32.1 Java.32.2 Java EE.32.3 Hibernate.32.4 Spring.32.5 Struts2.32.6 MVC 简介 .42.7 JavaScript 简介 .42.8 AJAX 简介 .42.9 JQUERY 简介 .42.10 Tomcat.42.11 MySQL.53 系统分析与概要设计 .63.1 系统需求分析 .63.2 确定用户类型 .63.3 系统模块用例图和描述 .73.3.1 用户模块设计 .73.3.2 内容模块设计 .83.3.3 产品模块设计 .93.3.4 招聘模块设计 .103.3.5 交
8、互模块设计 .113.4 概念数据模型 .123.4.1 用户模块 .123.4.2 内容模块 .123.4.3 产品模块 .123.4.4 招聘模块 .134 系统详细设计与实现 .144.1 程序结构 .144.2 数据库设计 .144.2.1 用户模块数据表 .144.2.2 内容模块数据库表 .154.2.3 产品模块数据库表 .164.2.4 招聘模块的数据库表 .174.2.5 用户交互模块 .184.3 结构设计 .194.3.1 导用外部 jar 包 .194.3.2 包结构图 .204.3.3 配置文件 .214.4 人机界面设计 .244.4.1 网站前台首页界面 .244
9、.4.2 网站前台框架界面 .244.4.3 网站后台登陆界面 .244.4.4 网站后台首页界面 .255 系统测试 .265.1 测试计划 .265.1.1 前台测试要点 .265.1.2 后台用户模块测试要点 .265.1.3 后台内容管理模块测试要点 .265.1.4 后台其他模块测试要点 .265.2 测试用例和测试结果 .27结 论 .30致 谢 .31参考文献 .3211 引言1.1 开发背景当前网站制作的方法,大致可以分为以下几种方式。一种是大型的门户类网站,如新浪、腾讯、网易、360、淘宝等,此类网站的功能强大,安全性要求极高,一般由公司专业的团队专门开发;另一种是中小型企事
10、业单位的站,此类网站需求相对简单,且功能的相似或相同,一般有网站建设公司提供技术支持和解决方案,或者购买内容管理系统商业版本并请销售商全权代理建设,然后聘请少数人员进行日常的运营维护;还有一种就是个人网站,此类网站的数量庞大,大部分个人网站因为财力和技术的限制,一般采用网上免费提供的开源程序建设,少部分有特殊需求的个人,会花费一定的资本购买商业版本或者请专业团队进行功能定制。本文主要是针对后两种网站建设内容管理系统建设网站表明本人的实现方法和思路。本课题研究的主要目的之一即是通过阐述一个用简单内容管理系统进行网站开发和建设的过程,向个人网网站的初学者、希望节省开支并获得网站运营基础知识的中小型
11、企事业单位网站开发者提供一个想法和借鉴,帮助网站创建者进行一般性的网站开发和建设。1.2 研究现状当前CMS网站管理系统主要以下两个方面的应用,一类是在Internet上建立政府或企业的门户网站或电子政务平台,这样就可以实现用相对较少的维护人员来实现快速建立且方便和对网站或平台的大量的内容更新,完成对结构化和非结构化数据的动态信息发布;另一类应用是在Intranet上建立内部政务和信息网站,通过内部网站将大量的信息和文档进行数据分类管理,让拥有不同权限的不同地域的领导和工作人员通过网络进行高效的信息共享和流转。一般的Web网站建设的方法是: 首先选定Web 网站的框架结构, 然后设计HTML
12、页面,然后根据页面来完成程序,最后把设计好的HTML页面动态化到Web服务器的程序中。这种网站建设模式比较适合小型或内容相对固定的网站,但对于对于信息量大,结构复杂的政府门户网站和政务平台来说,这种方式具有诸多弊端:框架结构维护复杂,不容易修改; 页面设计的工作量大,需要大量人力投入; 网页太多之后,不仅不易维护,也不易使用; 容易产生死链和错误链接。网站内容管理系统采用的数据库技术能够有效的解决以上问题,数据库作为后台强大的内容处理引擎,为Web 服务器提供信息源。系统可以把数据库中的信息按照规则预先自动生成HTML页面,加入到Web 服务器上,或者利用动态网页生成技术,在实时交互中动态产生
13、网页。21.3 可行性分析1.3.1 技术可行性CMS 网站内容管理系统,近几年飞速发展,随着需求的增多,技术也越来越成熟,有很多成功的案例,不少商业化的CMS 网站也是遍地开花,很多专门的专业网站内容管理系统的公司在从事CMS 的开发、维护和修改。各种WEB开发语言都已近非常的成熟,在安全性和功能性方面都有了质的飞跃,功能强大,性能优越的系统和网站已经百花齐放,吸引了很多商业公司,政府部门和个人网站建设者,大量的WEB开发者都有非常丰富的经验。在中国,专业网站内容管理团队越来越多,有CMS开发经验的技术人员也愈来愈多,网络上各种开发文档和开发经验也广为流传,开发一个完整的网站内容管理系统对于
14、一个有一定程序语言基础的程序员来说并不是难事。 1.3.2 经济可行性当前建立企业、政府对外的门户网站或面向内部企业内部员工建立信息发布平台是信息化建设的重要组成部分。然而,尽管各部门和单位已建成各种形式的网站信息发布平台,但大多数平台功能比较简单,信息更新缓慢、内容粗糙单一,对多媒体数据内容的管理相对薄弱,不能满足信息沟通、资源共享的实际需要。此外,大多功能单一的企业网站在营销优化方面做的并不到位,企业网站很难起到实际的效益。此外,随着互联网络的推广和普及,个人网站越来越多,很多没有专业技术的人也希望建设自己的个人网站。几年以前,只要拥有一定技术的人,才能在互联网上发布自己的作品和文章;而现
15、在,大多数在网上发布各种文章的人,都是没有任何技术背景的普通用户。而随着开源CMS 项目火热的发展,加上未来主机托管或者虚拟主机租用费用的不断降低,任何一个想要建立网站的人,就算是不具备专业网络技术知识,只要感兴趣,都可以轻而易举的建立属于自己的个人网站,如果说这几年微博和博客已经发展成为了普通民众在互联网上的发言权,那么功能更为强大的CMS系统的发展,将会使那些更加有创造力和表现力用户,建设出属于自己的网站,完整自己的想象力。内容管理系统由于大都是专业团队历尽多年开发出来的整站系统具有强大的可扩展性和安全性,具有一般平台所没有的优势:第一,成熟的网站内容管理系统价格低廉,节省网站技术投入成本
16、,降低技术难度,是网站建设者选择的理由之一;第二,网站内容管理系统独立的模块化设计,批量化的用户权限管理,能够轻松的规范网站的管理和多用户协作管理;第三,CMS 强大健全的功能,能够满足各种应用需求,能偶快速的功能部署,提高网站运营效率和信息更新能力;第三,CMS强大的后台管理功能,能从很大程度上减轻网站技术和采编人员的工作难度与压力,使一般网站管理员不用学习专业的知识,只需简单的文档添加操作即可较好的管理整个网站。总之,CMS是中小型网站快速建立门户网站的选择,是企业单位或个人建设网站的可行性解决方案。32 系统开发技术与运行环境介绍2.1 JavaJava,是由Sun Microsyste
17、ms公司于1995年5月推出的Java 程序设计语言和Java平台的总称。在高级语言已经非常丰富的背景下,Java 语言能够脱颖而出,不仅成为一门最为流行的语言,而且成为一种专门的技术。Java采用纯面向对象的编程技术,功能强大而且简单易学。Java是一种简单的、面向对象的、分布式的、强壮的安全的、结构体系中立的、可移植的、高性能的、多线程的语言。2.2 Java EEJava EE(Java Platform ,Enterprise Edition)是sun公司推出的企业级应用程序版本。这个版本以前称为 J2EE。能够为我们帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程
18、序。 Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web 2.0 应用程序。2.3 HibernateHibernate是一个开放源代码的对象关系映射框架,它对JDBC 进行了非常轻量级的对象封装,使得Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用 JDBC的场合,既可以在 Java的客户端程序使用,也可以在Servlet/JSP 的Web应用中使用,最具革命意义的是, H
19、ibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。 2.4 SpringSpring 是一个开源框架,是为了解决企业应用程序开发复杂性由Rod Johnson创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring 使用基本的JavaBean 来完成以前只可能由EJB 完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从 Spring中受益。 2.5 Struts2Struts 2是Struts的下一代产品,是在
20、 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与 Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以 Struts 2可以理解为WebWork 的更4新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。2.6 MVC 简介MVC是将应用程序根据组件职责不同分成3部分。分别为:MODEL (模型) ,负责业务处理。有业务模型和
21、数据模型主要使用数据访问和数据持久化等组件;VIEW(视图) ,负责与用户交互界面,显示模型数据,或者接受用户输入,主要使用JSP组件; CONTROLLER(控制器) ,负责协调M模型和V 视图组件对应关系,共同协作完成请求处理。主要使用SERVLET,Filter组件。2.7 JavaScript 简介JavaScript是使用ECMAScript标准的脚本,操作DOM 和BOM 进而控制浏览器中的网页显示效果和浏览器行为。JavaScript是一种弱类型语言,他不是面向对象语言,但为了适应面向对象思想它内置了许多对象,是一种基于对象的语言。它是在浏览器中解释执行的不需要先编译。它为开发人
22、员操作界面带来了可行性,增加了页面渲染能力和动态生成能力。2.8 AJAX 简介AJAX(Asynchronous JavaScript And XML)意思是异步的JavaScript和XML。它主要用于浏览器无界面刷新的一项客户端和服务器端交互技术。AJAX可以提升用户体验度。AJAX核心引擎是XMLHTTPRequest/ActiveXObject 对象,可以利用该对象创建发送请求,并且将响应数据以字符串或XML格式返回,我们可以利用 JS实现局部刷新。同时一些开源的JS框架如JQUERY 、EXTJS 等 都已经对 AJAX进行了封装,我们合理运用这些框架能够简化开发难度。2.9 JQ
23、UERY 简介JQUERY是一个JavaScript框架或脚本库,它将一些原始的Javascript脚本进行封装,对外提供了一些函数,便于脚本开发。它提供了很多功能函数和多种类型选择器。JQUERY是免费、开源的,使用MIT许可协议。JQUERY的语法设计可以使开发者更加便捷,例如操作文档对象、选择DOM元素、制作 动画效果、事件处理、使用Ajax以及其他功能。除此以外,JQUERY提供API让开发者编写插件各种UI插件,提供一系列产用的展示插件。其模块化的使用方式使开发者可以很轻松的编写出功能强大的静态或动态网页。2.10 TomcatTomcat是Apache 软件基金会(Apache S
24、oftware Foundation)的Jakarta 项目中的一个核心项目,由Apache 、 Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的5参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。目前最新版本是7.0。 2.11 MySQLMySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策(本词条“授权政策” ) ,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。