毕业设计题目新闻管理设计案例样本_第1页
毕业设计题目新闻管理设计案例样本_第2页
毕业设计题目新闻管理设计案例样本_第3页
毕业设计题目新闻管理设计案例样本_第4页
毕业设计题目新闻管理设计案例样本_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

新闻管理设计案例第一章绪论 2§1.1意义 2§1.2目标 2§1.3背景和现实状况 2第二章新闻管理系统问题描述 3§2.1问题提出 3§2.2研究工作基础前提 3§2.2.1软件体系结构及环境 3§2.2.2B/S浏览器/服务器结构介绍 3§2.3 系统需求 4§2.4性能需求 6§2.5接口需求 6第三章新闻管理系统概要设计 6§3.1设计思想 6§3.2模块设计方案 9§3.2.1用户登录 9§3.2.2新闻管理 10§3.2.3通知管理 11§3.2.4权限修改 12§3.4系统示图 13§3.5数据库设计 15第四章新闻管理系统具体设计 18§4.1目标 18§4.2服务器配置 18§4.3数据库安装和配置 18§4.4功效模块具体设计 19§4.4.1用户登录 19§4.4.2新闻管理模块设计 21§4.4.3通知管理模块设计 23§4.4.4用户密码修改 25§4.4.5权限管理 26§4.5程序步骤图 27第五章新闻管理系统测试 30§5.1测试环境 30§5.2测试标准 30§5.3测试方案 30§5.3.1系统功效测试 30§5.3.2系统性能测试 31§5.4测试结果 31结论 31附录 32第一章绪论§1.1意义在Internet飞速发展今天,互联网成为大家快速获取、公布和传输信息关键渠道,它在大家政治、经济、生活等各个方面发挥着关键作用。Internet上公布信息关键是经过网站来实现,获取信息也是要在Internet“海洋”中根据一定检索方法将所需要信息从网站上下载下来。所以网站建设在Internet应用上地位显而易见,它已成为政府、企机关信息化建设中关键组成部分,从而倍受大家重视。为了愈加好、有效率进行学院新闻、通知公布和管理,特提出了学院新闻管理系统建设。§1.2目标在学院日常办公事务中,建立起有一个新闻管理系统。经过此系统,学院能够地公布、审核、更新新闻和通知,师生可方便利地浏览,而且能对用户信息进行修改、添加、删除操作来对用户进行有效、快捷管理。此系统建立后,用户(一般用户、管理员)能够进行以上操作,对学院新闻、通知信息进行管理,而且管理员还含有对登陆用户信息进行修改、添加删除等操作。§1.3背景和现实状况为了学院工作顺利进行,信息快速公布,通知立即传达提出了新闻管理系统建设。在现有管理系统大全部采取了含有很好安全性、移植性JSP网络编程技术进行编码实现。第二章新闻管理系统问题描述§2.1问题提出 伴随现在学院管理机制完善,学院经过网站能够展示学院风采,公布最新动态信息,和学生、老师进行信息交流和沟通,和其它学院建立联络等。其中新闻管理系统是组成学院网站一个关键组成部分,能够用来动态公布相关学院新工作安排,有利于学院工作开展;还能够公布对本学院学生有益相关新闻信息和学院风采展现。§2.2研究工作基础前提§2.2.1软件体系结构及环境对实现目标系统所利用技术构架描述:该系统采取Browser/Server(B/S)浏览器/服务器结构为软件体系结构。这种结构最大优点是:用户机统一采取浏览器,这不仅让用户使用方便,而且使得用户机端不存在维护问题。当然,软件开公布和维护工作不是自动消失了,而是转移到了Web服务器端。在Web服务器端,程序员要编写响应页面。比如用JSP语言查询数据库,将结果保留在Web页面中,再由浏览器显示出来。运行环境:Tomcat服务器数据库: MySQL软件环境:Windowsprofessional、DreamweaverMX、JBuilder.硬件环境:PC机§2.2.2B/S浏览器/服务器结构介绍B/S结构,即Browser/Server(浏览器/服务器)结构,是伴随Internet技术兴起,对C/S结构一个改变或改善结构。在这种结构下,用户界面完全经过WWW浏览器实现,一部分事务逻辑在前端实现,不过关键事务逻辑在服务器端实现,形成所谓3-tier结构。B/S结构,关键是利用了不停成熟WWW浏览器技术,结合浏览器多个Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现强大功效,并节省了开发成本,是一个全新软件系统结构技术。伴随Windows98/Windows将浏览器技术植入操作系统内部,这种结构更成为当今应用软件首选体系结构。显然B/S结构应用程序相对于传统C/S结构应用程序将是巨大进步。

B/S结构采取星形拓扑结构建立企业内部通信网络或利用Internet虚拟专网(VPN)。前者特点是安全、快捷、正确。后者则含有节省投资、跨地域广优点。须视企业规模和地理分布确定。企业内部经过防火墙接入Internet,再整个网络采取TCP/IP协议。网络结构图6所表示:图2.1B/S网络结构图§2.3 系统需求依据用户具体要求,决定了此系统功效模块,和功效特点。新闻管理系统功效特点:(1)操作简单、界面友好:完全控件式页面布局,使得新闻/通知录入工作更简便;很多选项包含新闻/通知类别、起源部门等只需关键点击鼠标就能够完成;另外,跟踪出现提醒信息也让用户随时清楚自己操作情况。

(2)即时可见:对新闻/通知处理(包含录入、修改、删除)将立即在主页对应栏目显示出来,达成"即时公布、即时见效"功效。(3)功效完善:包含常见网站新闻/通知管理各个方面:新闻/通知公布、浏览、删除、修改、检索等各个方面,完整地实现了网站对即时新闻管理要求。

