1、新闻管理设计第一章 绪 论 1.1 意义 1.2 目的 1.3 背景和现状 第二章 新闻管理系统问题描述 2.1 问题的提出 .2.2 研究工作的基本前提 .2.2.1 软件体系结构及环境 .2.2.2 B/S 浏览器 /服务器结构简介 2.3 系统需求 2.4 接口需求 第三章 新闻管理系统概要设计 3.1 设计思想 3.2 模块设计方案 3.2.1 用户登录 3.2.2 新闻管理 3.2.3 通知管理 3.2.4 权限修改 .3.4 系统示图 3.5 数据库设计 第四章 新闻管理系统详细设计 4.1 目的 4.2 服务器的配置 4.3 数据库的安装和配置 4.4 功能模块详细设计 .4.4
2、.1 用户登录 4.4.2 新闻管理模块设计 4.4.3 通知管理模块设计 4.4.4 用户密码修改 4.4.5 权限管理 4.5 程序流程图 第五章 新闻管理系统测试 5.1 测试环境 5.2 测试标准 5.3 测试方案 5.3.1 系统功能测试 5.3.2 系统性能测试 5.4 测试结果 .结论 第一章 绪 论 1.1 意义在 Internet 飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用。Internet 上发布信息主要是通过网站来实现的,获取信息也是要在Internet“海洋”中按照一定的检索方式将所需要的信息从网
3、站上下载下来。因此网站建设在 Internet 应用上的地位显而易见,它已成为政府、企事业单位信息化建设中的重要组成部分,从而倍受人们的重视。为了更好的、有效率的进行学院的新闻、通知的发布以及管理,特提出了学院新闻管理系统的建设。 1.2 目的在学院日常办公事务中,建立起有一个新闻管理系统。通过此系统,学院可以地发布、审核、更新新闻和通知,师生可以便利地浏览,并且能对用户信息进行修改、添加、删除的操作来对用户进行有效、快捷的管理 1。此系统建立后,用户(普通用户、管理员)可以进行以上操作,对学院新闻、通知信息进行管理,并且管理员还具有对登陆用户的信息进行修改、添加删除等操作。 1.3 背景和现
4、状为了学院工作的顺利进行,信息的快速发布,通知的及时传达提出了新闻管理系统的建设。在现有的管理系统大都采用了具有较好的安全性、移植性的JSP 网络编程技术进行编码实现。第二章 新闻管理系统问题描述2.1 问题的提出随着现在学院管理机制的完善,学院通过网站可以展示学院风采,发布最新动态信息,与学生、老师进行信息交流和沟通,与其他学院建立联系等。其中新闻管理系统是构成学院网站的一个重要组成部分,可以用来动态发布有关学院新的工作安排,有利于学院工作的开展;还可以发布对本学院学生有益的相关新闻信息和学院的风采展现。 2.2 研究工作的基本前提2.2.1 软件体系结构及环境对实现目标系统的所运用的技术构
5、架描述:该系统采用Browser/Server(B/S)浏览器/服务器结构为软件体系结构。这种结构最大的优点是:客户机统一采用浏览器,这不仅让用户使用方便,而且使得客户机端不存在维护的问题。当然,软件开发布和维护的工作不是自动消失了,而是转移到了 Web 服务器端。在 Web 服务器端,程序员要编写响应页面。例如用 JSP语言查询数据库,将结果保存在 Web 页面中,再由浏览器显示出来。运行环境:Tomcat 服务器数据库: MySQL软件环境:Windows 2000 professional 、DreamweaverMX、JBuilder.硬件环境:PC 机2.2.2 B/S 浏览器/服务
6、器结构简介B/S 结构,即 Browser/Server(浏览器/服务器)结构,是随着 Internet 技术的兴起,对 C/S 结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW 浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓 3-tier 结构。B/S 结构,主要是利用了不断成熟的 WWW 浏览器技术,结合浏览器的多种 Script 语言(VBScript 、JavaScript) 和 ActiveX 技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。随着 Windows 98/
7、Windows 2000 将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。显然 B/S 结构应用程序相对于传统的 C/S 结构应用程序将是巨大的进步。B/S 结构采用星形拓扑结构建立企业内部通信网络或利用 Internet 虚拟专网(VPN)。前者的特点是安全、快捷、准确。后者则具有节省投资、跨地域广的优点。须视企业规模和地理分布确定。企业内部通过防火墙接入 Internet,再整个网络采用 TCP/IP 协议。网络结构如图 6 所示: 图 2.1 B/S 网络结构图2.3 系统需求根据用户的具体要求,决定了此系统的功能模块,以及功能特点。新闻管理系统的功能特点:(1)
8、操作简单、界面友好:完全控件式的页面布局,使得新闻/通知的录入工作更简便;许多选项包括新闻/通知类别、来源部门等只需要点击鼠标就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。(2)即时可见:对新闻/通知的处理(包括录入、修改、删除)将立即在主页的对应栏目显示出来,达到“即时发布、即时见效“ 的功能。(3)功能完善:包括常见网站的新闻/通知管理的各个方面:新闻/通知发布、浏览、删除、修改、检索等各个方面,完整地实现了网站对即时新闻的管理要求。(4)方便移植:针对不同的单位,只需要稍作修改就可以开发出适合本企业特点的网站新闻管理系统!按照系统开发的基本观点对系统进行分解,从内容
9、上可对网站作如下划分:系统登录:该模块负责将用户分为普通用户和注册用户来实现用户权限的管理。(1) 、新闻管理:新闻发布:该模块是登陆者进行新闻编辑,包括标题、类型、来源部门字段及发布日期等信息,然后出现在新闻审核页面上。新闻审核:该模块负责列出所有未通过新闻的信息,包括标题、类型、来源部门字段及发布日期,每条新闻的标题被做成一个超链接,点击它们就能跳转页面进行新闻阅读,有权限的登陆者可以对其进行通过审核、删除等功能。 新闻阅读:在其他页面中点击标题链接即进入新闻阅读页面,此时,每条新闻的详细信息将被取出,包括内容、标题、关键字等,并按照相对固定的格式放置在页面的不同区域,所有新闻使用大致相同
10、的页面布局,只是各字段对应的内容不同而已,另外,页面其它位置,可以动态放置其他元件,如网站标志 logo、页面广告 banner 等链接图片,这样可以很容易地实现图文并茂的阅读效果。并且有权限的人可以通过此界面进行新闻修改。新闻查询:该模块提供了新闻查询功能,输入待查找的内容及选定分类信息可以快速地找到符合条件的新闻,并输出查询结果。新闻显示:该模块是显示在页面上会自动流动的显示新闻题目,按照时间来排列顺序。点击标题后,会出现新闻的全部信息。(2) 、通知管理通知发布:该模块是登陆者进行通知编辑,包括标题、类型、来源部门字段及发布日期等信息,然后出现在通知审核页面上。通知审核:该模块负责列出所
11、有未通过通知的信息,包括标题、附件、类型、来源部门字段及发布日期,每条通知的标题被做成一个超链接,点击它们就能跳转页面进行通知阅读,有权限的登陆者可以对其进行通过审核、删除等功能。 通知阅读:在其他页面中点击标题链接即进入通知阅读页面,此时,每条通知的详细信息将被取出,包括内容、附件、标题、关键字等,并按照相对固定的格式放置在页面的不同区域,所有通知使用大致相同的页面布局,只是各字段对应的内容不同而已,另外,页面其它位置,可以动态放置其他元件,如网站标志 logo、页面广告 banner 等链接图片,这样可以很容易地实现图文并茂的阅读效果。并且有权限的人可以通过此界面进行通知修改。通知查询:该
12、模块提供了通知查询功能,输入待查找的内容及选定分类信息可以快速地找到符合条件的通知,并输出查询结果。通知显示:该模块是显示在页面上会自动流动的显示通知题目,按照时间来排列顺序。点击标题后,会出现通知的全部信息。(3)、用户密码修改此模块主要要满足登陆用户修改自己密码。首先用户要核对自身原有的密码,如果核对通过则会在用户数据库中的密码改为输入的新密码。(4) 、权限管理此模块只针对于具有管理员身份的登陆者,主要要完成的功能有用户信息查询、用户权限修改、以及添加用户。用户信息查询,会在页面上显示用户的用户名、用户的角色等信息;添加是通过页面的添加用户名、用户角色、用户密码等信息,添加成功后,将在数
13、据库中存在该用户。新闻管理系统功能结构图如下:图 2.2 新闻管理系统功能结构图2.4 接口需求用户接口:本系统的用户一般需要通过终端进行操作,进入主界面后点击相应的窗口,分别进入相对应的界面(如:输入界面、输出界面),使用方便、直观。软件接口:windows 2000 professional用户登录判断权限新闻/通知发布新闻/通知阅读新闻/通知查询新闻/通知修改新闻 /通知删除权限管理密码修改第三章 新闻管理系统概要设计该部分要说明新闻管理系统实现的基本方案。根据以上需求分析以及用户的要求,该系统要实现用户登录时要进行核对用户的合法性、新闻管理、通知管理等基本功能模块3.1 设计思想本系统
14、采用了面向对象编程语言(java)进行基层编程,页面编程采用了JSP 技术。系统采用跨平台性能较好的 Java 编程语言,采用JSP、Servlet、JavaBean、JavaScript 技术。使用 JSP、Servlet、JavaScript 负责浏览器表现层的实现;JSP 实现查询、数据翻页显示等简单的逻辑操作;Servlet实现数据的添加、删除、修改等复杂的逻辑操作;JavaBean 负责数据库操作、Web 页面中文显示等可重用的操作的实现。Java 是一个由 sun 公司开发的编程语言。使用它可在各式各样不同种机器、不同种操作平台下的网络环境中开发软件,不论使用的是哪一种 www 浏
15、览器、哪一种计算机、哪一种操作系统只要 www 浏览器注明“支持 java 语言“就可以看到生动的页面。java 正在逐步成为 Internet 应用的主要开发语言。它彻底改变了应用软件的开发模式、带来了 Pc 机的一次技术革命,为迅速发展的信息世界增添了新的活力。使用 java 语言主要有以下特点:1) 、简单性Java 语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,只需理解一些基本的概念,就可以用它编写出适合于各种情况的应用程序。Java 略去了运算符重载、多重继承等模糊的概念、并且通过实现自动垃圾收集大大简化了程序设计者的内存管理。2) 、面向对象的特性Java 话言
16、的设计集中于对象及其接口上,它提供了简单的类机制以及动态的接口模型。对象中封装了它的状态变量以及相应的方法,实现了模块化和信息隐藏;而类则提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用。3) 、分布性处理Java 是面向网络的语言。通过 Java 提供的基础类库可以处理 TCP/IP 协议用户可以通过 URL 地址在网络上很方便地访问其他对象。4)健壮性Java 在编译和运行程序时、都要对可能出现的问题进行检查,以消除错误的产生。它提供自动垃圾收集来进行内存管理,防止程序员在管理内存时产生错误。使用集成的面向对象的例外处理机制,在编译时,Java 会提示
17、可能出现但末被处理的例外,帮助程序员正确地进行选择以防止系统的崩消。另外 ,Java 在编译时还可捕获类型声明中的许多常见错误,防止动态运行时不匹配问题的出现。5) 、安全性用于网络、分布式计算环境下的 Java 必须要能够防止病毒的入侵。Java不支持指针、一切对内存的访问都必须通过对象的实例变量来实现,这样就防止程序员使用欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。6) 、体系结构中立Java 解释器生成与体系结构无关的字节码指令,只要安装了 Java 运行时系统,Java 程序就可在任意的处理器上运行这些字节码指令对应于 Java 虚拟机中的表示,Java 解释器得
18、到字节码后对它进行转换使之能够在不问的平台运行。7)可移植性与平台无关的特性使 Java 程序可以方便地被移植到网络上的不同机器。同时,Java 的类库中也实现了与不同平台的接口,使这些类库可以从一个平台移植到另一个平台。另外,Java 编译器是由 Java 语言实现的,Java 运行时系统由标准 c 实现,这使得 Java 系统本身也具有可移植性。JSP 目前在国外已经得到广泛的应用,在国内,因为 Java 语言普及性不够,所以尚未得到重用,但是越来越多的公司和个人开始关注 JSP 的应用前景,国内也已经出现了许多 JSP 做的网页和网站,JSP 正日益火瀑、大有取代其他网页编程语言的趋势。
19、JSP 规范是 web 服务器、应用服务器开发者、交易系统、以及开发工具供应商等各方广泛合作的结果。其特点是: 能运行在任何 web 或应用程序服务器上。 能分离应用程序的逻辑和页面显示。 能快速地开发和测试 能简化开发基于 Web 的交互式应用程序的过程。JSP 相对于目前流行的其他网页制作技术(如:ASP)相比较具有了很多优越性:1) 、JSP 技术基于平台和服务器的互相独立,输入支持来自广泛的,专门的,各种工具包,服务器的组件和数据库产品开发商所提供。相比之下,ASP 技术主要依赖微软的技术支持。2) 、平台和服务器的独立性 JSP 技术依附于一次写入之后,可以运行在任何具有符合 Jav
20、aTM 语法结构的环境。取而代之过去依附于单一平台或开发商,JSP 技术能够运行在任何 WEB 服务器上并且支持来自多家开发商提供的各种各样工具包。3) 、开放的开发过程,开放的原代码,SUN 应用 JAVA 社团性过程开发 JSP技术,使得 JSP 更具有友好性。而 ASP 技术仅依靠微软本身的推动,其发展是建立在独占的,封闭的开发过程基础之上。4) 、从开发人员的角度来看:ASP 和 JSP 技术都能使开发者实现通过点击网页中的组件制作交互式的,动态的内容和应用程序的 WEB 站点。ASP 仅支持组件对象模型 COM,而 JSP 技术提供的组件都是基于 JavabeansTM 技术或 JS
21、P 标签库。并且 JSP 标签可扩充,其跨越平台的可重用性强。5) 、在企业级 JAVABEANS 技术支持下,JSP 网页通过运用高级的,对象映射的方式访问数据库,使对数据库的访问更有效。因此此系统中,选择利用 JSP 技术和 Servlets、JavaBean、JavaScript 进行新闻管理系统的开发,更能体现现代技术的优越性。JSP 技术能让 Web 开发员和网页设计员快速地开发容易维护的动态 Web 主页。用 JSP 开发的 Web 应用是跨平台的,即能在 Linux 下运行,也能在其他操作系统上运行。JSP 技术使用 Java 编程语言编写类 XML 的 tags 和 scrip
22、tlets,来封装产生动态网页的处理逻辑。网页还能通过 tags 和 scriptlets 访问存在于服务端的资源(例如 JavaBesns)的应用逻辑。JSP 将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于 Web 的应用程序的开发变得迅速和容易。 JSP 技术是 Servlet 技术的扩展。Servlet 是平台无关的,100%纯 Java 的Java 服务端组件。通过 JSP 来进行数据库访问不需要太多的引导。问题是如何使开发者能够接受 Web 程序的数据库访问比传统的本地 OLAP 系统的数据库访问更加具有吸引力,并且使他们认识到,整洁和简要的数据访问方法才是关键的
23、。在这一点上,JSP 可以很好地解决,因为它能够与 Java Database Connectivity API (JDBC)很好的兼容。你可以将 JDBC 包含在 JSP 代码中,并且 JDBC 能够传递声明执行类似数据库的命令,只要你能够正确地使用 JDBC 驱动程序。JDBC API 不会直接地与数据库进行交流。其中的驱动程序完成的实际的连接,你可以在卖方的 Web 站点上下载这些驱动程序。除此之外,还有四种JDBC 的驱动程序类型,如果你决定使用 JDBC,你需要正确地选择最为适合你需要的那种类型。你将使用一个 DriverManager 类来处理基于驱动程序的连接。你可以使用一个名为
24、 getConnection 的 DriverManager 方法来建立你的数据库连接。你还可以使用它的 URL 参数来识别数据库:public static Connection getConnection(jdbc:odbc:nameOfDatabase)现在,告诉 DriverManager 有关驱动程序的信息(应该在你的 classpath 中):Class.forName(“sun.jdbc.odbc.nameOfJDBCDriver”);你已经将数据库连接到 JSP 程序,但你仍然不能够执行一个数据库命令。解决这一点,你可以在 JSP 代码中生成声明以建立数据库命令,如下所示:pu
25、blic Statement createStatement(intresultSetType, intresultSetConcurrency)其中的参数能够让你控制从数据库查询得到的结果。当使用第一个参数时,可以在程序中看到结果;当使用第二个参数时,你可以通过查询来更新数值。声明(Statement) 就是 SQL 命令。PreparedStatement 就是 SQL 的声明,你可以通过其中的参数来控制程序的过程。CallableStatement 是用于访问 SQL 存储程序。 你以上的声明接口使你可以使用一些方法来执行 SQL 声明。ResultSet 所做的就是访问从查询得到的数据
26、,所以你可以在 JSP 程序中使用这些数据。 通过将 JSP 程序分解成单一的、功能明显的页面,以及在任何给定页面中执行一个单一的数据库操作,可以很大程度地简化你的数据库操作,以及建立可以用于以后程序开发的页面,即使你将 SQL 嵌入到这些页面的 JDBC 中。为了使得你的 JSP 数据库访问更加整洁和容易维护,在 JSP 代码中嵌入 JDBC,以及通过发送 SQL 命令与数据库通讯,但是,它要求在不能增加代码复杂程度下,建立通过接口的 SQL 命令的程序。当你的 SQL 处理需要提高灵活性的时候,你可以进一步地分离你的数据库接口代码,以清洁你的 JSP 程序。3.2 模块设计方案各个模块的功
27、能实现都是在详细设计中实现的,这里只是提出了实现的大体方案,各个模块的实现方案都是经过与以前的系统比较后,作了优化得出的。系统的功能模块图:图 3.1 新闻管理系统的功能模块图3.2.1 用户登录用户登录时所用的用户名以及密码都是存放在数据库中的users、user_roles 两个表中的,当用户输入用户名和密码后,点“登入”按钮,程序将自动检查数据库中的数据,以判断用户是否合法,合法则进入新闻管理系统的主界面,实现此功能要通过对 server.xml 文件进行安全域的配置,还要对 web.xml 进行权限的设置。对于根据登录者的身份(user_roles)不同,所进入的界面以及所要的操作,除
28、了管理员身份有新闻审核、通知审核和权限管理页面外,其他的角色登录后只有新闻发布、通知发布、新闻/通知查询、新闻/通知显示 4 个页面。且在查看详细信息的时候,管理员身份可以进行修改、删除新闻或者通知。关于此功能的实现还有一种方案可以实现。在 web.xml 的安全域设置中把新闻审核和通知审核进行安全域的控制,只能有管理员身份的登录者才能进入,当其他身份点击此两个页面的时候,将会出现出错页面提示“你没有权限” 。图 3.2 用户的 ER 图用户密码 角色新闻管理系统3.2.2 新闻管理此模块包括了新闻发布、新闻审核、新闻查询、新闻显示几大模块。主要完成的功能是对新闻信息进行编辑、发布,发布的信息
29、通过新闻审核页面进行新闻审核通过后会出现在新闻查询页面的“已审核”的新闻信息中和新闻显示的页面中。新闻查询可分日期查询、发送方查询、标题查询、审核性查询。通过某一条件进行查询可以所需的信息。在查询页面、审核页面中也可以进行新闻的详细信息查询。具体的功能模块图如下:图 3.3 新闻管理功能模块图新闻管理模块图 3.4 新闻管理模块 E-R 图3.2.3 通知管理此模块包括了通知发布、通知审核、通知查询、通知显示几大模块。主要完成的功能是对通知信息进行编辑、发布,发布的信息通过通知审核页面进行通知审核通过后会出现在通知查询页面的“已审核”的通知信息中和通知显示的页面中。通知查询可分日期查询、发送方
30、查询、标题查询、审核性查询。通过某一条件进行查询可以所需的信息。在查询页面、审核页面中也可以进行通知的详细信息查询。具体的功能模块图如下:新闻信息备注审核人姓名属性附件编号投稿内容投稿时间投稿人姓名序号 标题图 3.5 通知管理功能模块图图 3.6 通知管理模块 E-R 图3.2.4 权限修改此模块要主要要完成的功能有用户信息查询、用户权限修改、以及添加用户。用户信息查询,会在页面上显示用户的用户名、用户的角色等信息;添加是通过页面的添加用户名、用户角色、用户密码等信息,添加成功后,将在通知管理模块通知信息备注投稿时间内容投稿人姓名发送单位发送时间类别标题附件编号审核人姓名数据库中存在该用户。
31、功能模块图如下:图 3.7 权限管理功能模块图注:因为在前面已经对密码修改部分进行了功能阐述,此模块的功能单一,因此在此不作过多阐述了,具体实现将在下章进行详细功能设计。3.4 系统示图在一个系统中,数据的流向是很重要的,因此此系统采用了数据流图来描述整个新闻管理系统的数据流向。数据流图描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息数据在系统中流动和处理的情况。数据流图是结构化系统分析的基本工具。一个数据流图确定了系统的转化过程、系统所操纵的数据或物质的收集(存储) ,还有过程、存储、外部世界之间的数据流或物质流。数据流模型把层次分解方法运用到系统分析上,这种方法很适用于事务处理
32、系统和其它功能密集型应用程序。新闻和通知发布与新闻/通知审核、新闻/通知查询、新闻/通知显示模块间的数据流图如下:权限管理图 3.8 新闻管理系统的数据流图图 3.9 新闻通知/管理系统的总体 E-R 图登陆者 新闻发布通知发布待审核的新闻信息新闻审核通知审核待审核的通知信息已审核的新闻信息已审核的通知信息新闻/通知显示从数据库提取并显示的信息新闻/通知查询1 NNN1NNNNNNNNN登陆者 新闻/通知发布新闻/通知信息表审核新闻/通知信息审核过的信息表新闻通知查询新闻通知显示页面3.5 数据库设计该新闻管理系统涉及到了数据库的建立,数据库是按照数据结构来组织、存储和管理数据的仓库,是用于查
33、询的大量数据的存储区域。使用数据库可以带来许多好处:如减少了数据的冗余度,从而大大地节省了数据的存储空间,实现数据资源的充分共享等等。此外,数据库技术还为用户提供了非常简便的使用手段,使用户易于编写有关数据库应用程序。特别是近年来推出的计算机关系数据库管理系统,操作直观,使用灵活,编程方便,功能强大,环境适应广泛,数据处理能力极强。一般数据库设计方法有两种,即属性主导型和实体主导型。属性主导型从归纳数据库应用的属性出发,在归并属性集合(实体)时维持属性间的函数依赖关系。实体主导型则先从寻找对数据库应用有意义的实体入手,然后通过定义属性来定义实体。一般现实世界的实体数在属性数 1/10 以下时,
34、宜使用实体主导型设计方法。面向对象的数据库设计是从对象模型出发的,属于实体主导型设计。数据库的开发步骤:1)、设计应用系统结构;2)、选择便于将应用程序与 DBMS 结合的 DBMS 体系结构,如 RDBMS;3)、根据应用程序使用的环境平台,选择适宜的 DBMS(MYSQL)和开发工具(Navicat 或者 mysql control center、mysql administrator);4)、设计数据库,编写定义数据库模式的 SQL 程序;5)、编写确保数据正确录入数据库的用户接口应用程序;6)、录入数据库数据;该系统采用了 MYSQL 作为数据库,它是目前较为流行的、快速、开放原代码的
35、数据库系统,具有很大的功能。新闻管理系统主要用到了 3 张表,新闻信息表 news、通知信息表 notice、附件表 adnexa 。新闻信息表详细字段如下:字段名称 英文 类型 长度 允许空编号 ID int 5标题 NewsTopic varchar 30投稿时间 ContrTime datetime投稿人姓名 ContrID varchar 10投稿内容 Newscontent varchar 255审核人姓名 BoolAud Bool附件编号 AdnexaID varchar 15属性 type varchar 10备注 Remark varchar 50 表 3.1 新闻信息表通知信
36、息表详细字段如下:字段名称 英文 类型 长度 允许空编号 ID int 5投稿人姓名 ContrName varchar 15内容 Content varchar 255投稿时间 ContrTime datetime审核人姓名 BoolAud Bool附件编号 AdnexaID varchar 30标题 NoticeTopic varchar 30类别 Noticetype varchar 30发送时间 SendTime datetime发送单位 SendUnit varchar 15备注 Remark varchar 50表 3.2 通知信息表各数据表间的关系图:图 3.10 各数据表中间关
37、系图为了保障数据库不被人随意修改,在使用数据库工具的时候,可以用工具给所建的数据库进行密码设置。因为在页面中也可以进行对数据库的操作,因此在系统中的权限设置是必要的,在 JSP 文件中,这一设置是在 server.xml和 web.xml 中进行安全域的设置,达到了权限访问的效果。此系统采用管理员表示和鉴定的方法实现数据库的安全,此安全管理措施并不在前台开发工具中实现,而是在后台数据库中实现。在登录数据库时,系统让管理员表示自己的身份,不同的管理员权限不同,系统进行核实,鉴别此管理员是否为合法用户,若是,系统进一步核实用户,通常要求用户输入口令,系统和对用户口令以鉴别用户身份。服务器的安全也是
38、通过用户在登录服务器时输入合法的用户名和密码来实现的。这是一种简单可行的方法,实现起来比较方便。采用安全管理措施主要是为了防止没有修改权限的用户无意间修改了数据,因此采用用户标识和鉴定的安全管理措施就能够保障数据库的安全性。第四章 新闻管理系统详细设计详细设计阶段确定具体实现目标系统功能的方法,其目标不仅仅是逻辑上正确的实现每个模块的功能,更重要的是设计出的处理过程应该简明。Table newsinfo Table noticeTable adnexa4.1 目的在经过前面对新闻管理系统进行了全面的需求分析过程和详细的功能模块分析后,在详细设计阶段将讨论如何具体实现系统中的每个功能模块,以及实
39、现各个具体功能的方法及其思想。4.2 服务器的配置此系统采用了 Tomcat 5.0 作为服务器。Tomcat 是 Jakarta 的旗舰产品。Jakarta 的目标是提供一个基于 Java 平台的商业标准的服务器。作为旗舰产品,Tomcat 严格遵守 Java Servlet 2.4 和 JavaServer Pages 2.0 规范。Jakarta Tomcat 的日益流行是无可争辩的,它不但是 Sun 公司 Servlet 和 JSP规范的参考实现,也是世界上使用最为广泛的 Servlet 和 JSP 容器。它正被应用在成百上千的 Web 站点,不管是个人网站、非赢利组织网站,还是商务网
40、站,它的表现都非常出色。安装 Tomcat 首先要安装 JDK。安装好了 Tomcat 就要对它进行配置,环境变量的配置是在“我的电脑属性高级环境变量中,添加如下:TOMCAT_HOME C:Tomcat 5.0;path c:j2sdk1.4.2bin;JAVA_HOME c:j2sdk1.4.2;CLASSPATH c:j2sdk1.4.2libtools.jar设置好了后,打开 http:/localhost 看能不能正确显示主页,如果能,则证明安装配置成功了。4.3 数据库的安装和配置MySQL 是是一个真正的多用户、多线程 SQL 数据库服务器。MysQL 是以一个客户机服务器结构实
41、现其功能的,它由一个服务器守护程序 mysqld 和很多不同的客户程序和库组成。SQL 是一种标准化的语言,它使得存储、更新和存取信息更容易 9。MySQL 主要特点是快速、健壮和易用。MySQL 的优点主要有:1).它使用的核心线程是完全多线程,支持多处理器。 2.有多种列类型:1、2、3、4、和 8 字节长度自有符号无符号整数、FLOAT、DOUBLE、CHAR、VARCHAR、TEXT、BLOB、DATE、TIME、DATETIME、TIMESTAMP、YEAR、和 ENUM 类型。 3).它通过一个高度优化的类库实现 SQL 函数库并像他们能达到的一样快速,通常在查询初始化后不该有任何
42、内存分配。没有内存漏洞。 4).全面支持 SQL 的 GROUP BY 和 ORDER BY 子句,支持聚合函数(COUNT()、COUNT(DISTINCT)、AVG()、STD()、SUM()、MAX()和 MIN()。你可以在同一查询中混来自不同数据库的表。 5).支持 ANSI SQL 的 LEFT 0UTER JOIN 和 ODBC。 6).所有列都有缺省值。你可以用 INSERT 插入一个表列的子集,那些没用明确给定值的列设置为他们的决省值。7). MySQL 可以工作在不同的平台上。支持C、C、Java、Perl、PHP、Python 和 TCL API。安装数据库:把 mysq
43、l-5.0.1-alpha-snapshot-win-noinstall.zip 解压缩后将文件夹中的所有文件拷贝到 c:mysql 目录下,然后进入命令提示符窗口,再到c:mysqlbin 目录下输入命令:mysqld-nt -install 此时如果提示安装成功,则证明 mysql 安装成功。安装成功后,就要启动数据库服务。进入管理工具中的服务看看 mysql 是否在服务项目中,如果在则启动 mysql 服务,如果在启动的过程中出现了mysql 1067 错误,服务被中断,此时检查计算机的防火墙是否开着,如果开着则关掉防火墙,在从新启动 mysql 服务,就可以启动数据库服务了。还有种方法
44、也可以启动服务:在命令提示窗口中,c:mysqlbin 目录下输入 net mysql start 同样也可以启动数据库服务。服务启动成功后,就可以建立连接了,则打开 MySQL Control Center 或者用 Navicat 工具,然后新建一个数据库服务,选中 file 菜单中的 new,然后在对话框中输入相应的信息,数据库服务建议按照如下填写:Name :随便填写,Host Name : localhost User Name : root Password 不填,其余都采用默认端口。最后按 Apply 按钮,接着建路数据库,右键点击 Databases 后选择 New Databa
45、se 接着在对话框中输入 lz 建立新闻管理系统的数据库。数据库的导入、导出是分别通过在命令提示窗口中 c:mysqlbin 目录下输入命令 mysql lzlz.sql。这里的 lz 只是一个示例。当然也可以通过命令导入到处数据库 lz 中的一个表或者几个表 mysql lz newsfunction check_all()函数的具体实现这里不作详细介绍,因为考虑到论文的表面美观,这里以及以后涉及到代码的部分,都只用代码的主要函数和部分重要代码作说明。粘贴附件功能是同过判断 xinwenfabu.jsp 中的参数值(是否有附件)传到xinwenfujian.jsp,通过 xinwenfuji
46、an.jsp 实现的附件粘贴功能。新闻发送是通过 if(send != null 新闻审核功能的具体实现:在此模块中你可以看到学院各个办公室发布的,需要审核的新闻列表,对审核框进行选择,然后你通过点击“同意”来通过你想发布的新闻,通过点击“删除”来清除你不想发布的新闻。通过点击“详细”查看新闻的具体内容。审核是通过改变数据库中的 BoolAud 是否为空,来判断是否通过审核,对数据库的访问是通过调用了 delmessage 完成的,delmessage 是一个 Servlet,通过它可以对数据库进行相应的修改。在审核模块中,可以通过“详细”按钮查看新闻的详细信息4.4.3 通知管理模块设计通知
47、管理模块包括了通知发布、通知审核、通知查询、通知显示等小模块。通知发布要涉及有个完整的输入界面的设计,用户输入通知的标题、发送方、附件(有文件格式要求) ,及其通知内容。输入后的数据通过 JavaBean 对数据库进行更新,把内容添加到数据库中。然后通过通知审核页面进行对通知进行审核通过、修改、删除操作,经过审核的通知信息在数据库中的 BoolAud 的值会变,如果 BoolAud 不为空,则表示通知通过审核了,通过审核的信息可以直接显示在通知显示页面中,而没有通过的则不回出现在通知显示页面中。通知查询页面主要是实现通知的模糊查询,按照日期、发送方、审核性、标题进行查询,同样也可以点击详细来查
48、看通知的具体内容,在查看详细通知信息时,有附件的还可以点击附件下载。在通知详细信息显示时候要特别注意附件的处理,当通知或者新闻都有上传附件的时候,附件首先是分别保存在 xinxijiaoliuxinwenfujian 和xinxijiaoliutongzhifujian 两个文件夹中的,因此要进行附件下载的时候,JSP 文件中要正确找到路径地址才能正常的实现附件下载功能。通知发布功能的具体实现:通知发布和新闻发布的大体思想是相似的,信息完整性的判断也是在 tongzhifabu.jsp 中调用 Script 中的 check_all 函数。通知审核功能具体实现:在此模块中你可以看到学院各个办公
49、室发布的,需要审核的通知列表,对审核框进行选择,然后你通过点击“同意”来通过你想发布的新闻,通过点击“删除”来清除你不想发布的新闻。通过点击“详细”查看新闻的具体内容。通过“下载”来下载附件信息。审核是通过改变数据库中的 BoolAud 是否为空,来判断是否通过审核,对数据库的访问是通过。通知查询功能具体实现:在此页面中,用户可通过日期查询、发送方查询、标题查询、审核性查询。通过某一条件进行查询可以所需的信息。在查询页面、审核页面中也可以进行通知的详细信息查询,有附件的也可以点击下载,进行附件下载。下载的原理与上面功能模块中的是一致的。模糊查询的功能实现是判断相应的值,通过 Bean 文件进行对数据库的数据查询,找出相应的信息。通知显示功能具体实现:通知显示能显示通过审核新闻的标题,通过标题能查看到通知的全部信息。在新闻显示页面中只有几条信息,如果想查看更多的信息,则通过morenotice.jsp 可以查看更多的信息,设计原理和上面代码是一致的。注:考虑到新闻显示和通知显示和查询的功能实现都是同一原理,因此在上面就没对新闻的查询和显示功能多作罗嗦了。4.4.4 用户密码修改此模块涉及到的数据不多,为了实现