《基于Struts技术的文章管理系统毕业论文的设计与实现.doc》由会员分享,可在线阅读,更多相关《基于Struts技术的文章管理系统毕业论文的设计与实现.doc(54页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、北京毕业论文设计 基于Struts技术的文章管理系统摘 要本论文首先介绍了文章管理类网站的现状和JSP、Sturts等Java Web的相关技术,用面向对象的MVC设计思想对文章管理系统进行系统需求分析、可行性研究。接着对系统进行了概要设计,从文章管理系统的的目前现状和实际需求出发,采用当前较为流行的B/S(浏览器/服务器)结构和JSP动态网页开发技术,基于Windows 7操作系统和MySQL数据库,之后在概要设计的基础上确立了各个功能模块的子模块和具体功能,将本系统划分为。然后对系统进行数据库设计,根据系统的功能模块的具体功能设计并建立了系统所需的各个表,完成了数据库的逻辑设计。最后使用集
2、成框架对系统进行代码的编写,使得本系统的数据层代码和表示层代码分离、业务逻辑和表示层分离,同一个模型可以被不同的视图重用,大大提高了代码的可重用性。基本实现了一个简洁的文章管理系统所需的功能。关键词: B/S,Java,文章管理系统,SturtsTechnology-based article management system StrutsAbstractThis paper introduces the status quo management class websites and articles JSP, Sturts and other Java Web related techn
3、ologies , object-oriented MVC design ideas for article management system for system requirements analysis , feasibility studies.Followed by a summary of the design of the system , starting from the current situation and the actual needs of the article management system , using the current more popul
4、ar B / S ( Browser / Server ) architecture and JSP dynamic web development technology, based on the Windows 7 operating system and MySQL database , and then on the basis of a summary of the design established the sub-modules and each module specific functions , this system is divided into . Then the
5、 system database design, based on the specific features of the system function module design and build a system requires each table to complete the logical design of the database.Finally, the system using integration framework for the preparation of the code, the code of the system makes the data la
6、yer and the presentation layer code separation, separation of business logic and presentation layer , the same model can be reused in different views , which greatly improves the reusability of code . Basically implements a simple article management system required functionality.Keywords: B/S, Java,
7、 article management system, Sturts目 录摘 要iAbstractii1绪论11.1 背景11.2问题定义11.2.1媒体文章网站11.2.2文章管理系统11.2.3文章管理系统网站研究的目标及意义22 系统分析32.1 功能需求分析32.2 本系统采用的关键技术42.2.1 JSP技术42.2.2 JavaBean技术42.2.3 JDBC技术52.2.4 用JDBC访问数据库62.2.5 Struts的简介72.3 可行性分析82.4 系统运行环境92.4.1 软件环境92.4.2 硬件环境93 系统概要设计113.1 总体功能113.2 E-R图124 系
8、统详细设计134.1 后台数据库设计134.1.1 MySQL介绍134.1.2 MySQL数据库的主要特征134.1.3 数据库表结构144.2 处理流程设计174.2.1 系统操作流程174.2.2 数据增加流程184.2.3 数据修改流程184.2.4 数据删除流程194.3 系统模块设计204.3.1 前台用户模块204.3.2 后台管理员登录模块214.3.3 文章管理225 系统调试与测试265.1 程序调试265.2 程序的测试265.2.1 测试的重要性及目的265.2.2 测试的步骤27结论29参考文献30致 谢31外文原文32中文翻译43501绪论1.1 背景近年来,Int
9、ernet技术得到迅速的发展,已经成为计算机产业的一个技术热点。促成Internet高速发展的因素之一就是Web技术。Web技术的发展使得那些具有交互动态页面、有条理的数据库查询、丰富信息内容的页面成为最吸引人的网页。浏览Web有着执行Windows程序一样的感觉和操作性。随着Internet技术的发展,它已经成为一种操作平台,为用户提供强大的服务,例如网上购物,网上电子商务,社会信息数据库服务等。作为计算机发展最迅速的领域之一的数据库技术,已经形成了一整套独有的理论,并广泛地应用于人们的生产和生活中。数据库技术与网站的结合是当今Web技术的一个热点。有了数据库的支持,可以扩展网页的功能,可以
10、方便地设计出交互式页面,可以构造功能强大的后台管理系统,可以为网站的更新、维护提供极大的方便。因此,作为网络开发者或管理者,数据库知识是必不可少的。在当前社会,信息已成为一种隐型的财富,人们对信息的需求再也不是局限于单纯的电视、报纸等大众途径。随着Internet在中国的发展日新月异,人们在日常生活中也越来越多地使用这项新技术来为自己的工作和生活服务,人们通过网络来获取信息的需求越来越大。基于此种考虑,网络开发者们提出了一种“文章发布系统”,该系统能够实现在线更新最新文章、设置文章分类导航等功能,此外,网站管理员也可在线对后台进行管理,例如文章的修改、删除等操作,以保证文章的及时、准确性。1.
11、2问题定义1.2.1媒体文章网站媒体网站,指以经营新闻文章业务为主要生存手段的网站。包括国家大型新闻门户(如新华网、人民网、中国网等,政府网站的后缀为.gov,中国网站的后缀为.cn),商业门户(网易、新浪等,商业网站的后缀为:.com),地方新闻门户(长江网、大江网、大洋网等),还有各种行业门户网站(湖北美食网、中国化工网)也充当了该行业的媒介网站。1.2.2文章管理系统文章管理系统(Content Management System)又叫做内容管理系统,是一个基于文章和内容管理的全站管理系统,文章管理系统是基于B/S模式的系统,本系统可以将杂乱无章的信息(包括文字,图片)经过组织,合理有序
12、地呈现在大家面前。当今社会是一个信息化的社会,文章新闻作为信息的一部分有着信息量大,类别繁多,形式多样的特点,文章管理系统的概念就此提出。文章管理系统的提出使报刊不再是唯一的文字媒体,从此以后网络也充当了一个重要的新闻媒介的功能。1.2.3文章管理系统网站研究的目标及意义顾名思义,文章管理系统是基于B/S模式的网站内容管理系统。Web开发的语言,数不胜数,有cgi/perl/ruby所代表的脚本语言,php/jsp/.net所代表的类c语言,asp所代表的basic语言等等。但是经过这么多年互联网应用中的大浪淘沙,当前主流的也就属php/jsp/.net三大阵营了。目前在国内PHP与. NET
13、应用相对Java的JSP而言较为流行。而JSP由于是一种较新的技术,国内采用的较少。但在国外,JSP已经是比较流行的一种技术,尤其是电子商务类的网站,多采用JSP。随着Java语言的流行,JSP的应用范围相当广泛,性能也很突出,有着非常好的应用前景,运行效率也有着很大的成长空间。针对目前文章管理系统的现状以及目前主流Web开发技术的比较,本文提出使用Java语言的JSP技术进行编写。为了降低开发复杂度、在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序,采用一套基于MVC设计模式的Struts框架、Spring框架和Hibernate框架组成的集成SSH框架作为开发模型进行开发。2 系
14、统分析2.1 功能需求分析 本系统需要具有以下功能:(1)由于一项新的软件在被使用之前,对于使用者来说是陌生和崭新的,所以要求系统具有良好的人机界面。(2)能够实现文章发布的各项功能,能成功的对用户各种信息进行管理。(3)查询、修改、删除、添加数据方便,数据的稳定性和可靠性好。系统采用B/S模式。整个系统最关键的就是数据库系统,一个强大的数据库可以支持完善一个优秀的软件设计,通过软件系统与数据库系统的连接来实现通过软件界面观察和处理操作数据,系统模式图如图2.1所示。业务服务器数据库服务器事务逻辑数据逻辑ClientBrowser表示逻辑Browser表示逻辑JSP网页WWW服务器/业务逻辑服
15、务器JavaBean组件中间件JDBC数据库服务器数据库MySQL图2.1 系统模式图系统采用三层结构,在客户端用户通过浏览器完成数据下载与模拟操作,浏览器端的表现逻辑通过JSP网页完成。而系统内部复杂的业务逻辑主要通过JavaBean的组件(Component)实现,JavaBean组件在WWW服务器上运行,通过JSP返回到客户浏览器。通过表现逻辑与业务逻辑的分离,使网页内容简洁,系统的可维护性和可扩充性增强。在服务器端,系统使用JDBC中间件访问数据库,数据库服务器定义了本系统所需要的事务逻辑和数据逻辑。本系统使用JSP技术作为表现手段,服务器采用Tomcat 6.0.26作为JSP引擎,
16、系统业务逻辑由JavaBean 组件完成,使用JDBC 3.0 驱动程序访问数据库。由于系统测试需要成熟的数据库支持,因此系统采用MySQL数据库作为数据库服务器。2.2 本系统采用的关键技术2.2.1 JSP技术JSP是由Sun微系统公司于1999年6月推出的一项技术,是基于JavaServlet以及整个Java体系的Web开发技术,利用这一技术可以建立先进、安全和跨平台的动态网站。JSP技术在多个方面加速了动态Web页面的开发。与微软公司的ASP技术相比,JSP具有如下优点:(1) 开放的技术:JSP技术基于平台和服务器的相互独立,技术支持来自广泛的、专门的、各种工具包,有服务器的组件和数
17、据库产品开发商提供。相比之下,ASP技术主要依赖MICROSOFT支持。(2) 平台和服务器的独立性:JSP编写的代码可运行在任何符合JAVA语法结构的环境中。这样JSP就能够运行在多种WEB服务器上并支持来自多家开发商提供的各种工具包。(3) 开放的开发过程,开放的源码:自1995年以来,SUN用开放过程方法同国际JAVA组织合作开发和修改JAVA技术和规范。(4) JSP标记可扩充性:JSP技术能够为开发者扩展JSP标记,充分利用与XML兼容的标记技术强大的功能,大大减少对脚本语言的依赖。(5)JSP跨平台的可重用性:JSP组件(EJB,JavaBean或定制的JSP标记)都是跨平台可重用
18、的。JSP 2.0的一个主要特点是它支持表达语言(expression language)。JSTL表达式语言可以使用标记格式方便地访问JSP的隐含对象和JavaBeans组件,JSTL的核心标记提供了流程和循环控制功能。自制标记也有自定义函数的功能,因此基本上所有scriptlet能实现的功能都可以由JSP替代。在JSP 2.0中,建议尽量使用EL而使JSP的格式更一致。2.2.2 JavaBean技术JSP作为一个很好的动态网站开发语言得到了越来越广泛的应用,在各类JSP应用程序中,JSP + JavaBean的组合成为了一种事实上最常见的JSP程序的标准. JavaBean是描述Java
19、的软件组件模型,有点类似于Microsoft的COM组件概念。在Java模型中,通过JavaBean可以无限扩充Java程序的功能,通过JavaBean的组合可以快速的生成新的应用程序。对于程序员来说,最好的一点就是JavaBean可以实现代码的重复利用,另外对于程序的易维护性等等也有很重大的意义。JavaBean通过Java虚拟机(Java Virtual Machine)可以得到正确的执行,具有平台无关性。一个JavaBean有三个部分组成:1)属性(Property)Bean的属性就是对象的属性,但提供了属性读取和设置的接口支持。例如一个时钟Bean可以有时区和镇铃属性,日历Bean可以
20、有年份和月份属性。每个属性通常遵守简单的方法命名规则。这样可以很方便的找出Bean提供的属性,然后查询属性值或改变属性值,对Bean进行操作。2)方法(Method)由于Bean本身是Java对象,调用这个对象的方法是与其交互作用的唯一途径。JavaBean严格遵守面向对象的类设计逻辑,不让外界访问其任何实例字段(没有Public字段)。这样,方法调用的是接触Bean的唯一途径。3)事件(Event)Bean与其他软件组件交流信息的主要方式是发送和接收事件。这与对象之间通过消息通信类似。JavaBean传统的应用在于可视化的领域,如AWT下的应用。自从JSP诞生后,JavaBean更多的应用在
21、非可视化领域,在服务器端应用方面表现出来了越来越强的生命力。利用非可视化JavaBean, 来封装事务逻辑、数据库操作等等,可以很好地实现业务逻辑和前台程序(如JSP)的分离,使得系统具有更好的健壮性和灵活性。2.2.3 JDBC技术JDBC是Java的开发者Sun的JavaSoft公司制定的Java数据库连接JavaDataBaseConnectivity技术的简称,是为各种常用数据库提供无缝联接的技术。JDBC在Web和Internet应用程序中的作用和ODBC在Windows系列平台应用程序中的作用类似。JDBC有一个非常独特的动态连接结构,它使得系统模块化。使用JDBC来完成对数据库的
22、访问包括以下四个主要组件:Java的应用程序、JDBC驱动器管理器、驱动器和数据源。简单地说,JDBC能完成下列三件事: (1)同一个数据库建立连接; (2)向数据库发送SQL语句; (3)处理数据库返回的结果。JDBC是一种可用于执行SQL语句的JavaAPI(ApplicationProgrammingInterface,应用程序设计接口)。它由一些Java语言写的类、界面组成。JDBC给数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。 通过使用JDBC,开发人员可以很方便地将SQL语句传送给几乎任何一种数
23、据库。也就是说,开发人员可以不必写一个程序访问Sybase,写另一个程序访问Oracle,再写一个程序访问Microsoft的SQLServer。用JDBC写的程序能够自动地将SQL语句传送给相应的数据库管理系统(DBMS)。不但如此,使用Java编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上编写不同的应用。Java和JDBC的结合可以让开发人员在开发数据库应用时真正实现“WriteOnce,RunEverywhere!” Java具有健壮、安全、易用等特性,而且支持自动网上下载,是一种很好的与数据库线连接而使用的编程语言。它所需要的是Java应用如何同各种各样的数据库连
24、接,JDBC正是实现这种连接的关键。 JDBC扩展了Java的能力,如使用Java和JDBCAPI就可以公布一个Web页,页中带有能访问远端数据库的Applet。或者企业可以通过JDBC让全部的职工(他们可以使用不同的操作系统,如Windwos,Machintosh或UNIX)在Intranet上连接到几个全球数据库上,而这几个全球数据库可以是不相同的。2.2.4 用JDBC访问数据库所有的数据库的对象和方法都在java.sql.* 里面,所以首先要import java.sql.*,要想连接数据库,首先要将驱动程序调入。Class.forName(sun.jdbc.odbc.JdbcOdbc
25、Driver);这是JDBC-ODBC 的驱动程序。要想连接一个指定的数据库,必须创建Connection类的一个实例。String url = jdbc:odbc:Grocery prices;Connection con = DriverManager.getConnection(url);注意在此用到的数据库名称是在ODBC设置控制面板中输入的数据资源名。URL语法对于不同类型的数据库会很不一样。 语法是这样的: jdbc:subprotocol:subname 开头都是JDBC,后面是子协议,然后是ODBC名称。若要使用纯JDBC驱动程序,必须安装第三方软件提供的驱动程序,一般在数据库
26、的官方网站上可以找到这里不做讨论。本系统采用JDBC-ODBC的驱动程序连接数据库,并使用JavaBean组件,有效的避免了代码的重复,具体过程如下:package exam;import java.sql.*;public class ExamBean String strDBDriver=sun.jdbc.odbc.JdbcOdbcDriver;/JDBC-ODBC驱动程序String strDBUrl=jdbc:odbc:exam;private Connection conn=null;private Statement stmt=null;ResultSet rs=null;/pub
27、lic ExamBean() try Class.forName(strDBDriver);catch(java.lang.ClassNotFoundException e)System.err.println(exam():+e.getMessage();/public ResultSet executeQuery(String sql)rs=null;tryconn=DriverManager.getConnection(strDBDriver);/创建数据库连接对象 stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,Res
28、ultSet.CONCUR_UPDATABLE);/支持数据回滚rs=stmt.executeQuery(sql);catch(SQLException ex)System.err.println(aq.executeQuery:+ex.getMessage();return rs;public void executeUpdate(String sql)stmt=null;tryconn=DriverManager.getConnection(strDBDriver);stmt=conn.createStatement();stmt.executeUpdate(sql);stmt.close
29、();catch(SQLException ex)System.err.println(aq.executeQuery:+ex.getMessage();2.2.5 Struts的简介Struts是Apache基金会Jakarta项目组的一个Open Source项目,自采用MVC 模式,能够很好地帮助Java开发者利用J2EE开发Web应用。和其他的Java架构一样.Struts也是面向对象设计,将MVC模式分离显示逻辑和业务逻辑的能力发挥得淋漓尽致。Structs框架的核心是一个弹性的控制层,基于Java Servlets,JavaBeans,ResourceBundles与XML等标准技
30、术,以及Jakarta Commons的一些类库。Struts有一组相互协作的类(组件)、Servlet以及jsp tag lib组成。基于struts构架的web应用程序基本上符合JSP Mode12的设计标准,可以说是一个传统MVC设计模式的一种变化类型。Struts最早是作为Apache Jakarta项目的组成部分问世运作。项目的创立者希望通过对该项目的研究,改进和提高Java Server Pages、Servlet、标签库以及面向对象的技术水准。Struts的目的是为了减少在运用MVC设计模型来开发Web应用的时间。你仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。S
31、truts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。除此之外,Struts的优点主要集中体现在两个方面:Taglib和页面导航。Taglib是Struts的标记库,灵活运用,能大大提高开发效率。另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别
32、巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。当Web容器收到 请求(HttpServletRequest)它将请求传递给一个标准的的过滤链包括(ActionContextCleanUp)过滤器,然后经过Other filters(SiteMesh ,etc),接下来需要调用FilterDispatcher核心控制器,然后它调用A
33、ctionMapper确定请求那个Action,ActionMapper返回一个收集Action详细信息的ActionMaping对象。接下来FilterDispatcher将控制权委派给ActionProxy,ActionProxy调用配置管理器(ConfigurationManager) 从配置文件中读取配置信息(struts.xml),然后创建ActionInvocation对象,ActionInvocation在调用Action之前会依次的调用所用配置拦截器(Interceptor N) 一旦执行结果返回结果字符串ActionInvocation负责查找结果字符串对应的(Result)
34、然后执行这个Result Result会调用一些模版(JSP)来呈现页面,之后拦截器(Interceptor N)会在被执行(顺序和Action执行之前相反)最后响应(HttpServletResponse)被返回在web.xml中配置的那些过滤器和(核心控制器)(FilterDispatcher)。其工作流程如图2.2所示。图2.2 Sturts的工作流程2.3 可行性分析首先,技术可行性。本系统仅需要一台装有Office软件的计算机即可,对机器本身没有太高的要求,一般当前学校或个人电脑完全可满足要求。对于软件技术要求,现在的程序设计语言已非常成熟,要运用HTML样式,图形图象制作工具来制作
35、生动活泼的网页及美观的图形文件或动画文件。其次,经济可行性。由于本系统是为学生学习使用的系统,装上该应用软件,即可使用系统,系统成本主要集中在系统软件的开发上,当系统投入运行后可以为学校节约大量的人力,物力。所带来的效益远远大于系统软件的开发成本。在经济上完全可行。第三,操作可行性。界面设计时充分考虑管理人员的习惯,使得操作简单;数据录入迅速、规范、可靠;统计准确;制表灵活;适应力强;容易扩充。2.4 系统运行环境2.4.1 软件环境1)MyEclipseMyEclipse企业级工作平台(MyEclipseEnterprise Workbench ,简称MyEclipse)是对EclipseI
36、DE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布的功能,完整的支持HTML,Struts,JSP,CSS,Javascript,Spri-ng,SQL,Hibernate。MyEclipse 是一个十分优秀的用于开发Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse目前支持Java Servlet,AJAX, JSP, JSF, Struts,Spring,
37、Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse是几乎囊括了目前所有主流开源产品的专属eclipse开发工具。2)Tomcat Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML(标准通用标记语言下的一个应用。)页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行Tomcat 时,它实际上作
38、为一个与Apache 独立的进程单独运行的。Tomcat最初是由Sun的软件构架师詹姆斯邓肯戴维森开发的。后来他帮助将其变为开源项目,并由Sun贡献给Apache软件基金会。由于大部分开源项目OReilly都会出一本相关的书,并且将其封面设计成某个动物的素描,因此他希望将此项目以一个动物的名字命名。因为他希望这种动物能够自己照顾自己,最终,他将其命名为Tomcat(英语公猫或其他雄性猫科动物)。而OReilly出版的介绍Tomcat的书籍(ISBN 0-596-00318-8)的封面也被设计成了一个公猫的形象。而Tomcat的Logo兼吉祥物也被设计成了一只公猫。2.4.2 硬件环境服务起端的
39、最低配置是由建立站点所需要的软件来决定的,在最底配置的情况下,服务器的性能往往不进人意,现在硬件性能已经相当出色,而且价格也很便宜,因此通常应给服务器端配置高性能硬件。本机器的配置如下:处理器:英特尔 Core i5 M 480 2.67GHz 双核笔记本处理器内存:6GB硬件空间:500GB题目主要采用的技术数据库:MySQL编程语言 JSP服务器:Tomcat6.0.26 开发环境:Windows7浏览器:Internet Explorer 93 系统概要设计3.1 总体功能根据系统的需求分析,设计的系统的总体功能图如图3.1所示。用 户管 理 员会员管理网上网上文章管理系统文章搜索注册会
40、员在线留言公告管理图片文章管理文章分类管理文章管理图3.1 总体功能系统角色:1.游客:可以搜索、浏览文章,不能评论,可以注册成为会员2.会员:可以搜索、浏览文章,评论,可以修改密码等个人信息3.管理员:拥有系统最高权限,可以添加删除修改文章,可以删除用户,可以添加删除编辑 前台:首页:1.文章分类:(国际 娱乐 体育 等等)文章分类需要从数据库中动态取出。2.文章搜索:(可以选择分类)以文章标题模糊搜索。 3.最新文章:显示最新添加的文章(显示日期)4.公告栏:显示公告信息。5.登录:可选角色有 会员、管理员,有注册链接按钮。会员可以对文章进行评论,游客点击评论时提示注册注册时包含密码提示问
41、题,以便找回密码,注册验证用ajax动态验证,有分页功能,包含在线文本编辑器后台: 管理员拥有所有权限文章分类管理分类列表(包含删除、修改)添加分类文章管理文章列表(包含删除、修改文章)添加文章(支持文章、图片上传)查找文章(包含删除、修改文章)评论管理公告修改会员管理会员列表(包含删除)查找会员(包含删除)修改密码系统采用了敏捷开发的思想,结合跨平台的J2EE技术架构,数据库采用了MySQL ;使得系统具有易用性、个性化、跨平台等特点;同时又保证数据的安全、稳定、快速和完整;使其运行得高速、安全、稳定。3.2 E-R图实体-联系图即E-R图如图3.2所示。密码用户名管理员管理信息文章分类文章
42、用户管理密码管理n1图3.2 E-R图4 系统详细设计4.1 后台数据库设计4.1.1 MySQL介绍MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。My
43、SQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。Linux作为操作系统,Apache和Nginx作为Web服务器,MyS
44、QL作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统,被业界称为“LAMP“组合。4.1.2 MySQL数据库的主要特征 MySQL的核心程序采用完全的多线程编程。线程是轻量级的进程,它可以灵活地为用户提供服务,而不过多的系统资源。用多线程和C语言实现的MySQL能很容易充分利用CPU。 MySQL可运行在不同的操作系统下。简单地来说,MySQL可以支持Windows XP、Windows7以及UNIX、Linux和SUN OS等多种操作系统平台
45、。这意味着在一个操作系统中实现的应用可以很方便地移植到其他的操作系统下。 MySQL有一个非常灵活而且安全的权限和口令系统。当客户与MySQL的服务器连接时,他们之间所有的口令传送被加密,而且MySQL支持主机认证。 MySQL支持ODBC for Windows。MySQL支持所有的ODBC 2.5函数和其他许多函数,这样就可以用Access连接MySQL服务器,从而使得MySQL的应用被大大扩展。 MySQL支持大型的数据库。虽然对于用PHP编写的网页来说只要能够存放上百条以上的记录数据就足够了,但MySQL可以方便地支持上千万条记录的数据库。作为一个开放源代码的数据库,MySQL可以针对不同的应用进行相应的修改。 MySQL拥有一个非常快速而且稳定的基于线程的内存分配系统,可以持续使用面不必担心其稳定性。事实上,MySQL的稳定性足以应付一个超大规模的数据库。 强大的查询功能。MySQL支持查询的SELECT和WHERE语句的全部运算符和函数,并且可以在同一查询中混用来自不同数据库的表,从而使得查询变得快捷和方便。正因为MySQL数据库拥有诸多优点,因此,本次课程设计我所选择的数据库为MySQL这样一个小型关联式数