(4)方便移植:针对不一样单位,只需要稍作修改就能够开发出适合本企业特点网站新闻管理系统!根据系统开发基础见解对系统进行分解,从内容上可对网站作以下划分:系统登录:该模块负责将用户分为一般用户和注册用户来实现用户权限管理。(1)、新闻管理:新闻公布:该模块是登陆者进行新闻编辑,包含标题、类型、起源部门字段及公布日期等信息,然后出现在新闻审核页面上。

新闻审核:该模块负责列出全部未经过新闻信息,包含标题、类型、起源部门字段及公布日期,每条新闻标题被做成一个超链接,点击它们就能跳转页面进行新闻阅读,有权限登陆者能够对其进行经过审核、删除等功效。

新闻阅读:在其它页面中点击标题链接即进入新闻阅读页面,此时,每条新闻具体信息将被取出,包含内容、标题、关键字等,并按摄影对固定格式放置在页面不一样区域,全部新闻使用大致相同页面布局,只是各字段对应内容不一样而已,另外,页面其它位置,能够动态放置其它元件,如网站标志logo、页面广告banner等链接图片,这么能够很轻易地实现图文并茂阅读效果。而且有权限人能够经过此界面进行新闻修改。 新闻查询:该模块提供了新闻查询功效,输入待查找内容及选定分类信息能够快速地找到符合条件新闻,并输出查询结果。新闻显示:该模块是显示在页面上会自动流动显示新闻题目,根据时间来排列次序。点击标题后,会出现新闻全部信息。 (2)、通知管理 通知公布:该模块是登陆者进行通知编辑,包含标题、类型、起源部门字段及公布日期等信息,然后出现在通知审核页面上。

通知审核:该模块负责列出全部未经过通知信息,包含标题、附件、类型、起源部门字段及公布日期,每条通知标题被做成一个超链接,点击它们就能跳转页面进行通知阅读,有权限登陆者能够对其进行经过审核、删除等功效。

通知阅读:在其它页面中点击标题链接即进入通知阅读页面,此时,每条通知具体信息将被取出,包含内容、附件、标题、关键字等,并按摄影对固定格式放置在页面不一样区域,全部通知使用大致相同页面布局,只是各字段对应内容不一样而已,另外,页面其它位置,能够动态放置其它元件,如网站标志logo、页面广告banner等链接图片,这么能够很轻易地实现图文并茂阅读效果。而且有权限人能够经过此界面进行通知修改。 通知查询:该模块提供了通知查询功效,输入待查找内容及选定分类信息能够快速地找到符合条件通知,并输出查询结果。通知显示:该模块是显示在页面上会自动流动显示通知题目,根据时间来排列次序。点击标题后,会出现通知全部信息。(3)、用户密码修改此模块关键要满足登陆用户修改自己密码。首先用户要查对本身原有密码,假如查对经过则会在用户数据库中密码改为输入新密码。(4)、权限管理 此模块只针对于含有管理员身份登陆者,关键要完成功效有用户信息查询、用户权限修改、和添加用户。用户信息查询,会在页面上显示用户用户名、用户角色等信息;添加是经过页面添加用户名、用户角色、用户密码等信息,添加成功后,将在数据库中存在该用户。新闻管理系统功效结构图以下:用户登录判定权限用户登录判定权限新闻/通知公布新闻/通知阅读新闻/通知查询新闻/通知修改新闻/通知删除权限管理密码修改 图2.2新闻管理系统功效结构图§2.4性能需求见《软件专业试验》课程指导书§2.5接口需求用户接口:

