毕业设计(论文)-基于JAVA的天创伟业企业新闻发布系统的设计与实现.doc_第1页
毕业设计(论文)-基于JAVA的天创伟业企业新闻发布系统的设计与实现.doc_第2页
毕业设计(论文)-基于JAVA的天创伟业企业新闻发布系统的设计与实现.doc_第3页
毕业设计(论文)-基于JAVA的天创伟业企业新闻发布系统的设计与实现.doc_第4页
毕业设计(论文)-基于JAVA的天创伟业企业新闻发布系统的设计与实现.doc_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

天津工业大学2015届本科生毕业设计(论文)第一章 绪论1.1 课题研究的背景随着互联网的不断快速发展,网络媒介在人们心中地位的不断提高,作为网络媒体核心系统的新闻发布系统,其重要性在不断地提高:一方面,它具有管理新闻和发布新闻的功能;另一方面,现在的新闻侧重点在于发布的新闻的真实性以及是否与用户有较高的交互性,要为用户提供针对新闻参与调查和对新闻发表看法的平台,这一点也是该系统与部分媒体相比所具有的优势。全套设计加扣 3012250582随着科学技术的快速发展,计算机科学的不断提高,其广泛的用途已让人们深刻认识,它存在于社会的各个领域并发挥着不可替代的作用。不同于传统的新闻发布系统,其不再是人工操作,克服了以往的很多缺点,如:效率低下、保密性差,另外不能进行统一的策划,因此各部门新闻发布信息系统间缺乏联系,新闻数据本身也彼此隔离,从而造成了各部门的新闻发布信息系统间相通限制,无法实现网状部门间的资源共享,也导致了各部门新闻发布信息的不完整、不一致、信息得不到及时更新,为新闻决策和信息的服务共享带来极大的困难。传统的新闻发布系统必然被计算机为基础的信息化新闻发布系统所取代。作为网络媒体核心系统的新闻发布系统,其重要性在不断地提高:一方面,它具有管理新闻和发布新闻的功能;另一方面,现在的新闻侧重点在于发布的新闻的真实性以及是否与用户有较高的交互性,要为用户提供针对新闻参与调查和对新闻发表看法的平台,这一点也是该系统与部分媒体相比所具有的优势。本文研究了基于Java的企业新闻系统,能够完成用户对新闻的浏览以及管理员对后台新闻的管理操作,对新闻的浏览包括新闻类型、新闻标题、新闻内容的查看、评论、检索。对后台新闻的管理操作包括对新闻内容、标题、类型的增加、修改等。管理员还可针对某一新闻发起问卷调查。发布调查,添加问卷问题,统计问卷调查结果,并形成图标。用户登陆后可以进行调查,用户调查后有机会获得奖励。1.2 开发本系统的意义 在互联网流行之前,人们习惯通过收音机、报纸、电视等媒体来获取新闻资讯,这些 途径都存在着更新慢、主动性低、信息量受限等弊端。而如今随着网络技术的发展,人们 这些传统习惯开始改变,几乎所有人都在互联网上查看新闻。与传统媒体相比,通过互联网传播新闻具有实时性高、互动性强、信息量大、节约成 本等优势,所以越来越多的人会选择上网获取新闻资讯,而这种现象无疑是为网站带来了 巨大的工作量。在过去大部分网站都是采用静态方式管理页面信息,但随着信息需求量的 增大,网站管理员的工作变得艰难。因此为了让管理工作更顺利快捷的进行下去,我们很迫切 的需要开发一个可利用动态技术对网站进行管理的新闻发布管理系统。 传统的静态网页管理方式需要管理人员手动制作并发布网页,除了大量的工作外,每次更新页面信息时还要中断服务,造成用户暂时无法访问网站,这样的方式无论对于网站 还是用户都无法获得良好的体验。然而如果使用网站新闻发布管理系统对于网页进行动态 管理,这些问题都将不复存在1。一个功能完整的新闻发布管理系统能够对网页中需要频繁 变更的内容进行管理,例如最基本的功能便是对新闻进行发布、更新、删除等操作,都有 系统化、标准化的步骤,并且由于对数据库的引用,在操作过程中页面会动态更新,不会 存在服务的中断,从而提高了管理人员的工作效率,让用户可以使用更实用的平台,从而也能为网 站吸引更多长期用户群。 在互联网技术飞速发展的今天,网站管理工作的质量直接影响到网站的用户体验,使 用新闻发布管理系统正规化、科学化的管理新闻网站,已经成为信息管理技术与世界接轨 的重要条件之一。1.3 论文结构安排本课题论文首先在绪论章节简明扼要的介绍了课题的研究背景以及现实意义,而后在第二章详细介绍了课题所应用的技术,在第三章中,文章详细的对所开发项目进行需求分析,并在第四章进一步进行系统设计,包括前台界面和后台数据库。第五章主要根据前一章所讲进行功能的实现2,并在课题完成后进行了测试和验收,并纠正了部分设计的失误及代码编写的错误。在本文的最后一章里,不仅总结本次设计的完成情况,亦详细分析了存在的不足及将来改进升级的方向所在。本课题论文中适量使用用例图、实例图、功能图以及系统截图等,力求为读者真实详尽的展示课题。第二章 主要应用技术及工具简介2.1 J2EE架构简介2.1.1 J2EE概述J2EE是SUN公司定义的一个基于Java2平台的开发分布式企业级应用的规范,该体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持Enterprise JavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能2。2.1.2 采用基于B/S架构的J2EE多层体系优势目前很多内部系统会采用client/server体系结构开发,但是在这一模式中,客户端担当了过多的角色而显得臃肿,第一次部署的时候比较容易,但难于升级或改进,可伸展性也不理想,而且经常基于某种专有的协议,它使得重用业务逻辑和界面逻辑非常困难。而J2EE使用多层的分布式应用模型,应用逻辑按功能划分为多个组件,各个应用组件根据他们所在的层分布在不同的机器上Error! Reference source not found.,将两层化模型中的不同层面切分成许多层。一个多层化应用能够为不同的服务提供一个独立的层,基于B/S架构的J2EE分层体系图如图2-1所示。持久层(JDBC等)客户层(浏览器)控制层(Servlet等)业务层(EJB等)图2-1 基于B/S架构的J2EE分层体系图上述论述,正是本系统所采用Browser/Server下J2EE架构的原因。2.1.3 J2EE主要技术 JDBC(Java Database Connectivity)提供连接各种关系数据库的统一接口,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,同时,JDBC也是个商标名。EJB(Enterprise JavaBeans)使得开发者方便地创建、部署和管理跨平台的基于组件的企业应用。Java RMI(Java Remote Method Invocation)用来开发分布式Java应用程序。一个Java对象的方法能被远程Java虚拟机调用。这样,远程方法调用可以发生在对等的两端,也可以发生在客户端和服务器之间,只要双方的应用程序都是用Java写的3。JNDI(Java Naming and Directory Interface)提供从Java平台到的统一的无缝的连接。这个接口屏蔽了企业网络所使用的各种命名和目录服务。JMS(Java Message Service)提供企业消息服务,如可靠的消息队列、发布和订阅通信、以及有关推拉(Push/Pull)技术的各个方面。2.2 MVC设计模式分析2.2.1 MVC设计模式概述MVC全名是ModelViewController,是模型(model)视图(view)控制器(controller)的缩写,一种软件设计典范,用于组织代码用一种业务逻辑和数据显示分离的方法,这个方法的假设前提是如果业务逻辑被聚集到一个部件里面,而且界面和用户围绕数据的交互能被改进和个性化定制而不需要重新编写业务逻辑MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中4。2.2.2 MVC设计思想MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层-模型层、视图层、控制层。 视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet。随着应用的复杂性和规模性,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(Model)处理。模型(Model):就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心。目前流行的EJB模型就是一个典型的应用例子,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的框架。它仅仅告诉你按这种模型设计就可以利用某些技术组件,从而减少了技术上的困难。对一个开发者来说,就可以专注于业务模型的设计。MVC设计模式告诉我们,把应用的模型按一定的规则抽取出来,抽取的层次很重要,这也是判断开发人员是否优秀的设计依据。抽象与具体不能隔得太远,也不能太近。MVC并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。我们可以用对象编程来做比喻,MVC定义了一个顶级类,告诉它的子类你只能做这些,但没法限制你能做这些。这点对编程的开发人员非常重要。 业务模型还有一个很重要的模型那就是数据模型5。数据模型主要指实体对象的数据 保存(持续化) 控制(Controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。因此,一个模型可能对应多个视图,一个视图可能对应多个模型。 模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。模型、视图、控制器三者之间的关系和各自的主要功能。2.3 SSH框架技术分析框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。2.3.1 Spring框架分析Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的Java Bean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益6。Spring是一个轻量级的控制反转(Loc)和面向切面(AOP)的容器框架。轻量从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。面向切面Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的完成业务逻辑仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。2.3.2 Hibernate框架分析Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servelet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate的核心接口:Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的Http Session。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将Http Session对象称为用户session。Session Factory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是Session Factory并不是轻量级的,因为一般情况下,一个项目通常只需要一个Session Factory就够,当需要操作多个数据库时,可以为每个数据库指定一个Session Factory6。Configuration类负责配置并启动Hibernate,创建Session Factory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建Session Factory对象。第三章 新闻发布系统需求分析所谓“需求分析”,是指对所面临的问题进行全面的分析,知道问题的要求,包括需要输入什么数据,最后应输出什么。就是说,需求分析就是确定要计算机“干什么”。在软件工程中,需求分析指的是在建立一个新的或改变一个现有的软件系统,并描述新系统的目的、范围、定义和功能时所要做的全部工作。需求分析是软件工程中的一个关键过程Error! Reference source not found.。在这个过程中,系统分析员、领域专家和软件工程师确定顾客的需要。只有在确定了这些需要后软件工程师才能够分析和寻求新系统的解决方案。3.1 新闻发布系统概述随着时代的进步,互联网不断地更新,网络在我们的日常生活和工作中扮演的角色越来越重要,成为我们生活中不可缺少的一部分,几乎各个领域都要设计到互联网,特别是在信息高速发达的今天,人们对最新信息的需求已不再是那么简单,除了信息的准确性,我们迫切的需要及时性,只有及时并且可靠的新闻才能体现新闻价值所在。本系统提供了新闻管理和新闻发布功能,通过对本系统的开发,极大的提高了新闻发布的时效性,更好的促进企业的科学化、正规化管理;保证了传递新闻的及时性、准确性、可靠性。新闻发布系统 新闻类别管理问卷调查模块网友留言模块新闻查询模块新闻发布管理友情链接模块普通用户管理功能图3-1 系统模块功能图 系统模块功能图如图3-1所示,本文研究的管理系统按功能划分,主要由七大模块组成,在导师的指导下,均由本人设计并编码完成。各个模块的功能如下:1.新闻类别管理模块:本模块主要实现新闻类别的录入,包括类别编号和类别名称等信息;新闻类别的增加、删除、修改。2.新闻发布管理:本模块主要实现基本新闻信息的录入,包括新闻标题、新闻作者、新闻内容和所属类别等;基本信息的修改、删除。3.新闻查询模块:本模块主要实现按照新闻类别分页显示新闻;按照日期分页显示新闻。4.网友留言模块:本模块主要实现网友对某条新闻发表评论;管理员可以删除新闻评论。5.普通用户管理功能:本模块主要实现普通用户信息的录入,包括用户名和密码等信息;普通用户信息的修改、删除。6.友情链接模块:本模块主要实现删除、修改、添加、查看链接的功能。7.问卷调查模块:本模块主要实现删除、修改、添加、查看链接的功能。3.2 新闻发布系统可行性分析1.技术可行性本新闻发布系统前台开发工具使用的是技术成熟的MyEclipse。后台数据库采用MySql数据库,因为它的各方面的特性可以提供了良好的环境为数据编程。因此,系统的软件开发平台已成熟可行。经过综合分析Spring与Hibernate各自的体系结构以及所具有的特点后,将这二个框架有效地整合在一起,便出现了本系统采用的SH,这样一个使用简便,具有全面功能的Web框架,提高了组件的可复用性,降低层与层之间的耦合度,有利于系统的可维护性和可扩展性。所以本系统采用了先进主流的开发技术,足以开发出一套成熟,美观,稳定,安全,可移植性强,可维护性强的管理系统。因此,开发本系统在技术上是可行的。2.经济可行性经济上主要考虑本系统带来的效益是否大于开发本系统的成本,由于本系统的开发以毕业设计为依托,以学习研究为主要目的,投入成本比较小。另外,系统管理员和用户都拥有基本的计算机的专业知识,都可以对其进行操作。这样可以为开发本系统节省资金。同时无纸化办公可以节省资源,减少后期资源浪费。因此,开发本系统在经济是可行的。3.管理可行性由于本系统功能简单易懂,对于操作人员不存在太大难度。加上用户一直在使用各类实用性,对该类软件操作很熟悉。对于系统管理员来说,因为系统管理员拥有维护数据库系统的技能,对数据库中的数据进行添加、删除、更新等操作是没有问题的。因此,开本系统在管理上是可行的。3.3 新闻发布系统性能分析为了保证该系统能够长期、可靠的运行,并且在运行期间足够安全、足够稳定、运行效率高,该系统的性能需求应该满足如下条件。1.准确性和及时性:准确性和及时性是一个系统在系统处理过程中必须具备的性能。系统根据用户权限及所输入的信息应该做出及时准确的响应。2.易用性:本系统是直接面对用户的,用户可以直接对其进行操作,然而目前能够熟练操作计算机的用户并不是大多数。所以就要求系统能够提供良好的用户接口和使用起来容易的人机交互界面。要实现这一点的前提是要求系统应该尽量使用用户熟悉的术语和中文信息的界面,从而保证系统的易用性。3.安全性:安全性是一个系统能否长期稳定的运行的重要保障。系统只有保证了数据库的可靠运行,才能供系统维护人员进行数据备份、日常安全管理以及对数据的更新等。3.4 新闻发布系统用例分析用例其实就是需求。它是用文字描述了用户使用系统的某项功能时进行交互的过程。用户是指不在系统内、需要使用系统或与系统交互的事物,包括人、外部系统等Error! Reference source not found.。用例图是显示一组用例、参与者、以及它们之间关系的模型图。用例图定义了系统应该具备的功能,它从用户角度出发,描述系统应该为用户解决的实际问题。该管理系统所涉及到的重要参与者如下:1.普通用户 权限:浏览新闻、管理自身账户、发表留言、问卷调查2.管理员 权限:管理用户、新闻管理该管理系统所涉及到的重要用例如下:1.新闻类别管理 管理员进行新闻类别录入;新闻类别的修改、删除、增加。2.新闻发布管理 管理员对基本新闻信息的录入、修改、删除。3.新闻查询 管理员和用户分类别、分日期查询新闻。4.用户留言 管理员对留言进行管理、普通用户可以发表留言。5.用户管理 管理员对普通用户进行增、删、改、查等操作。6.登录操作 普通用户、管理员均需输入验证信息后方可登录系统。7.注销操作 普通用户、管理员均可注销从而退出系统。系统用例图如图3-2所示:新闻类别管理里理新闻查询用户留言 新闻发布管理理登录普通用户 超级管理员普通用户管理注销图3-2 系统用例图第四章 新闻发布系统设计4.1 系统设计原则1.实用性原则要求满足实际工作的需要,操作界面要做到简洁、耐看;用户接口要便于操作,能适应不同的用户,对用户的技能性要求应尽量的低,只需进行简单的操作就可完成所要的内容。2.可扩展性原则可扩展性和可维护性是一个完美系统所必有的特性,他们可以是系统在日后有更好的发展,尽可能模块化、组件化的软件设计,可使系统有多种可能的配置,适应不同的情况,使系统能在原来的基础上进行改进与维护。3.安全性原则安全可靠的软件与数据库设计,使非法用户难以入侵,数据库与前台能友好地链接,做到前台操作来改变后台数据库的理想效果,并且不产生数据的冲突。4.用户界面设计原则用户界面应当简洁、美观,各个界面提供的信息应该让用户便于理解,不同的功能模块让用户便于识别,争取让更多层次的用户容易学会使用方法并且掌握使用要领。5.数据库设计原则要求数据具有一致性、完整性、安全性和可伸缩性以及可维护性的原则。通过关键字的设置来提示用户在使用时避免数据的重复及冲突等情况。4.2 数据库设计一个管理系统的核心便是数据库,它使得管理系统中大部分的数据按照固有的模型组织起来,提供存储、维护、检索数据的功能,使管理系统可以随时地从数据库中及时获得所需要的准确信息。数据库决定了一个管理系统的结合方式以及它们是否能紧密的结合。因此只有对数据库进行合理的逻辑设计和物理设计才能开发出完善而高效的信息系统7。4.2.1 数据库概念结构设计在概念设计阶段中,设计人员以用户的身份从新审视数据得打不同的处理要求和约束,得到用户角度管理系统的概念模式。然后再把概念模式转换成逻辑模式。将概念设计从设计过程中分离出来,使各阶段任务相对独立,降低了设计复杂的程度,不受特定数据库管理系统的限制。利用三步E-R方法对数据库进行概念设计,即:设计局部实体图、把各局部实体图综合成一个全局模式、最后对全局E-R模式进行优化,得到最终的模式,即概念模式8。1. 设计局部实体图实体和属性的定义:新闻栏目应具有属性栏目ID、栏目名称、创建日期、创建人、父栏目ID、操作人。新闻栏目实体图如图4-1所示:图4-1 新闻栏目实体图普通用户应具有用户名、账号、邮箱、密码。普通用户局部实体图如图4-2所示:图4-2 普通用户局部实体图管理员应具有用户名、密码。管理员局部实体图如图4-3所示:图4-3 管理员局部实体图评论表应该具有评论ID、新闻ID、评论用户、评论数据等。评论表实体图如图4-4所示:图4-4 评论表实体图友情链接应该具有友情链接ID、友情链接名称、友情链接地址。友情链接实体图如图4-5所示:图4-5 友情链接实体图2. 设计全局E-R模式设计好局部实体之后,接下来就是把它们综合成单一的全局概念结构。全局概念结构必须合理地表示一个完整、一致的数据库概念结构。结合局部实体图,就可以得到全局E-R模式图如图4-6所示:图4-6 全局E-R模式图4.2.2 数据库逻辑结构设计逻辑设计的任务是将概念设计的结果E-R图,转换为选用的DBMS(Data Base Management System,数据库管理系统)所支持的数据模型相符的逻辑数据模型,同时还要进行优化9。本系统采用的SQL Server数据库为关系型数据库系统,因此数据库的逻辑设计过程就是把E-R图转化为关系模式的过程,逻辑设计可以充分运用关系型数据库规范化理论,使设计过程形式化地进行。本数据库的关系模式如下。管理员(工号,姓名,密码,邮箱)普通用户(账号,姓名,密码,邮箱,管理员工号)友情链接(友情链接ID,友情链接名称,友情链接地址)评论 (评论ID,新闻ID,评论用户,评论数据,评论来源,评论内容,评论状态, 备注,用户账号)新闻栏目 (栏目ID,栏目名称,创建日期,创建人,父栏目ID,操作人)浏览 (栏目ID,用户账号)4.2.3 数据库表结构设计 根据前面分析得到的E-R图,结合SQL Server的特点进行了修正,我们可以得到如下的数据库表。 1.普通用户信息表。普通用户信息表主要存储用户的基本信息。详细结构如表4-1所示: 表4-1 普通用户信息表字段名字段说明字段类型必填字段name用户名Varchar(100)是account账号Varchar(100)是password密码Varchar(100)是email邮箱Varchar(100)是2.评论表。评论表里存储所有评论相关的详细信息。详细结构如表4-2所示:表4-2 评论表字段名字段说明字段类型必填字段id评论IDint是Newsid新闻IDVarchar(100)是Cuser评论用户Varchar(100)是Cdate评论数据Varchar(50)是Csource评论来源Varchar(20)是Ccontent评论内容Varchar(2000)是Cstatus评论状态char(1)是Remark备注Varchar(500)是Commentip评论人IPVarchar(20)是3.友情链接表。友情链接表存储了所有友情链接的详细信息。详细结构如表4-3所示:表4-3 友情链接表字段名字段说明字段类型必填字段id友情链接IDint是name友情链接名称varchar(50)是URL友情链接地址varchar(50)是4.管理员信息表。管理员信息表主要存储管理员的基本信息。详细结构如表4-4所示:表4-4 管理员信息表字段名字段说明字段类型必填字段Aname管理员姓名Varchar(100)是Aaccount管理员工号Varchar(100)是Apassword密码Varchar(100)是Aemail邮箱Varchar(100)是5.新闻栏目表。新闻栏目表中记录了新闻栏目的信息。详细结构如表4-5所示:表4-5 新闻栏目表字段名字段说明字段类型必填字段id栏目IDint是subName栏目名称varchar(20)是createDate创建日期int是createUser创建人varchar(50)是subId父栏目IDint是operPerson操作人varchar(50)是6.浏览表。浏览表记录了被浏览栏目的ID和用户的账号。详细结构如表4-6所示:表4-6 浏览表字段名字段说明字段类型必填字段id栏目IDVarchar(100)是Aaccount用户账号Varchar(100)是为实现本系统共设计6个表,在此只列出其中比较重要且有代表性的6个表,可以在系统源程序中找到剩余的表,在此不再介绍。第五章 新闻发布系统实现与测试5.1 系统开发环境本系统是在微软的Windows7系统下开发的,采用MyEclipse和MySql数据库为开发工具,所用的服务器为Tomcat,理由如下所述。1.操作系统 Windows7微软公司的Windows系统在个人操作系统中和网络操作系统中都是非常优秀的占有一定的地位。本系统选择了Windows7,它不但继承了Windows家族统一的界面,方便人们学习、操作而且它的功能比较全面,基本上能满足所有中、小型企业的各项需求。2.开发工具 MyEclipse MyEclipse是Eclipse的一个插件集,利用它可以在数据库和J2EE的开发、部署以及应用服务器的整合方面极大地提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整地支持HTML,Struts,JSF,CSS,JavaScript,SQL,Hibernate,Spring等10。3数据库 MySqlMySql是一种开源的关系型数据库管理系统(RDBMS),其使用最常用的数据库管理语言,即结构化查询语言(SQL)进行数据库管理。因其快速、可靠、适应性强使得其一直比其他数据库得到更多的关注。大部分人都认为它是不需要事务化处理的情况下管理内容最好的选择。4.Web服务器 TomcatTomcat是一个免费的开源Web服务器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache、Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总能在Tomcat中得到体现。在Tomcat中,应用程序的部署很简单,只需将WAR放到Tomcat的webapps目录下,Tomcat会自动检测到这个文件,并将其解压。在浏览器中访问这个应用的JSP时,通常第一次会很慢,因为Tomcat要将JSP转化为Servlet文件,然后编译。编译以后,访问就会很快11。5.2 登陆功能实现用户登录后可进行正常操作,如登录名或密码错误会有相应提示。登陆页面如图5-1所示:图5-1 登陆页面在登录时需判断用户名和密码的正确性,主要代码如下:public Integer getUserid() return this.userid;public void setUserid(Integer userid) this.userid = userid;Column(name = USERNAME, length = 50)public String getUsername() return this.username;public void setUsername(String username) this.username = username;Column(name = PASSWORD, length = 50)public String getPassword() return this.password;public void setPassword(String password) this.password = password;Column(name = TRUENAME, length = 50)public String getTruename() return this.truename;public void setTruename(String truename) this.truename = truename;Column(name = IDENTITY, length = 50)5.3 系统管理员功能实现 系统管理员登陆后可以实现用户管理、角色管理、功能管理三个功能,管理员页面如图5-2所示:图5-2 管理员页面左侧是相应的操作区,右上角会显示当前进行操作的操作员类别。点击左侧相应的操作,在页面中间会显示对应的所有功能。5.3.1 用户管理功能实现管理员可以对用户的姓名、昵称等进行修改,也可以对用户进行删除、添加操作。用户管理页面如图5-3所示:图5-3 用户管理页面用户管理部分管理员可以增加新的用户,添加用户基本信息,并且可以对用户进行删除、修改、查看操作。其主要代码如下:public String getIdentity() return this.identity;public void setIdentity(String identity) this.identity = identity;Column(name = SEX)public Boolean getSex() return this.sex;public void setSex(Boolean sex) this.sex = sex;Temporal(TemporalType.DATE)Column(name = CREATETIME, length = 7)public Date getCreatetime() return this.createtime;public void setCreatetime(Date createtime) this.createtime = createtime;Column(name = CREATEUSERID)public Integer getCreateuserid() return this.createuserid;public void setCreateuserid(Integer createuserid) this.createuserid = createuserid;Column(name = ALLOWIP, length = 50)public String getAllowip() return this.allowip;public void setAllowip(String allowip) this.allowip = allowip;Column(name = LASTLOGINTIME, length = 50)public String getLastlogintime() return this.lastlogintime;public void setLastlogintime(String lastlogintime) this.lastlogintime = lastlogintime;Column(name = EMAIL, length = 50)public String getEmail() return this.email;public void setEmail(String email) this.email = email;Column(name = MOBILEPHONE, length = 50)public String getMobilephone() return this.mobilephone;public void setMobilephone(String mobilephone) this.mobilephone = mobilephone;Column(name = ISSTATE)public Boolean getIsstate() return this.isstate;public void setIsstate(Boolean isstate) this.isstate = isstate;Column(name = ROLEID)public Integer getRoleid() return this.roleid;public void setRoleid(Integer roleid) this.roleid = roleid;Column(name = TQNUM, length = 11)public String getTqnum() return this.tqnum;public void setTqnum(String tqnum) this.tqnum = tqnum;5.3.2 角色管理功能实现角色管理可以实现对不同角色的选择以及对相应角色进行增删改查,管理员也可以对角色的功能进行选择,实现不同角色权限不同。角色管理页面如图5-4所示:图5-4 角色管理页面其主要代码如下:public void save(SysRoleMenu transientInstance) log.debug(saving SysRoleMenu instance);try getHibernateTemplate().save(transientInstance);log.debug(save successful); catch (RuntimeException re) log.error(save failed, re);throw re;public void delete(SysRoleMenu persistentInstance) log.debug(deleting SysRoleMenu instance);try getHibernateTemplate().delete(persistentInstance);log.debug(delete successful); catch (RuntimeException re) log.error(delete failed, re);throw re;public SysRoleMenu findById(java.lang.Integer id) log.debug(getting SysRoleMenu instance with id: + id);try SysRoleMenu instance = (SysRoleMenu) getHibernateTemplate().get(cn.gmw.cppcc.database.SysRoleMenu, id);return instance; catch (RuntimeException re) log.error(get failed, re);throw re;public List findByExample(SysRoleMenu instance) log.debug(finding SysRoleMenu instance by example);try List results = (List) getHibernateTemplate().findByExample(instance);log.debug(find by example successful, result size: + results.size();return results; catch (RuntimeException re) log.error(find by example failed, re);throw re;public List findByProperty(String propertyName, Object value) log.debug(finding SysRoleMenu instance with property: + propertyName+ , value: + value);try String queryString = from SysRoleMenu as model where model.+ propertyName + = ?;return getHibernateTemplate().find(queryString, value); catch (RuntimeException re) log.error(find by property name failed, re);throw re;public List findAll() log.debug(finding all SysRoleMenu instances);try String queryString = from SysRoleMenu;return getHibernateTemplate().find(queryString); catch (RuntimeException re) log.error(find

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论