1、中北大学 2014 届毕业设计说明书第 1 页 共 35 页1 引言1.1 系统背景和意义在如今网络技术如此发达的时代,网站的重要性已经是不言而喻。足球俱乐部网站是足球俱乐部的形象之一。足球俱乐部若想长久长远发展、做好宣传,足球俱乐部网站是必须的一部分。好的网站可以为足球俱乐部赢得一个好的形象和口碑。足球俱乐部网站就是一个联接足球俱乐部内部和外部的网站,它可以为社会提供一个单一的了解足球俱乐部各种信息资源的入口,足球俱乐部的员工、客户、合作伙伴等等都可以通过这个网站获得个性化的信息和服务。足球俱乐部网站可以无缝地集成足球俱乐部的内容、商务和社区:首先,通过足球俱乐部网站,足球俱乐部能够实时动态
2、地发布关于足球俱乐部内部和外部的各种信息。近年来,随着网络的普及。人们获取新闻及各种信息的途径已不仅仅限于报纸,广播等传统媒体。人们开始越来越多地在网上查找自己感兴趣的信息。由于网络的即时性和更新速度快等优点,上网看新闻已经成为人们获取信息的主要途径之一。由此各种类型的网站随即出现,大大地提高了人们获取信息的速度,加大了信息交流的效率。结合整个课题设计的实践过程,充分理解网页开发技术和数据库的基本知识,学习相关开发工具和应用软件,并熟悉网站建设的过程,熟练掌握网络数据库编程方法。足球俱乐部网站的建设最为重要的是长期的网站的维护,而目前大多数网站的维护意识与当初域名申请和网站开通时的超前意识相比
3、却显得十分不足。许多新建立起网站后就在那里守株待兔了,既不管理又不更新,这是错的。网站不及时更新,就不能正确反应相关的信息,这样宣传的效果不能达到反而会给其本身形象带来负面的影响。 其次一个好的足球俱乐部网站应具备以下几个内容: 1)足球俱乐部网站架构应该是以足球俱乐部为核心的主题层次、内容分类、页面顺序等所组成。由于每一个浏览者都可能成为足球俱乐部的客户,网站的主题应突出对足球俱乐部主题,这样可以让访问者记忆深刻;而足球俱乐部规模、实力等方面的描述则只是对主题的烘托,由此决定了在内容分类上应加大主题内容的渲染,在页面顺序上应优先考虑主题内容的排列。 中北大学 2014 届毕业设计说明书第 2
4、 页 共 35 页2)足球俱乐部网站另一个重要的作用就是体现出足球俱乐部精神、理念以及足球俱乐部文化,这些是足球俱乐部理念中的组成部分,在网站的建设中该部分也应该得到很好的体现。3)同时,在策划过程中还要兼顾足球俱乐部营销理念和足球俱乐部未来的发展规划。本课题的设计,专门为足球俱乐部网站而设计的。1.2 现状国内外网站的建设也进入高速发展时期,就信息内容的组成看,大部分网站内容丰富,为外界了解自身动态的一种的捷径。信息化带来的最为直观、也是最有说服力的经济效果是它对国民经济的发展起到了举足轻重的推动作用。美国就是一个最为明显的例子。由于在上世纪80 年代末对信息技术进行了大规模和普遍的投入.美
5、国 90 年代实现了被称为“新经济”的长达十年的经济快速增长。信息技术行业在美国经济中所占的比例从 1990 年的 58上升到 2000 年的 83。90 年代后期.美国约三分之一的经济增长来自信息化的拉动.超过其他任何行业的拉动作用。 在利用信息化手段改变传统经营模式方面.发达国家的企业更是取得了突破性的进展.对于企业的发展起到了至关重要的作用。例如在美国.福特汽车公司通过网上采购.使汽车零部件的采购成本下降了 30.通用电气公司借助供应链管理手段.2000 年节省成本 16 亿美元;美国的飞利浦莫利斯公司应用客户关系管理系统.建立了拥有 26 亿烟民的个人档案.卡夫通用食品公司建立了 30
6、00 万顾客的个人档案.布洛克巴斯特公司建立了 3600 万个家庭的娱乐消费档案。随后开展了以互联网应用为主要内容的企业信息化时代.90 年代后期.ERP(企业资源计划)的网络功能增强.在世界 500 强企业中有近 80的企业采用了 ERP 管理软件 6。 目前信息化已经将企业带入了网络经济时代.门户网站成为现代企业信息化的一大热点手段。相关数据显示.1998 年电子商务全球营业额约 740 亿美元.到1999 年猛增到 2000 亿美元。美国在 1997 年到 2001 年 5 年间的门户网站年均增长率达到了 97.从原来的 24 亿美元激增至 721 亿美元。据统计.美国企业信中北大学 2
7、014 届毕业设计说明书第 3 页 共 35 页息化已进入比较高级的阶段.60的小企业、80的中型企业、90以上的大企业已借助互联网广泛开展电子商务活动.其中 B2B 占电子商务总额的 80以上。相比之下.我国的网站效益不是特别大,但是也是处在了时代的新形势下,各方面都在迅速发展,足球俱乐部网站的建设应该紧跟时代的步伐,走出自己的特色。因此,足球俱乐部网站的建设是形势所趋,走出自己的特色,成就不一样的俱乐部。1.3 开发工具及环境介绍1.3.1 Java 技术在丰富的开发语言种类中,Java 是一个非常理想的选择。Java 分为三个体系 JavaSE(J2SE)(Java2 Platform
8、Standard Edition,java 平台标准版),JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java 平台企业版),JavaME(J2ME)(Java 2 Platform Micro Edition,java 平台微型版)。Java 与传统程序不同,Sun Microsystems 公司在推出 Java 之际就将其作为一种开放的技术。使得全球的 Java 公司在开发的关于 Java 程序都要做到了互相兼容。“Java 语言开发要靠大家努力而非个人、企业的力量”是 Sun Microsystems 的口号之一,并且得到了大多数软件开
9、发公司的认可。这种模式和微软公司所提倡的注重精英的模式和密封式的模式完全不同。Sun Microsystems 公司对 Java 编程语言的官方诠释是:Java 编程语言是个简单、面向对象、健壮、解释性、分布式、安全与系统无关、高性能、可移植、多线程和动态的语言。Java 编程语言的风格非常的接近 C 语言、C+语言。Java 语言的设计核心是面向对象的编程语言,它继承了 C+语言面向对象技术的核心。Java 的进步是其没有像 C 语言那样,容易由于指针引起错误、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收功能用于回收不再被引用的对象所占
10、据的内存空间,使得程序员不用再为内存管理而担忧。中北大学 2014 届毕业设计说明书第 4 页 共 35 页在 Java 1.5 之后的版本中,Java 又引入了类型安全的枚举、泛型编程(Generic Programming)、自动装/拆箱和不等长参数等等语言特性。Java 的优势:此开发语言非常适合集体开发,软件工程可以相对做到一定的标准化。由于其本身的极度严格语法的特点,因此 Java 语言无法写出结构杂乱无章的程序。这样将迫使程序员的软件代码、软件结构的一致性、规范性。这是其很难比拟的优势。Java 的劣势:j2ee 的架构相对完善,第一版软件虽然可以做满意,但是很不适合互联网模式的持
11、续不断修改。互联网软件工程管理上的不好的地方,不断的修补就会导致软件框架的破坏。1.3.2 My EclipseMy Eclipse 的功能是非常的强大,支持产品也十分丰富,特别是对各种开源产品的支持做的是相当好。My Eclipse 是一个非常好的用于开发 Java、 J2EE 的 Eclipse 插件集合工具。 My Eclipse 目前支持 Java,AJAX, JSP, Struts,Spring, Hibernate, JDBC 数据库链接工具等多项功能。换句话说 My Eclipse 是几乎包括了目前所有流行的开源产品的开发工具。My Eclipse 是对 Eclipse IDE
12、的扩展,使用其我们可以在数据库和 Java Web 的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是一款功能丰富的 Java Web 集成的开发环境,包括了完整齐全的编码、测试和调试等功能,完全支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。1.3.3 MySQLMySQL(通常被读作 My-SEQuel)是一个开放源码的关联式数据库管理系统。原开发者为瑞典的 MySQL AB 公司,该公司在 2008 年被升阳微系统(Sun Microsystems)收购。甲骨文公司(Oracle)2009 年收购升阳微系统公司,M
13、ySQL 成为 Oracle 旗下产品。MySQL 被广泛地应用在 Internet 上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了 MySQL 作为网站数据库。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。中北大学 2014 届毕业设计说明书第 5 页 共 35 页MySQL 是一个开放源码的小型关联式数据库管理系统,开发者为瑞典 MySQL AB 公司。MySQL 被广泛地应用在 Internet 上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型
14、网站为了降低网站总体拥有成本而选择了 MySQL 作为网站数据库。MySQL 特性:1)、使用 C 和 C+编写,并使用了多种编译器进行测试,保证源代码的可移植性。2)、支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows 等多种操作系统。3)、为多种编程语言提供了 API。这些编程语言包括C、C+、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。4)、支持多线程,充分利用 CPU 资源。5)、优化的 SQL 查询算法,有效地提高查询速度。6)、既能够
15、作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。7)、提供多语言支持,常见的编码如中文的 GB 2312、BIG5,日文的Shift_JIS 等都可以用作数据表名和数据列名。8)、提供 TCP/IP、ODBC 和 JDBC 等多种数据库连接途径。9)、提供用于管理、检查、优化数据库操作的管理工具。10)、支持大型的数据库。可以处理拥有上千万条记录的大型数据库。11)、支持多种存储引擎。1.3.4 Tomcat 服务器技术开发者热爱的服务器Tomcat,其是款免费的开放源代码的 Web 应用服务器,且属于轻量级应用服务器,在中小型系统和并发访问用户不是很
16、多的场合下常常被使用,是开发和调试 JSP 程序的首选。并且作为一个开发者,他们可以这样考虑,当在一台服务器上配置好 Apache 服务后,他们就可利用它响应对 HTML 页面的访问请求。实际上,Tomcat 部分是 Apache 服务器的扩展,中北大学 2014 届毕业设计说明书第 6 页 共 35 页但它是独立运行的,所以当你运行它时,它实际上是作为一个与 Apache 独立的进程单独在运行的。Tomcat 服务器很受广大开发者的热爱,因为它扩展性好,其运行时占用的系统资源要小,支持邮件服务与负载平衡等开发应用常用的功能;而且它还在不断的改进和完善中,只要开发者对其有不同的需求,都可以更改
17、使其功能满足开发者的需要。2.系统需求分析一款实用的软件就是要能够让用户得到很好的体验,本系统开发就是本着这样的目标,首先必须了解用户真正的需要。做好一个强大的市场调查和合理的需求分析,在开发过程中多问自己一些“客户需要什么”的问题。这些需求包括:(1)功能需求 a. 足球俱乐部网站b.主要功能:赛事新闻管理、赛事活动管理、用户管理、赛事活动评价管理等等。(2)性能需求:系统必须满足的一些使用过程中要做到的技术目标,通常包括速度,安全性等方面的需求。(3)运行需求:可以在 Windows XP/Win7 平台上运行,开发工具采用 My Eclipse 或是 Eclipse, Java 开发。(
18、4) 技术需求:J2EE 中三种框架 Spring + Struts +HibernateSSH 在 J2EE 项目中表示了 3 种框架,即 Spring + Struts +Hibernate。 Struts 对 Model,View 和 Controller 都提供了对应的组件。Spring 是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,它由 Rod Johnson 创建。它是为了解决企业应用开发的复杂性而创建的。Spring 使用基本的 JavaBean来完成以前只可能由 EJB 完成的事情。 Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行
19、了非常轻量级的对象封装,可以应用在任何使用JDBC 的场合,可以在 Servlet/JSP 的 Web 应用中使用,也可以在应用 EJB 的J2EE 架构中取代 CMP,完成数据持久化的重任。中北大学 2014 届毕业设计说明书第 7 页 共 35 页(一).Struts 框架结构 如下图: Struts 对 Model,View 和 Controller 都提供了对应的组件。在上图中,ActionServlet,这个类是 Struts 的核心控制器,负责拦截来自用户的请求。Action,这个类通常由用户提供,该控制器负责接收来自 ActionServlet的请求,并根据该请求调用模型的业务逻
20、辑方法处理请求,并将处理结果返回给 JSP 页面显示。2.Model 部分 由 ActionForm 和 JavaBean 组成,其中 ActionForm 用于封装用户的请求参数,封装成 ActionForm 对象,该对象被 ActionServlet 转发给 Action,Action 根据 ActionForm 里面的请求参数处理用户的请求。JavaBean 则封装了底层的业务逻辑,包括数据库访问等。3.View 部分 该部分采用 JSP 实现。Struts 提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与 Model 的有效交互,并增加了现实功能。对应上图的
21、JSP部分。4.Controller 组件 Controller 组件有两个部分组成系统核心控制器,业务逻辑控制器。系统核心控制器,对应上图的 ActionServlet。该控制器由 Struts 框架提供,继承 HttpServlet 类,因此可以配置成标注的 Servlet。该控制器负责拦截所有的 HTTP 请求,然后根据用户请求决定是否要转给业务逻辑控制器。业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用Model 来完成处理。对应 Action 部分。(二).Spring 1.简介 目的:解决企业应用开发的复杂性中北大学 2014 届毕业设计说明书第 8 页 共 35 页
22、功能:使用基本的 JavaBean 代替 EJB,并提供了更多的企业应用功能范围:任何 Java 应用简单来说,Spring 是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。2.轻量 从大小与开销两方面而言 Spring 都是轻量的。完整的 Spring 框架可以在一个大小只有 1MB 多的 JAR 文件里发布。并且 Spring 所需的处理开销也是微不足道的。此外,Spring 是非侵入式的:典型地,Spring 应用中的对象不依赖于 Spring 的特定类。3.控制反转 Spring 通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了 IoC,一个对象依赖的其它对象
23、会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为 IoC 与 JNDI 相反不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。4.面向切面 Spring 提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的完成业务逻辑仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。5.容器 Spring 包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个 bean 如
24、何被创建基于一个可配置原型(prototype),你的 bean 可以创建一个单独的实例或者每次需要时都生成一个新的实例以及它们是如何相互关联的。然而,Spring 不应该被混同于传统的重量级的 EJB 容器,它们经常是庞大与笨重的,难以使用。6.框架 Spring 可以将简单的组件配置、组合成为复杂的应用。在Spring 中,应用对象被声明式地组合,典型地是在一个 XML 文件里。Spring 也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。所有 Spring 的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为 Spring 中的各种模块提
25、供了基础支持。中北大学 2014 届毕业设计说明书第 9 页 共 35 页(三)Hibernate简介 Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate 可以应用在任何使用 JDBC 的场合,既可以在Java 的客户端程序使用,也可以在 Servlet/JSP 的 Web 应用中使用,最具革命意义的是,Hibernate 可以在应用 EJB 的 J2EE 架构中取代 CMP,完成数据持久化的重任。Hibernate 的核心接口一共有 5 个,分别为:Sess
26、ion、SessionFactory、Transaction、Query 和 Configuration。这 5 个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五个核心接口分别加以介绍。1.Session 接口 Session 接口负责执行被持久化对象的 CRUD 操作(CRUD的任务是完成与数据库的交流,包含了很多常见的 SQL 语句。)。但需要注意的是 Session 对象是非线程安全的。同时,Hibernate 的 session 不同于 JSP 应用中的 HttpSession。这里当使用 session 这个术语时,其实指的是
27、 Hibernate中的 session,而以后会将 HttpSesion 对象称为用户 session。2.SessionFactory 接口 SessionFactory 接口负责初始化 Hibernate。它充当数据存储源的代理,并负责创建 Session 对象。这里用到了工厂模式。需要注意的是 SessionFactory 并不是轻量级的,因为一般情况下,一个项目通常只需要一个 SessionFactory 就够,当需要操作多个数据库时,可以为每个数据库指定一个 SessionFactory。3.Configuration 接口 Configuration 接口负责配置并启动Hiber
28、nate,创建 SessionFactory 对象。在 Hibernate 的启动的过程中,Configuration 类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory 对象。4.Transaction 接口 Transaction 接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。5.Query 和 Criteria 接口 Query 和 Criteria 接口负责执行各种数据库查询。它可以使用 HQL 语言或 SQL 语句两种表达方式。中北大学 2014 届毕业设计说明书第 10 页 共 35 页3. 系统总体设计3.1 系统功能结构图(1)功能结构图,如下图 3.1 所示。图 3.1 系统功能模块图3.2 数据库设计1. 用户信息表