本系统用户通常需要经过终端进行操作,进入主界面后点击对应窗口,分别进入相对应界面(如:输入界面、输出界面),使用方便、直观。软件接口:windowsprofessional第三章新闻管理系统概要设计该部分要说明新闻管理系统实现基础方案。依据以上需求分析和用户要求,该系统要实现用户登录时要进行查对用户正当性、新闻管理、通知管理等基础功效模块§3.1设计思想本系统采取了面向对象编程语言(java)进行基层编程,页面编程采取了JSP技术。系统采取跨平台性能很好Java编程语言,采取JSP、Servlet、JavaBean、JavaScript技术。使用JSP、Servlet、JavaScript负责浏览器表现层实现;JSP实现查询、数据翻页显示等简单逻辑操作;Servlet实现数据添加、删除、修改等复杂逻辑操作;JavaBean负责数据库操作、Web页面汉字显示等可重用操作实现。Java是一个由sun企业开发编程语言。使用它可在各式各样不一样种机器、不一样种操作平台下网络环境中开发软件,不管使用是哪一个www浏览器、哪一个计算机、哪一个操作系统.只要www浏览器注明“支持java语言“就能够看到生动页面。java正在逐步成为Internet应用关键开发语言。它根本改变了应用软件开发模式、带来了Pc机一次技术革命,为快速发展信息世界增添了新活力。使用java语言关键有以下特点:1)、简单性Java语言是一个面向对象语言,它经过提供最基础方法来完成指定任务,只需了解部分基础概念,就能够用它编写出适合于多种情况应用程序。Java略去了运算符重载、多重继承等模糊概念、而且经过实现自动垃圾搜集.大大简化了程序设计者内存管理。2)、面向对象特征Java话言设计集中于对象及其接口上,它提供了简单类机制和动态接口模型。对象中封装了它状态变量和对应方法,实现了模块化和信息隐藏;而类则提供了一类对象原型,而且经过继承机制,子类能够使用父类所提供方法,实现了代码复用。3)、分布性处理Java是面向网络语言。经过Java提供基础类库能够处理TCP/IP协议.用户能够经过URL地址在网络上很方便地访问其它对象。4)健壮性Java在编译和运行程序时、全部要对可能出现问题进行检验,以消除错误产生。它提供自动垃圾搜集来进行内存管理,预防程序员在管理内存时产生错误。使用集成面向对象例外处理机制,在编译时,Java会提醒可能出现但末被处理例外,帮助程序员正确地进行选择以预防系统崩消。另外,Java在编译时还可捕捉类型申明中很多常见错误,预防动态运行时不匹配问题出现。5)、安全性用于网络、分布式计算环境下Java必需要能够预防病毒入侵。Java不支持指针、一切对内存访问全部必需经过对象实例变量来实现,这么就预防程序员使用欺骗手段访问对象私有组员,同时也避免了指针操作中轻易产生错误。6)、体系结构中立Java解释器生成和体系结构无关字节码指令,只要安装了Java运行时系统,Java程序就可在任意处理器上运行这些字节码指令对应于Java虚拟机中表示,Java解释器得到字节码后.对它进行转换.使之能够在不问平台运行。7)可移植性和平台无关特征使Java程序能够方便地被移植到网络上不一样机器。同时,Java类库中也实现了和不一样平台接口,使这些类库能够从一个平台移植到另一个平台。另外,Java编译器是由Java语言实现,Java运行时系统由标准c实现,这使得Java系统本身也含有可移植性。JSP现在在国外已经得到广泛应用,在中国,因为Java语言普及性不够,所以还未得到重用,不过越来越多企业和个人开始关注JSP应用前景,中国也已经出现了很多JSP做网页和网站,JSP正日益火瀑、大有替换其它网页编程语言趋势。 JSP规范是web服务器、应用服务器开发者、交易系统、和开发工具供给商等各方广泛合作结果。其特点是: ●能运行在任何web或应用程序服务器上。●能分离应用程序逻辑和页面显示。●能快速地开发和测试●能简化开发基于Web交互式应用程序过程。JSP相对于现在流行其它网页制作技术(如:ASP)相比较含有了很多优越性:1)、JSP技术基于平台和服务器相互独立,输入支持来自广泛,专门,多种工具包,服务器组件和数据库产品开发商所提供。相比之下,ASP技术关键依靠微软技术支持。2)、平台和服务器独立性JSP技术依附于一次写入以后,能够运行在任何含有符合JavaTM语法结构环境。取而代之过去依附于单一平台或开发商,JSP技术能够运行在任何WEB服务器上而且支持来自多家开发商提供多种多样工具包。3)、开放开发过程,开放原代码,SUN应用JAVA社团性过程开发JSP技术,使得JSP更含有友好性。而ASP技术仅依靠微软本身推进,其发展是建立在独占,封闭开发过程基础之上。4)、从开发人员角度来看:ASP和JSP技术全部能使开发者实现经过点击网页中组件制作交互式,动态内容和应用程序WEB站点。ASP仅支持组件对象模型COM,而JSP技术提供组件全部是基于JavabeansTM技术或JSP标签库。而且JSP标签可扩充,其跨越平台可重用性强。5)、在企业级JAVABEANS技术支持下,JSP网页经过利用高级,对象映射方法访问数据库,使对数据库访问更有效。所以此系统中,选择利用JSP技术和Servlets、JavaBean、JavaScript进行新闻管理系统开发,更能表现现代技术优越性。JSP技术能让Web开发员和网页设计员快速地开发轻易维护动态Web主页。用JSP开发Web应用是跨平台,即能在Linux下运行,也能在其它操作系统上运行。JSP技术使用Java编程语言编写类XMLtags和scriptlets,来封装产生动态网页处理逻辑。网页还能经过tags和scriptlets访问存在于服务端资源(比如JavaBesns)应用逻辑。JSP将网页逻辑和网页设计和显示分离,支持可重用基于组件设计,使基于Web应用程序开发变得快速和轻易。JSP技术是Servlet技术扩展。Servlet是平台无关,100%纯JavaJava服务端组件。经过JSP来进行数据库访问不需要太多引导。问题是怎样使开发者能够接收Web程序数据库访问比传统当地OLAP系统数据库访问愈加含有吸引力,而且使她们认识到,整齐和简明数据访问方法才是关键。在这一点上,JSP能够很好地处理,因为它能够和JavaDatabaseConnectivityAPI(JDBC)很好兼容。你能够将JDBC包含在JSP代码中,而且JDBC能够传输申明实施类似数据库命令,只要你能够正确地使用JDBC驱动程序。JDBCAPI不会直接地和数据库进行交流。其中驱动程序完成实际连接,你能够在卖方Web站点上下载这些驱动程序。除此之外,还有四种JDBC驱动程序类型,假如你决定使用JDBC,你需要正确地选择最为适合你需要那种类型。你将使用一个DriverManager类来处理基于驱动程序连接。你能够使用一个名为getConnectionDriverManager方法来建立你数据库连接。你还能够使用它URL参数来识别数据库:publicstaticConnectiongetConnection(jdbc:odbc:nameOfDatabase)现在,告诉DriverManager相关驱动程序信息(应该在你classpath中):Class.forName(“OfJDBCDriver”);你已经将数据库连接到JSP程序,但你仍然不能够实施一个数据库命令。处理这一点,你能够在JSP代码中生成申明以建立数据库命令,以下所表示:publicStatementcreateStatement(intresultSetType,intresultSetConcurrency)其中参数能够让你控制从数据库查询得到结果。当使用第一个参数时,能够在程序中看到结果;当使用第二个参数时,你能够经过查询来更新数值。申明(Statement)就是SQL命令。PreparedStatement就是SQL申明,你能够经过其中参数来控制程序过程。CallableStatement是用于访问SQL存放程序。你以上申明接口使你能够使用部分方法来实施SQL申明。ResultSet所做就是访问从查询得到数据,所以你能够在JSP程序中使用这些数据。经过将JSP程序分解成单一、功效显著页面,和在任何给定页面中实施一个单一数据库操作,能够很大程度地简化你数据库操作,和建立能够用于以后程序开发页面,即使你将SQL嵌入到这些页面JDBC中。为了使得你JSP数据库访问愈加整齐和轻易维护,在JSP代码中嵌入JDBC,和经过发送SQL命令和数据库通讯,不过,它要求在不能增加代码复杂程度下,建立经过接口SQL命令程序。当你SQL处理需要提升灵活性时候,你能够深入地分离你数据库接口代码,以清洁你JSP程序。§3.2模块设计方案各个模块功效实现全部是在具体设计中实现,这里只是提出了实现大致方案,各个模块实现方案全部是经过和以前系统比较后,作了优化得出。系统功效模块图:新闻管理系统新闻管理系统 图3.1新闻管理系统功效模块图§3.2.1用户登录用户登录时所用用户名和密码全部是存放在数据库中users、user_roles两个表中,当用户输入用户名和密码后,点“登入”按钮,程序将自动检验数据库中数据,以判定用户是否正当,正当则进入新闻管理系统主界面,实现此功效要经过对server.xml文件进行安全域配置,还要对web.xml进行权限设置。对于依据登录者身份(user_roles)不一样,所进入界面和所要操作,除了管理员身份有新闻审核、通知审核和权限管理页面外,其它角色登录后只有新闻公布、通知公布、新闻/通知查询、新闻/通知显示4个页面。且在查看具体信息时候,管理员身份能够进行修改、删除新闻或通知。相关此功效实现还有一个方案能够实现。在web.xml安全域设置中把新闻审核和通知审核进行安全域控制,只能有管理员身份登录者才能进入,当其它身份点击此两个页面时候,将会出现犯错页面提醒“你没有权限”。用户密码用户密码角色 图3.2用户ER图§3.2.2新闻管理 此模块包含了新闻公布、新闻审核、新闻查询、新闻显示几大模块。关键完成功效是对新闻信息进行编辑、公布,公布信息经过新闻审核页面进行新闻审核经过后会出现在新闻查询页面“已审核”新闻信息中和新闻显示页面中。新闻查询可分日期查询、发送方查询、标题查询、审核性查询。经过某一条件进行查询能够所需信息。在查询页面、审核页面中也能够进行新闻具体信息查询。具体功效模块图以下:新闻管理模块新闻管理模块 图3.3新闻管理功效模块图新闻信息备注新闻信息备注审核人姓名属性附件编号投稿内容投稿时间投稿人姓名序号标题图3.4新闻管理模块E-R图§3.2.3通知管理 此模块包含了通知公布、通知审核、通知查询、通知显示几大模块。关键完成功效是对通知信息进行编辑、公布,公布信息经过通知审核页面进行通知审核经过后会出现在通知查询页面“已审核”通知信息中和通知显示页面中。通知查询可分日期查询、发送方查询、标题查询、审核性查询。经过某一条件进行查询能够所需信息。在查询页面、审核页面中也能够进行通知具体信息查询。具体功效模块图以下:通知管理模块通知管理模块 图3.5通知管理功效模块图通知信息备注通知信息备注投稿时间内容投稿人姓名发送单位发送时间类别标题附件编号审核人姓名 图3.6通知管理模块E-R图§3.2.4权限修改 此模块要关键要完成功效有用户信息查询、用户权限修改、和添加用户。用户信息查询,会在页面上显示用户用户名、用户角色等信息;添加是经过页面添加用户名、用户角色、用户密码等信息,添加成功后,将在数据库中存在该用户。功效模块图以下:权限管理权限管理 图3.7权限管理功效模块图注:因为在前面已经对密码修改部分进行了功效叙述,此模块功效单一,所以在此不作过多叙述了,具体实现将在下章进行具体功效设计。§3.4系统示图在一个系统中,数据流向是很关键,所以此系统采取了数据流图来描述整个新闻管理系统数据流向。数据流图描绘系统逻辑模型,图中没有任何具体物理元素,只是描绘信息数据在系统中流动和处理情况。数据流图是结构化系统分析基础工具。一个数据流图确定了系统转化过程、系统所操纵数据或物质搜集(存放),还有过程、存放、外部世界之间数据流或物质流。数据流模型把层次分解方法利用到系统分析上,这种方法很适适用于事务处理系统和其它功效密集型应用程序。新闻和通知公布和新闻/通知审核、新闻/通知查询、新闻/通知显示模块间数据流图以下:登陆者新闻登陆者新闻/通知公布新闻/通知信息表审核新闻/通知信息审核过信息表新闻通知查询新闻通知显示页面 图3.8新闻管理系统数据流图登陆者新闻公布登陆者新闻公布通知公布待审核新闻信息新闻审核通知审核待审核通知信息已审核新闻信息已审核通知信息新闻/通知显示从数据库提取并显示信息新闻/通知查询1NNN1NNNNNNNNN 图3.9新闻通知/管理系统总体E-R图§3.5数据库设计 该新闻管理系统包含到了数据库建立,数据库是根据数据结构来组织、存放和管理数据仓库,是用于查询大量数据存放区域。使用数据库能够带来很多好处:如降低了数据冗余度,从而大大地节省了数据存放空间,实现数据资源充足共享等等。另外,数据库技术还为用户提供了很简便使用手段,使用户易于编写相关数据库应用程序。尤其是多年来推出计算机关系数据库管理系统,操作直观,使用灵活,编程方便,功效强大,环境适应广泛,数据处理能力极强。通常数据库设计方法有两种,即属性主导型和实体主导型。属性主导型从归纳数据库应用属性出发,在归并属性集合(实体)时维持属性间函数依靠关系。实体主导型则先从寻求对数据库应用有意义实体入手,然后经过定义属性来定义实体。通常现实世界实体数在属性数1/10以下时,宜使用实体主导型设计方法。面向对象数据库设计是从对象模型出发,属于实体主导型设计。数据库开发步骤: 1)、设计应用系统结构;

2)、选择便于将应用程序和DBMS结合DBMS体系结构,如RDBMS;

3)、依据应用程序使用环境平台,选择适宜DBMS(MYSQL)和开发工具(Navicat或mysqlcontrolcenter、mysqladministrator);

4)、设计数据库,编写定义数据库模式SQL程序;

5)、编写确保数据正确录入数据库用户接口应用程序;

6)、录入数据库数据;该系统采取了MYSQL作为数据库,它是现在较为流行、快速、开放原代码数据库系统,含有很大功效。新闻管理系统关键用到了3张表,新闻信息表news、通知信息表notice、附件表adnexa。新闻信息表具体字段以下:字段名称英文类型长度许可空编号IDint5标题NewsTopicvarchar30投稿时间ContrTimedatetime投稿人姓名ContrIDvarchar10投稿内容Newscontentvarchar255审核人姓名BoolAudBool附件编号AdnexaIDvarchar15属性typevarchar10备注Remarkvarchar50√ 表3.1新闻信息表 通知信息表具体字段以下: 字段名称英文类型长度许可空编号IDint5投稿人姓名ContrNamevarchar15内容Contentvarchar255投稿时间ContrTimedatetime审核人姓名BoolAudBool附件编号AdnexaIDvarchar30标题NoticeTopicvarchar30类别Noticetypevarchar30发送时间SendTimedatetime发送单位SendUnitvarchar15备注Remarkvarchar50 表3.2通知信息表附件信息表具体字段字段名称英文类型长度许可空附件编号int5附件IDAdnexaIDint20附件名AdnexaNamevarchar20附件大小AdnexaSizeint5附件地址Addressvarchar255附件属性AdnexaBelongvarchar10附件类型AdnexaTypevarchar30上传时间UoloadTimedatetime表3.3附件信息表 各数据表间关系图: TablenewsinfoTablenewsinfoTablenoticeTableadnexa AdnexaIDAdnexaID 图3.10各数据表中间关系图为了保障数据库不被人随意修改,在使用数据库工具时候,能够用工具给所建数据库进行密码设置。因为在页面中也能够进行对数据库操作,所以在系统中权限设置是必需,在JSP文件中,这一设置是在server.xml和web.xml中进行安全域设置,达成了权限访问效果。此系统采取管理员表示和判定方法实现数据库安全,此安全管理方法并不在前台开发工具中实现,而是在后台数据库中实现。在登录数据库时,系统让管理员表示自己身份,不一样管理员权限不一样,系统进行核实,判别此管理员是否为正当用户,若是,系统深入核实用户,通常要求用户输入口令,系统和对用户口令以判别用户身份。服务器安全也是经过用户在登录服务器时输入正当用户名和密码来实现。这是一个简单可行方法,实现起来比较方便。采取安全管理方法关键是为了预防没有修改权限用户无意间修改了数据,所以采取用户标识和判定安全管理方法就能够保障数据库安全性。 第四章新闻管理系统具体设计 具体设计阶段确定具体实现目标系统功效方法,其目标不仅仅是逻辑上正确实现每个模块功效,更关键是设计出处理过程应该简明。§4.1目标 在经过前面对新闻管理系统进行了全方面需求分析过程和具体功效模块分析后,在具体设计阶段将讨论怎样具体实现系统中每个功效模块,和实现各个具体功效方法及其思想。§4.2服务器配置此系统采取了Tomcat5.0作为服务器。Tomcat是Jakarta旗舰产品。Jakarta目标是提供一个基于Java平台商业标准服务器。作为旗舰产品,Tomcat严格遵守JavaServlet2.4和JavaServerPages2.0规范。JakartaTomcat日益流行是无可争辩,它不不过Sun企业Servlet和JSP规范参考实现,也是世界上使用最为广泛Servlet和JSP容器。它正被应用在成百上千Web站点,不管是个人网站、非赢利组织网站,还是商务网站,它表现全部很出色。安装Tomcat首先要安装JDK。安装好了Tomcat就要对它进行配置,环境变量配置是在“我电脑——属性——高级——环境变量中,添加以下:TOMCAT_HOMEC:\Tomcat5.0;pathc:\j2sdk1.4.2\bin;JAVA_HOMEc:\j2sdk1.4.2;CLASSPATHc:\j2sdk1.4.2\lib\tools.jar 设置好了后,打开http://localhost看能不能正确显示主页,假如能,则证实安装配置成功了。§4.3数据库安装和配置MySQL是是一个真正多用户、多线程SQL数据库服务器。MysQL是以一个用户机/服务器结构实现其功效,它由一个服务器守护程序mysqld和很多不一样用户程序和库组成。SQL是一个标准化语言,它使得存放、更新和存取信息更轻易。MySQL关键特点是快速、健壮和易用。MySQL优点关键有:1).它使用关键线程是完全多线程,支持多处理器。2.有多个列类型:1、2、3、4、和8字节长度自有符号/无符号整数、FLOAT、DOUBLE、CHAR、VARCHAR、TEXT、BLOB、DATE、TIME、DATETIME、TIMESTAMP、YEAR、和ENUM类型。3).它经过一个高度优化类库实现SQL函数库并像她们能达成一样快速,通常在查询初始化后不该有任何内存分配。没有内存漏洞。4).全方面支持SQLGROUPBY和ORDERBY子句,支持聚合函数(COUNT()、COUNT(DISTINCT)、AVG()、STD()、SUM()、MAX()和MIN())。你能够在同一查询中混来自不一样数据库表。5).支持ANSISQLLEFT0UTERJOIN和ODBC。6).全部列全部有缺省值。你能够用INSERT插入一个表列子集,那些没用明确给定值列设置为她们决省值。7).MySQL能够工作在不一样平台上。支持C、C++、Java、Perl、PHP、Python和TCLAPI。安装数据库:把mysql-5.0.1-alpha-snapshot-win-noinstall.zip解压缩后将文件夹中全部文件拷贝到c:\mysql目录下,然后进入命令提醒符窗口,再到c:\mysql\bin目录下输入命令:mysqld-nt-install此时假如提醒安装成功,则证实mysql安装成功。安装成功后,就要开启数据库服务。进入管理工具中服务看看mysql是否在服务项目中,假如在则开启mysql服务,假如在开启过程中出现了mysql1067错误,服务被中止,此时检验计算机防火墙是否开着,假如开着则关掉防火墙,在从新开启mysql服务,就能够开启数据库服务了。还有种方法也能够开启服务:在命令提醒窗口中,c:\mysql\bin目录下输入netmysqlstart一样也能够开启数据库服务。服务开启成功后,就能够建立连接了,则打开MySQLControlCenter或用Navicat工具,然后新建一个数据库服务,选中file菜单中new,然后在对话框中输入对应信息,数据库服务提议根据以下填写:Name:随便填写,HostName:localhostUserName:rootPassword不填,其它全部采取默认端口。最终按Apply按钮,接着建路数据库,右键点击Databases后选择NewDatabase接着在对话框中输入lz建立新闻管理系统数据库。数据库导入、导出是分别经过在命令提醒窗口中c:\mysql\bin目录下输入命令mysqllz<lz.sql和mysqldumplz>lz.sql。这里lz只是一个示例。当然也能够经过命令导入四处数据库lz中一个表或多个表mysqllznews<news.sql这里.sql文件全部必需在c:\mysql\bin目录下。要使数据库和系统搭上连接必需把数据库驱动mysql-connector-java-3.1.4-beta-bin.jar或commons-collections-3.1.jar拷贝到C:\Tomcat5.0\common\lib目录下。在进行系统配置时候就要把其中配置文件和程序中把驱动写为com.mysql.jdbc.Driver。方便能调用驱动程序。§4.4功效模块具体设计 在需求分析阶段提到过,把新闻管理系统分为了用户正当性、新闻管理、通知管理等基础功效模块。现在来对每个模块实现作具体分析。 §4.4.1用户登录 此模块要实现基础功效在需求分析阶段已作了介绍,再此就不多作说明。用户登录模块设计,分为了页面设计、文件配置。 页面设计,关键利用了JSP制作动态页面,其页面包含了用户名、密码文本框,当用户登入时,需要进行用户名、密码查对。查对经过用户进入,不然出现错误页面,错误页面也是在配置文件中定义。 要实现此功效,首先需要在Tomcat配置文件server.xml中设置安全域,基础设置代码以下: 首先要定义源<Resourcename="jdbc/XWauthority"type="javax.sql.DataSource"/>然后是对参数设置,<ResourceParamsname="jdbc/XWauthority">名字定为XWauthority,所以localhost里xinwentongzhi.xml文件也要做对应配置。因为新闻系统使用是lz数据库中数据,所以应做以下参数设置<parameter> <name>url</name><value>jdbc:mysql://localhost:3306/lz?autoconnect=true</value></parameter>相关server.xml文件其它设置这里就不多作介绍了。xinwentongzhi.xml应如此设置,方便能正确链接数据库和实现权限管理。<ContextdocBase="xinwentongzhi"path="/xinwentongzhi"reloadable="true"workDir="work\Catalina\localhost\xinwentongzhi"><RealmclassName="org.apache.catalina.realm.DataSourceRealm"dataSourceName="jdbc/XWauthority"debug="99"roleNameCol="Urole"userCredCol="Upass"userNameCol="Uname"userRoleTable="user_roles"userTable="users"/><Resourceauth="Container"name="jdbc/lz"type="javax.sql.DataSource"/><ResourceParamsname="jdbc/lz">进行以上配置设置后,web.xml中就能够实现权限访问控制了。<login-config> <auth-method>FORM</auth-method> <realm-name>coarealm</realm-name> <form-login-config> <form-login>/usercheck.jsp</form-login> <form-error>/err/usercheckerror.jsp</form-error> </form-login-config> </login-config>这里设置了,犯错登录时页面和犯错时页面地址。 安全域设置以下:<security-constraint> <web-resource-collection> <web-resource-name></web-resource-name> <!--Definethecontext-relativeURL(s)tobeprotected--><url-pattern>/yuanban/xinxijiaoliu/tongzhishenhe.jsp</url-pattern> <url-pattern>/delmessage</url-pattern> <url-pattern>/yuanban/xinxijiaoliu/xinwenshenhe.jsp</url-pattern> <url-pattern>/delmessage</url-pattern> </web-resource-collection> <auth-constraint> <!--Anyonewithoneofthelistedrolesmayaccessthisarea--> <role-name>admin</role-name> </auth-constraint></security-constraint> 定义了哪些页面只有含有什么身份人才能够进入。§4.4.2新闻管理模块设计 新闻管理模块包含了新闻公布、新闻审核、新闻查询、新闻显示等小模块。新闻公布要包含有个完整输入界面设计,用户输入新闻标题、发送方、附件(图片),及其新闻内容。输入后数据经过JavaBean对数据库进行更新,把内容添加到数据库中。然后经过新闻审核页面进行对新闻进行审核经过、修改、删除操作,经过审核新闻信息在数据库中BoolAud值会变,假如BoolAud不为空,则表示新闻经过审核了,经过审核信息能够直接显示在新闻显示页面中,而没有经过则不回出现在新闻显示页面中。新闻查询页面关键是实现新闻模糊查询,根据日期、发送方、审核性、标题进行查询,一样也能够点击具体来查看新闻具体内容。具体实现上述功效代码及其说明以下:在Bean文件中对数据库进行连接是经过DBCom.class来实现,其中实现关键函数:publicDBCom(){try{Class.forName(sDBDriver); ctx=newInitialContext(); ds=(DataSource)ctx.lookup("java:comp/env/jdbc/lz");conn=ds.getConnection();("jdbc:mysql://09/os","root","");}catch(Exceptione){ date=newjava.util.Date();System.err.println("getconnecterror"+date+e.getMessage());}}//查询publicResultSetexecuteQuery(Stringsql){rs=null;try{pstmt=conn.prepareStatement(sql);rs=pstmt.executeQuery(sql); }catch(Exceptionex) { date=newjava.util.Date();System.err.println("executeQuery"+date+ex.getMessage()); System.err.println("aq.executeQuerystrSQL:"+sql); }returnrs;}在messageBean.java中新闻更新是函数publicintupdateNews(Stringuser,intNewsID,StringNewsTopic,StringContrContent)实现,,实现新闻查询函数publicResultSetselectNews();对新闻信息进行删除操作函数publicintdelNews(intid,Stringuser);在JSP文件中首先要载入JavaBean文件才能调用Bean文件中函数,载入方法如:<jsp:useBeanid="dbcom"scope="page"class="tools.DBCom"/>调用DBCom类,作用范围是“page”,定义对象dbcom。在JSP文件中经过dbcom就能够调用DBCom中函数来实现对数据库操作。 新闻公布功效具体实现:新闻公布页面关键要完成功效是对判定用户输入信息完整否,假如输入信息不完整,将有提醒用户一些信息还没填好。假如有图片附件将进行图片粘贴,信息完整后,进行公布,公布成功将有成功提醒。 完成判定功效是经过在JSP中使用JavaScript完成,调用是Script中check_all函数: <script>functioncheck_all(){}</script>函数具体实现这里不作具体介绍,因为考虑到论文表面美观,这里和以后包含到代码部分,全部只用代码关键函数和部分关键代码作说明。粘贴附件功效是同过判定xinwenfabu.jsp中参数值(是否有附件)传到xinwenfujian.jsp,经过xinwenfujian.jsp实现附件粘贴功效。新闻发送是经过if(send!=null&&!send.equals(""))判定,实施新闻发送,假如信息完整,则有成功发送提醒。response.sendRedirect("SendNewsResult.jsp");新闻审核功效具体实现:在此模块中你能够看到学院各个办公室公布,需要审核新闻列表,对审核框进行选择,然后你经过点击“同意”来经过你想公布新闻,经过点击“删除”来清除你不想公布新闻。经过点击“具体”查看新闻具体内容。审核是经过改变数据库中BoolAud是否为空,来判定是否经过审核,对数据库访问是经过<formaction="../../delmessage?method=newsexam&toURL=xinwenshenhe.jsp"method="POST"name="form1"><tdwidth="133"><inputtype="submit"name="newsagree"value="同意"onClick="returncheckAll(form1);"></td><tdwidth="89"><inputtype="submit"name="newsdel"value="删除"onClick="returncheckAll(form1);"></td></form>调用了delmessage完成,delmessage是一个Servlet,经过它能够对数据库进行对应修改。在审核模块中,能够经过“具体”按钮查看新闻具体信息<ahref="viewNews.jsp?id=<%=rs.getInt("newsid")%>&aud=""">具体</a></td>具体信息是在viewNews.jsp实现。§4.4.3通知管理模块设计 通知管理模块包含了通知公布、通知审核、通知查询、通知显示等小模块。通知公布要包含有个完整输入界面设计,用户输入通知标题、发送方、附件(有文件格式要求),及其通知内容。输入后数据经过JavaBean对数据库进行更新,把内容添加到数据库中。然后经过通知审核页面进行对通知进行审核经过、修改、删除操作,经过审核通知信息在数据库中BoolAud值会变,假如BoolAud不为空,则表示通知经过审核了,经过审核信息能够直接显示在通知显示页面中,而没有经过则不回出现在通知显示页面中。通知查询页面关键是实现通知模糊查询,根据日期、发送方、审核性、标题进行查询,一样也能够点击具体来查看通知具体内容,在查看具体通知信息时,有附件还能够点击附件下载。 在messageBean.java中通知更新是函数publicintupdateNotice(Stringuser,intid,StringNoticeTopic,StringContent)实现,实现通知查询函数publicResultSetselectNotice();对通知信息进行删除操作函数publicintdelNotice(intid,Stringuser); 在通知具体信息显示时候要尤其注意附件处理,当通知或新闻全部有上传附件时候,附件首先是分别保留在xinxijiaoliu\xinwenfujian和xinxijiaoliu\tongzhifujian两个文件夹中,所以要进行附件下载时候,JSP文件中要正确找到路径地址才能正常实现附件下载功效。 通知公布功效具体实现:通知公布和新闻公布大致思想是相同,信息完整性判定也是在tongzhifabu.jsp中调用Script中check_all函数: <script>functioncheck_all(){}</script>附件粘贴功效是经过zhantiefujian.jsp判定有附件没,在这个文件中还有对send值进行判定,是否发送。<formaction="zhantiefujian.jsp"method="post"><tdwidth="294"><inputtype="submit"name="send"value="公布"onClick="returncheck_all()"></td><tdwidth="170"><inputtype="reset"name="reset"value="重置"></td></tr></form>通知审核功效具体实现:在此模块中你能够看到学院各个办公室公布,需要审核通知列表,对审核框进行选择,然后你经过点击“同意”来经过你想公布新闻,经过点击“删除”来清除你不想公布新闻。经过点击“具体”查看新闻具体内容。经过“下载”来下载附件信息。审核是经过改变数据库中BoolAud是否为空,来判定是否经过审核,对数据库访问是经过,<formaction="../../delmessage?method=noticexam&toURL=tongzhishenhe.jsp&action=notice"method="POST"name="form1">调用delmessage中当method=noticexam时实施程序。通知具体信息是经过viewnotice.jsp,而附件下载是经过<td><ahref="/xinwentongzhi<%=rm.getString("Address")%><%=rm.getString("AdnexaID")%>.<%=rm.getString("AdnexaType")%>">下载</a></td>实现。原理是找到附件地址路径,依据在数据库中通知其它信息<%=rm.getString("Address")%><%=rm.getString("AdnexaID")%>.<%=rm.getString("AdnexaType")%>"来找到对应通知附件,得到附件ID,下载附件。通知查询功效具体实现:在此页面中,用户可经过日期查询、发送方查询、标题查询、审核性查询。经过某一条件进行查询能够所需信息。在查询页面、审核页面中也能够进行通知具体信息查询,有附件也能够点击下载,进行附件下载。下载原理和上面功效模块中是一致。 模糊查询功效实现是判定对应值,经过Bean文件进行对数据库数据查询,找出对应信息。如:if(aud!=null){out.println("<td>已审核</td>");}else{out.println("<td>未审核</td>");}是JSP页面对参数值判定,然后和messageBean.java中if(type.equals("1")){ if(pass.equals("0")){sql="select*fromnewsinfowhereBoolAud=''orboolaudisnull";System.out.println("sql:"+sql);}else{sql="select*fromnewsinfowhereBoolAud<>''";System.out.println("sql:"+sql);}相对应,来对数据库进行查询。其它功效原理相同。通知显示功效具体实现:通知显示能显示经过审核新闻标题,经过标题能查看到通知全部信息。具体实现是经过以下代码实现:if(rm!=null){ Stringaud=String.valueOf(session.getAttribute("user"));while(rm.next()){ Stringad=null,al=null; ad=rm.getString("adnexaid"); aud=rm.getString("boolaud"); if(ad==null||ad.equals(""))al="N"; else al="Y";if(j<4){//rm.absolute(1);%><fontsize="2"><ahref="viewNotice2.jsp?id=<%=rm.getInt("noticeid")%>&aud=<%=aud%>&ad=<%=al%>"target="_blank"><%=code.GBtoUN(rm.getString("noticetopic"))%></a><fontcolor="#FF0000">(<%=rm.getDate("sendtime")%>)</font></font><br><%}j=j+1;}rm.close();}%> 在新闻显示页面中只有几条信息,假如想查看更多信息,则经过morenotice.jsp能够查看更多信息,设计原理和上面代码是一致。注:考虑到新闻显示和通知显示和查询功效实现全部是同一原理,所以在上面就没对新闻查询和显示功效多作罗嗦了。§4.4.4用户密码修改 此模块包含到数据不多,为了实现登陆用户修改自己密码目标,在此系统中,经过获取登陆用户名和用户密码,得到将要对数据库中进行信息。查对修改密码时输入旧密码和数据库中是否相同,不相同则不能成功实现密码修改,这么确保了用户数据安全。然后经过mimaServlet.java对数据库中数据进行修改,具体实现以下:if(method.equals("mimaxiugai")) { DBComdbcom=newDBCom(); Stringupdate=request.getParameter("Submit"); Stringname=request.getRemoteUser(); Stringnewpass=request.getParameter("password"); Stringoldpass=request.getParameter("oldpass"); System.out.println(""+name); if(update!=null) {Stringsql="updateuserssetUpass='"+newpass+"'whereUname='"+name+"'";System.out.println("aaaaaaaaaaaaais"+sql);dbcom.executeUpdate(sql);}dbcom.close();response.sendRedirect(url); } 页面中数据验证是同过在JSP文件中使用javaScript实现,实现函数为checkdata();§4.4.5权限管理 此功效模块使含有特定身份(管理员)人含有对数据库中users表和user_roles表中数据进行修改权利。含有功效关键有,添加用户、删除用户、修改用户权限等功效。添加用户是经过在数据表中添加用户名、用户身份(角色)、用户密码实现,修改用户是修改user_roles中Urole值实现,在页面上,提供了两个角色选项admin、common,修改时候经过checkbox值来判定选择是哪个角色。删除用户是经过判定checkbox中值和删除按钮值来调用Sverlet,对数据库进行操作。 上面所用到对数据库进行操作函数全部全部集成在mimaServlet.java中。实现添加功效具体代码以下:if(method.equals("quanxiantianjia")) {DBComdbcom=newDBCom();Stringuname=request.getParameter("uname");Stringurole=request.getParameter("urole"); Stringupass=request.getParameter("upass");Stringsql="insertintouser_roles(Uname,Urole)values('"+uname+"','"+urole+"')";System.out.println(sql);inta=dbcom.executeUpdate(sql); Stringsq="insertintousers(Uname,Upass)values('"+uname+"','"+upass+"')";System.out.println("sql="+sq); intb=dbcom.executeUpdate(sq);dbcom.closeDBS();response.sendRedirect(url);} 实现删除和修改方法和以上类似,分别经过了if(method.equals("quanxiandelete")){}和if(method.equals("quanxianxiugaisure")){}来实现。§4.5程序步骤图一个项目能让人清楚了解系统步骤,程序步骤图是必不可少。 commonUsercommonUseruncheckedecheckededadmininputView,Check,modify,delpassView,Check,modify,delsendView 图4.1系统部分时序图开始输入新闻开始输入新闻/通知信息公布新闻/通知信息是否公布成功失败保留信息到数据库中审核新闻/通知信息是否经过审核已审核信息未审核信息查询信息显示信息结束YNYN用户登录判定失败YN修改信息图11、新闻管理系统程序步骤图程序步骤图是将系统设计具体步骤,经过图示符号表示出来,它直观地反应了程序设计构思过程,表现了整个程序运行思绪,是程序设计关键一步,直接决定着程序设

温馨提示

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

评论

0/150

提交评论