基于XML制作的新闻添加系统
- 格式:doc
- 大小:90.00 KB
- 文档页数:5
基于XML的新闻编辑与发布系统第一章:绪论1.1 研究背景和意义随着互联网技术的快速发展和普及,网络新闻已经成为人们获取信息的主要途径之一。
如何快速、高效地编辑和发布新闻成为了新闻门户网站迫切需要解决的问题。
XML作为一种标准的数据交换格式,具有极高的灵活性和扩展性,广泛应用于各类信息系统的开发中,因此在新闻编辑与发布系统中采用XML作为数据格式,将有利于实现快速、高效、灵活的编辑与发布。
1.2 国内外研究现状目前,国内外已经有很多技术公司、媒体机构采用XML作为新闻编辑与发布系统的数据格式。
比如:新浪、凤凰、腾讯等国内主流媒体机构,以及美国CNN、英国BBC等国外媒体机构。
同时,已经有很多研究者对XML作为新闻编辑与发布系统数据格式在技术方面的优劣进行了一定的研究。
1.3 研究目的和意义本文旨在探讨XML作为新闻编辑与发布系统的数据格式的优势和应用,结合实际需求,设计一个基于XML的新闻编辑与发布系统,通过系统的设计和实现,掌握XML的具体应用方法和技术,提高新闻编辑和发布效率,最终实现快速、高效、灵活的新闻编辑与发布。
第二章:基于XML的新闻编辑与发布系统设计2.1 系统概述本系统主要包含前台新闻浏览、后台新闻编辑、后台管理员管理等模块,满足了新闻网站的基本需求。
2.2 XML新闻编辑和发布格式设计在设计XML新闻格式前,需要根据新闻编辑和发布的需求以及网站设计需求具体度量和设计XML数据模式。
一般新闻编辑和发布的数据格式具体包括新闻标题、新闻作者、新闻发布时间、新闻关键词、新闻内容、新闻图片等多个字段。
在XML新闻编辑和发布格式中,需要采用合适的元素和属性来描述不同的信息内容。
2.3 基于XML的新闻编辑与发布系统技术选型前台采用html+JSP技术进行页面显示和数据获取;后台采用Spring+MyBatis框架进行数据管理。
数据库使用MySQL,采用JDBC技术实现数据间的交互。
第三章:基于XML的新闻编辑与发布系统的实现3.1 环境搭建首先需要在本地服务器上搭建Tomcat、MySQL环境。
第42卷 第*期 吉 林 大 学 学 报(工学版) V ol.42 No.* 2012年*月 Journal of Jilin University (Engineering and Technology Edition) *. 2012收稿日期:2012-2-14项目基金:国家自然科学基金项目(60973092,60903097,61175023);吉林大学“985工程”项目;符号计算与知识工程教育部重点实验室项目作者简介:郑明(1983-),男,博士研究生,研究方向:计算机应用技术和生物信息学. E-m ail: zhengm ing07@m .通讯作者:刘桂霞(1963-),女,教授.研究方向:计算智能和生物信息学. E-m ail: liugx@.基于XML 的新型即时通讯系统郑 明1,沈 威1,2,白 天1,刘桂霞1,宫雷光1,3(1.吉林大学 计算机科学与技术学院,长春 130012;2. 北华大学 计算机科学与技术学院,吉林 吉林132021;3. IBM 华盛顿研究中心,纽约 10532,美国)摘 要:为解决传统即时通讯系统在局域网或企业内安全性不高且效率低下的问题,提出了一种基于改进传输协议的新型即时通讯系统。
在此算法中主要有两点创新,一个是服务器配置,本文网络系统所采用结构为三服务器协调运作管理模式,此外在多客户端会议过程中融入独特的二叉树形式P2P 查找结构;另一个是传输协议的改进,在传统可扩展标记语言之上构建一种有别于其他任何传输协议的新协议。
新协议会提高局域网内部的传输安全性。
本文算法通过与另外两种公共即时通讯系统在定位查找成功率与不稳定指数之下进行对比与分析,证明新型即时通讯系统具有更高的执行效率。
关键词:计算机应用;即时通讯;安全;二叉树;传输协议 中图分类号:TP393.02 文献标志码:ANovel instant message system based on XMLZHENG Ming 1, SHEN Wei 1,2, BAI Tian 1, LIU Gui-xia 1, GONG Lei-guang 1,3(1. College of Computer Science and Technology in Jilin University, Changchun 130012, China; 2. College of Computer Science and Technology in Beihua University, Jilin 132021, China; 3. IBM Watson Research Center,New Y ork 10532, USA )Abstract: In order to resolve the problems of security and inefficiency in LANs or enterprises with traditional instant messaging systems, a novel instant message system with an improved transmission protocol which is based on XML was proposed in this paper. Two innovative points were in the proposed algorithm. The first one is server configuration. The management network structure mode of three servers co-operated was used in this paper. In addition, a novel unique form of binary tree P2P lookup structure was proposed in the model of multi-client meeting. The second one is improved transmission protocol. A novel protocol based on XML which is different from any other protocols was proposed in the new system. The transmission security will be improved by the new protocol. The comparative experiment which contains location lookup rate and unsteadiness between this algorithm and other two algorithms shows that the new model is more efficient and steady.Key words :computer application; instant message; security; binary tree; transmission protocol即时通讯系统[1]即IM(Instant Message)的主要任务是使在同一个网络系统内的终端能够相互即时通讯,网络中的任意一个终端可查看任意一个其他终端的在线,离线或忙碌等状态。
基于XML技术的新闻发布系统的开题报告一、项目背景随着互联网的普及和快速的发展,新闻媒体行业也被迫跟随这一趋势。
传统的纸质媒体已经越来越难以满足读者的需求,而网络新闻已经成为了现代人获取新闻信息的主要渠道之一。
为了满足读者的需求,一些新闻媒体开始积极开展网络新闻报道工作,并开发了一些自己的新闻发布系统,为自己的报纸或杂志提供更加便捷和快速的新闻采集和发布功能。
基于XML技术的新闻发布系统就是这样一种应用,它可以让新闻编辑或发布人员非常方便和快速地发布新闻信息,同时还可以提供各种搜索、查询和检索功能,方便读者接触到最新的、最有价值的新闻资讯。
与传统的网络新闻系统相比,基于XML技术的新闻发布系统更加高效、灵活和可扩展,可以更好地适应不同媒体的需求。
二、项目目标本项目的目标是开发一个基于XML技术的新闻发布系统,以便实现以下功能:1. 新闻编辑可以通过系统非常方便地进行新闻采集、编辑和发布,还可以对已经发布的新闻进行修改和补充。
2. 读者可以通过系统对新闻资讯进行搜索、查询和检索,找到自己感兴趣的新闻内容。
3. 系统可以自动对新闻进行分类和标签化,并根据浏览和分享情况对每个新闻进行评价和排序。
4. 系统可以支持多种数据交换格式,包括XML、JSON等,以便其他媒体或系统可以方便地调用和共享该系统的内容。
5. 系统可以支持多平台访问,包括电脑、手机、平板等,以便读者随时随地获取最新的新闻信息。
三、项目实现本项目的实现主要包括以下方面:1. 系统的前端实现。
本项目将采用HTML、CSS、JavaScript等Web 技术实现前端UI界面,并采用jQuery、Bootstrap等开源框架实现响应式布局和页面交互效果。
2. 系统的后端实现。
本项目将采用Java技术实现后端服务器程序,使用Spring框架实现MVC模型,使用MyBatis框架实现ORM操作,使用Apache Tomcat作为Web服务器。
3. 数据库的设计和实现。
目录第一章系统概述 01.1 开发背景........................................... 0矚慫润厲钐瘗睞枥庑赖。
1.2 开发意义........................................... 1聞創沟燴鐺險爱氇谴净。
1.3 开发技术简介....................................... 2残骛楼諍锩瀨濟溆塹籟。
1.3.1 J2EE体系结构................................ 2酽锕极額閉镇桧猪訣锥。
1.3.2 .Struts2框架技术............................ 3彈贸摄尔霁毙攬砖卤庑。
1.3.3 .Hibernate框架技术.......................... 4謀荞抟箧飆鐸怼类蒋薔。
第二章系统分析............................................. 6厦礴恳蹒骈時盡继價骚。
2.1 可行性分析......................................... 6茕桢广鳓鯡选块网羈泪。
2.2 需求分析........................................... 7鹅娅尽損鹌惨歷茏鴛賴。
2.2.1 功能需求 .................................... 7籟丛妈羥为贍偾蛏练淨。
2.2.2 性能需求 .................................... 7預頌圣鉉儐歲龈讶骅籴。
2.2.3 数据流图 .................................... 8渗釤呛俨匀谔鱉调硯錦。
2.2.4 数据字典 .................................... 9铙誅卧泻噦圣骋贶頂廡。
第三章系统的总体设计...................................... 13擁締凤袜备訊顎轮烂蔷。
新闻管理系统的具体实现及其优点作者:徐景忠赵迪来源:《电脑知识与技术》2010年第01期摘要:该系统结构合理,功能完善,实现了新闻的动态管理,采用前台浏览和后台管理双层架构,前台部分包括用户登陆、新闻浏览及发布功能,后台管理则包括新闻添加、修改和删除功能。
该系统用户分为普通游客和注册用户。
普通游客可以方便地浏览新闻,注册用户可以方便、快捷地发布和管理新闻。
新闻发布及后台管理页面包含身份验证的内容,未登陆的用户无法访问。
在系统中设计了一个通用类,方便后台页面对数据库所作的各种操作,比如读取、写入或更新数据库。
在各个页面的上方都添加了其它页面的链接,以便于在不同页面之间快速切换。
在首页和新闻列表页面显示新闻列表的地方使用了GridView控件,以便于格式化地显示新闻信息。
关键词:新闻管理;;;Browser/Server中图分类号:TP311.52文献标识码:A 文章编号:1009-3044(2010)01-93-03Concrete Realization and its Benefits of News Management SystemXU Jing-zhong, ZHAO Di(Department of Automation, Xiamen University, Xiamen 371005,China)Abstract: This system has realized dynamic management of the news, including foreground view and background management parts, having general function as an news administrative system. Foreground part includes a user login, check and publish news features, the background management includes the news editing and news deleting functions. Registered users can quickly publish and manage news, and guests could read news easily. News issuing and background management pages contain authentication, logged-off users can not access these pages. I have written a foundation class and it’s useful when manipulating database, for instance, rea ding, writing or updating database. There is hyperlinks directing to other pages on each page, and it will be convenient to switch between different pages. GridView Control is added to home page and news list page, news will be orderly displayed in the GridView.Key words: news administrative; ; ; Browser/Server1 需求分析该系统用于新闻发布,需要具有一个新闻管理系统的基本功能,对其做需求分析,可得一个新闻管理系统应具备的基本功能如下:1) 前台新闻查看2) 后台新闻管理①新闻发布②新闻修改③新闻删除根据以上需求分析,该系统要实现的主要功能为:1) 前台新闻查看部分①用户登陆②显示最新的几条新闻③显示所有新闻④新闻详细信息阅读2) 后台管理部分①登录验证②根据权限显示相应的管理目录③添加、修改和删除新闻④管理发布新闻1.1 新闻管理系统的模型结构该系统的模型结构如图1所示。
基于XML的自动化信息发布方案商业科技基于的目动稿意发稳囊寨周百顺中国劳动关系学院[摘要】信息发布是任何电子商务和电子政务网站必须解决的技术问题,本文介绍了一种基于XML的信息自动化发布方案,方案中无需引入数据库管理系统,降低了网站建设成本,提高了信息发布的效率.[关键词]信息发布XML电子商务电子政务一,引言通用性:XML是开放的国际化标准.还包括通知,公告,招聘信息和各种动态随着Internet的飞速发展和普及.电子W3C正式批准的,具有标准的名域说明方信息,其整体流程为:系统管理员为信息商务和电子政务网站已经成为企事业单位法.支持文档对象模型标准,可扩展类型发布者设置权限.信息发布者根据自己的重要的信息发布平台,也是人们快速获取语言标准,可扩展链接语言标准和XML 指用户名和口令登录到信息发布界面进行各种信息的重要途径.目前国内很多公司针语言标准.使用XML可以在不同的计算信息的发布和管理,部分信息在发布前还都建立了自己的门户网站和部门网站,来机系统问交换信息.需要系统管理员进行审批.本方案以新闻发布各类新闻和通知等信息.易用性:XML对SGML进行了精简.它信息发布为例进行说明:当前信息发布大致有两种方式:第一抛弃了SGML中不常用的部分,方便用户编1总体设计方案种是通过固定的模板来发布信息即根据写Web页面同时也给设计人员实现XML浏根据Web软件B/S结构的特点,方案已有的HTML格式的信息模板.通过简单的览器降低了困难.中新闻数据的存储采用XML文件格式,开内容替换来生成静态的页面,然后通过跨平台性:由于XML本身具有良好的发工具选择AsP[根据实际需要,可以自由FTP上传到服务器再修改主页上的连接跨平台性,只要数据存储为XML格式,那选择其他语言工具(如JSP,PHP等)与XML进行发布:第二种是;肾信息数据保存到数么这些数据就可以被任何其他语言或系统文件自由组合】.据库或者文件中,当用户阅读具体信息的识别.为了充分利用传统信息发布中静态时候.从数据库或文件中调出数据动态高性价比的存储方案:相比于普通的HTML 页面前台显示速度快的优点.在生成显示页面.文件,XML文档在数据定位和修改等操作新闻数据写入XML文档的同时,由程序第一种发布方式.信息格式灵活显方面具有明显的优势,具有较好的速度和根据约定模板自动生成当前新闻的静态示速度较快,但整个过程很繁琐,维护起效率;XML文档可以代替数据库实现常用HTML页面,采用当前时间作为文件的来非常麻烦:第二种方式,信息的发布和的数据操作,无需单独安装数据库系统软名称{如20080201O91011.htmI,此命管理比较方便;本文主要介绍一种基于件,使得系统的整体成本得以降低.名方式在新浪网等门户网站大量使用),XML的自动化信息发布方案,无需引入数目前,处理XML文档的方式主要有同时为了避免XML文件过大造成解析过据库系统.将静态HTML页面显示速度快的SAX与DOM两种.SAX(SimpleAPIfor 慢,新闻分为近期新闻和早起新闻,对特点和文件存储节省成本和便于维护的特XML)是一种基于流的.以事件处理方式工于近期新闻采用XML文件和静态HTML点相结合.提供一种便捷的信息发布和维作的接El.DOM(DocumentObjectMode1)页面双重存储格式,XML文件用于支持护方式,尤其适用于中小型网站信息发则是在对XML文档进行分析后,在内存中对新闻数据的修改,修改后重新生成静布.建立起一个完整的树结构然后在此基础态HTML页面用于前台显示;早期新闻二,XML技术的特点上进行各种操作.简单地比较来看,SAX只保留静态HTML页面供浏览XML文XML(extensibleMarkupLanguage)是对系统资源要求低,速度快,但对文档的件中不进行数据保存,不提供修改操W3C在1998年9月设计的一个SGML操作是只读的;DOM的处理能力强大!但作.管理员可以通过管理界面将当前的《StandardGeneralizedMarkupLanguage标准要求大量的系统资源尤其是对于大的文近期新闻转为过期新闻.转换的同时将通用标记语言)的简化版本.XML是一种档.而后还出现了Xpath和XPointer用以完XML文件中对应的数据删除.同时考虑简单而有效的通用语言规范,属于元标记成XML的搜索和转换XSML和XSLT 和到新闻中经常出现的多媒体信息(如图语言.XML文档是用纯文本编写的.可以SOAP用以完成XML的远程对象访问,XML片,音频和视频数据),根据其数据量用多种方法创建和编辑.XML文档允许用QueryLanguages的出现使XML查询语言可大.独立引用的特点,只保存多媒体文户根据自己的需要,灵活定义数据组织方用于任何XML文档.件的名字,当新闻浏览时通过多线程的式.采用XML技术进行数据存储具有以下三,基于XML的信息发布方案方式直接到指定目录进行加载.新闻发特点:公司网站的信息发布不仅包括新闻布流程如下图:《商场现代他》2008年1月(上旬刊)总第556期商业斛技信息发布系统包括前台新闻显示部分和后台新闻发布和维护部分.核心功能简介如下:(1)新闻管理.提供新闻发布.删除.编辑.近期新闻转为过期新闻等管理操作.(2)权限管理.引入角色组的概念.它是权限控制的单位.每个角色组具有对网站部分资源的控制权限.(3)用户管理.提供用户添加.删除和修改等操作入口.每个用户必须归属于某个角色组.(4)模板管理.对新闻的静态HTML模板进行添加,修改和删除等操作.(5)文件上传.将新闻中可能需要链接的各种文件上传到服务器指定目录.2.XML文档设计XML文档主要用于保存新闻中的非多媒体信息多媒体信息则保存目录信息.每个新闻节点中包含了构成新闻的各个要素,内容正文部分按段落录入,为了区分普通的文本内容和多媒体内容.每段还包括了段落的标识和段落的内容.下面是一个保存新闻内容的XML文档部分内容示例:<?舯lversion----_『1_0"encoding=gb2312'7> <7xmI.stylesheettype="text/xsl"href="news.xsl.7><document><news>《商场现代化2008年11罔(上旬刊)总第556期<title>新闻的标题</title><date>新闻录入的时间</date><link>新闻对应HTML静态页面链接</link><class>新闻的类~lJ</class><keyWords>新闻的关键字</ keyWords><author>新闻的作者</author><segment><segmentTag>段落内容的标识</segmentTag><segmentC0ntent>段落内容数据</segmentContent></segment></news></document>3.关键技术的研究与实现(1)新闻发布模板设计.典型的新闻内容中包含新闻的关键字.新闻标题.发布日期,发布单位.发布者正文等要素.信息发布的关键在于正文数据已何种形式写入到XML文件中.本方案中将新闻的具体内容分段进行处理,一则新闻的正文部分由若干段组成,每一段的内容可以是单一的文本,图片或者其他允许的多媒体.也可以是多种文件按照一定顺序和空间排列的组合形式.信息发布的初始状态每段只有一栏,发布者可以根据实际需要对某一段落进行分栏.每一栏内放置单一的文件内容.从而使得新闻内容的组合方式更灵活,简单,实用.(2)面向对象的编码实现.方案中服务器端采用VBScript进行编码.该脚本支持面向对象的编码,为了充分发挥其面向对象的可重用性,灵活高效的特点,在对系统整体进行编码进行研究和分析之后, 引入了面向对象的知识,设计了用于操作XML文件的类.操作主要包括以节点为单位的获取,修改,删除,增加等操作.该类的主要描述如下:ClassCIs_News属性变量的定义PublicPropertyGetnewsld获取XML文件中节点具体属性的值EndProperty●●●●●●●●●-●●PubIiCFunctionGetlnfOFrOmXmI (objXmlDoc)从Xml中读取指定节点的数据,并填充各个属性EndFunction PublieFunCtionAddToXmI (objXmlDoc.xmIFiIe)添加信息到XML文件中EndFunctionPub¨cFuhCtionEditToXml (objXmlDoc.xmlFile)编辑当前XML文件中信息EndFunction PubIiCFunctionDeleteFromXml (objXmlDoc,xmlFile)从XML文件中删除数据EndunctionEndClass四总结本文介绍的技术已经在中小型的电子商务网站中有了初步的应用高性价比的存储方案获得了单位的充分肯定.当然使用过程中我们也发现一些问题需要改进.这其中包括加快大数据量XML文档的解析速度,探索XML文档的检索方式和增强信息模板的灵活性等几个方面的内容,这些将是我们后续研究的主要工作.总之,采用XML技术进行信息的自动化发布具有很高的实用意义尤其是对于中小型电子商务和电子政务网站的信息发布,能够提供高性价比的内容存储和发布方案.参考文献:[】】吴志刚等:基于Web的信息资源发布模型.计算机应用研究,2000,j7(5)[2】张海永等:精通ASP+XML+CSS网络开发混合编程.电子工业出版杠,2OO6 [5】魏英:Internet~境下自动新闻发布系统.计算机应用,2004年第24卷[4】杨友河等:XML技术在电子商务的数据发布中的应用研究.机械,2004年z】期【5]万静等:铁路货运电子商务信息规范-tfbXML注册中心模式研究.商场现代化,2007年18期。
实验教案:新闻发布系统的三层架构(DAL层)实验名称:新闻发布系统的三层架构实验目的:1.掌握三层架构的基础概念2.掌握类、属性、方法的创建3.C#基础语法、流程控制、异常处理;4.掌握OleDbConnection, OleDbCommand, OleDbAdapter, OleDbReader等方法的使用;实验内容:1.创建新闻发布系统的MODEL层,其中包含新闻类,新闻类别类,模板类,用户类以及新闻评论类的创建2.创建新闻发布系统的数据访问层DAL。
3.创建新闻发布系统的业务逻辑层BLL。
4.创建简单的用户界面层UI对BLL层的方法进行调用实验步骤:1、完善MODEL层命名空间(1)开始菜单》所有程序》Microsoft Visual Studio 2008》Microsoft Visual Studio 2008(2)在开发环境的左上角点击“文件》打开网站》”,在弹出的对话框中选择网站,位置后方输入“D:\newspub1007”,为所有MODEL下面的所有类添加命名空间MODELnamespace MODEL{}详细参加实验一教案2、完善web.config在解决方案资源管理器打开网站web.config文件,并按如下设置完善<!--WEB_id:网站集群参数dbtype:数据库类型sqlconn:sql server的 OleDb方式连接字符串accessconn:access win xp 32位操作系统下的 OleDb方式连接字符串access64conn:access win7 64位操作系统下的 OleDb方式连接字符串--><appSettings><add key="WEB_id"value="1"/><add key="dbtype"value="access"/><add key="sqlconn"value="User ID=sa;Password=;Data Source=(local);InitialCatalog=news2008;Provider=SQLOLEDB.1;Trusted_Connection=yes;"/><add key="accessconn"value="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=|DataDirectory|newspub.mdb"/><add key="access64conn"value="Provider=Microsoft.ACE.OLEDB.12.0;DataSource=|DataDirectory|newspub.mdb"/></appSettings>3、网站的三层结构的建立步骤之DAL层(1)在右侧的解决方案面板上面点击中的“D:\newspub1007\ App_Code\DAL”上点击鼠标右键选择“添加新项…”,然后在弹出的对话框中选择C#类,在下面的“名称”处命名类文件名为“DBbase.cs”。
基于J2EE S2SH架构的新闻系统详细设计说明书1.1.1引言1、编写目的本文档的目的在于根据新闻网站系统的需求说明书和概要设计说明书提出该系统的详细设计,即系统的详细架构,主要包括程序系统的结构以及各模块中每个程序的设计考虑。
本说明书是整个新闻网站系统构建的依据,它对以后阶段的工作起指导作用,牢记“多层架构和松藕合”的设计原则和具体的实现,本文也是项目完成后系统验收的依据。
另外本项目另一个重要的目的是为了锻炼我们自身所缺乏的实际的企业级项目开发的体验和锻炼,作为一位职业程序员所应该具备的软件编程的基础知识和技术的掌握、软件开发规范化方面的体验不多,包括对一些最新的软件设计思想的体会,还有增强我们的团队协作的意识。
所设计的软件适用于一切游览网页的客户,可以发表自己的看法意见。
网络管理员对网页和新闻内容可以进行管理,保证新闻信息的及时性。
2、本文档的预期读者(1)软件设计人员(2)软件实现人员(3)软件测试人员3、项目背景在社会快速发展的形势下,信息呈爆炸式增长。
用户对信息的需求也越来越强烈。
为了让Internet 用户能快速有效的了解最新最真实的新闻以及方便系统管理者对新闻的编排管理,为此开发此新闻网站系统来解决相关问题。
4、定义(1)控制层ActionServlet 和Action 所共同构成的层,控制页面的流向。
(2)表示层与用户交互的界面。
5、参考资料(1)J2EE项目实训Hibernate框架技术(21世纪高等学校实用软件工程教育规划教材)杨少波编著清华大学出版社 2008 年5月(2)J2EE项目实训Spring框架技术(21世纪高等学校实用软件工程教育规划教材)杨少波编著清华大学出版社 2008 年5月(3)J2EE项目实训UML及设计模式(21世纪高等学校实用软件工程教育规划教材)杨少波编著清华大学出版社 2008 年5月(4)J2EE项目实训Struts框架技术(21世纪高等学校实用软件工程教育规划教材)杨少波编著清华大学出版社2008 年10月(5)《精通Struts设计与开发》作者:孙卫琴电子工业出版社(6)《Spring从入门到精通》作者:郭锋清华大学出版社(7)《Hibernate开发技术祥解》作者:孙卫琴电子工业出版社(8)《J2EE应用开发技术祥解》作者:刘晓华电子工业出版社(9)《设计模式》作者:Erich Gamma等机械工业出版社1.1.2程序系统的结构1.1.3频道相关操作类图设计1、程序描述此部分主要管理与频道相关的所有操作。
刚刚对MVC设计模式有了一点肤浅的了解,在这里以一个最简单的新闻系统的例子说一下我理解的MVC 设计模式,旨在帮助徘徊在MVC设计模式门口的入门者(几天前我就是那个状态)。
废话不说了,言归正传。
我以下所说得内容都是建立在小恺这篇帖子基础上的/read-htm-tid-11675-keyword-MVC.html整个框架采用了小恺的框架,这个框架简单易懂,没有那些复杂的功能,只具有简单的核心功能。
如果你读懂了那篇帖子或者大概懂了,那么请继续听我往下说什么事MVC设计模式呢,我是这样理解的,好比一个KFC餐厅,要开一个KFC餐厅,首先要有会做菜的厨师,这就相当于MVC中的model(模型),有了厨师还不够,还得有服务员,服务员就相当于MVC 中的controller(控制器),除此之外,KFC餐厅还必须有点菜单,还有餐盘,这就相当于MVC中的vie w(视图)。
KFC的运作模式是这样的,首先顾客通过点菜单向服务员点取所要的食物,服务员收到点菜单之后自己并不跑去做菜,而是通知后面的厨师,做XX菜,厨师只管做菜,至于是谁要的,厨师不惯,直接拿给服务员就可以了,服务员收到厨师做好的食品之后装盘,拿给顾客。
MVC流程于此类似,MODE L层只负责实现一定的功能,并不理会谁需要实现这样的功能,这件事由控制层完成,控制层收到模型层完成的工作之后,通过合适的视图层展示给用户。
-------------例子开始------------首先我们要把小凯的那几个架构文件拷贝过来视图层用smarty实现,把smarty也拷贝到core文件夹内,同时创建smarty需要用到的文件夹cache t emplates templates_c 在configs文件夹里创建一个smarty的配置文件smartyConfig.php,如果不会配置smarty请查阅相关的说明文件夹结构如下然后我们在数据库中创建一个news表,包含以下字段(id,title,content)做完这些准备工作,开始正式进入我们写代码的阶段,首先在所有模型的基类core/model.class.php中创建一个构造函数,并在其中写入数据库链接代码,就像所有的厨师都必须会操作烹饪工具一样,我这里是用PDO写的,具体用哪种方式链接数据库就看你的喜好了,代码如下复制代码1.<?php2.3.class model extends PDO{4.5. public function __construct(){6. try{7. global $ST;8. $dsn = "$ST[DB_CLS]:host=$ST[DB_HOST];dbname=$ST[DB_NAME];charset=$ST[DB_CHAR];";9. PDO::__construct($dsn,$ST['DB_USER'],$ST['DB_PWD']);10. PDO::exec("set names $ST[DB_CHAR]");11. }catch(PDOException $e){12. print "Error!: " . $e->getMessage() . "<br/>";13.die();14. }15. }16.}17.?>接下来我们在models文件夹中创建一个news.class.php文件,该文件包含一个继承自model的news类,写入一个显示所有新闻标题的方法,就像教会厨师做一道菜复制代码1.<?php2.class news extends model{3. /**4.* 显示所有新闻5.* @param avgs 参数6.*7.*8.* @return Array 二维数组9.*/10. public function showAllNews(){11. try{12. global $ST;13. $sql = "select ·title·, `id` from `$ST[DB_PRE]news` ";14. $stmt = $this->query($sql);15.$res =$stmt->fetchAll();16. }catch(PDOException $e){17. print "Error!: " . $e->getMessage() . "<br/>";18. }19. return $res;20. }21.}22.?>该方法返回一个包含所有新闻编号和标题的二维数组做完这个,在templates文件夹里面创建一个简单的显示页面showall.html复制代码1.<html>2.<head>3. <title> Allnews</title>4.<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head>5.<body>6.{#foreach from=$Array item=Detail#}7.<a href="?c=show&a=news&id={#$Detail.id#}" target="_blank">{#$Detail.title#}</a><br>8.{#foreachelse#}9.对不起,目前没有新闻!10.{#/foreach#}11.</body>12.</html>这里看不懂的查阅一下相关的smarty资料接下来该我们的服务员出场了。
基于XML制作的新闻添加系统摘要:可延伸标记语言XML(eXtensible Markup Language)是SGML (Standard Generalized Markup Language)的一个子集......其目标是让一般的SGML能够在网站上被服务、接收与处理。
如同HTML一样,XML被设计成容易使用,并且能够与SGML及HTML共同合作。
XML的特点是电子数据交换(EDI)和灵活的开发。
因为XML是数据和格式分离设计的,所以XML元数据文件就是纯数据的文件,这样就可以使用同一个数据源,显示多种样式了。
当你建立XML 文件时,你可以建立自己的元素并因需要为它们命名,而不是只能使用那些受限制的预先定义好的元素群组,因而达成了可延伸卷标语言中的“可延伸(extensible)”的特性。
关键词:XML(eXtended Markup Language)、数据链路、数据岛(data island)“可延伸标记语言XML(eXtensible Markup Language)是SGML (Standard Generalized Markup Language)的一个子集......其目标是让一般的SGML能够在网站上被服务、接收与处理。
如同HTML一样,XML被设计成容易使用,并且能够与SGML及HTML共同合作。
”①XML是从SGML进化来的。
最初的SGML是为了解决文档及其格式问题的一种标记语言,所以非常的复杂和难以使用,那时计算机的应用水平还处在很低的阶段,并且那时人们只需要传递和显示一些简单的数据。
因此,89年Tim Berners-lee依据SGML开发出一种非常简单的超文本格式,就叫HTML(HyperText Markup Language)。
当计算机的应用水平也大幅度的提高的时候,人们已经开始对太简单的HTML感到不满意,因此又开始对其进行修改、升级,就这样HTML从1.0一直升到4.0的版本,扩展了许多的命令,可以让HTML解决更多的问题。
但是,由于HTML本身的缺陷,为了解决更多的问题,而把简单的HTML变成一个非常复杂的,难以理解的语言,再加上HTML是把数据和显示格式一起存放的,如果我们只想使用数据而不需要格式,可以想象,分离这些数据和格式是多么的困难。
而随着Internet的发展, 98年1月W3C公布了XML1.0版本,立即成为计算机史上一个重要的里程碑。
XML包括XML元数据文件、Schema文件、XSLT显示文件、XLL链接、Xpath等一系列相关部分,它的特点是电子数据交换(EDI)和灵活的开发。
因为XML是数据和格式分离设计的,所以XML元数据文件就是纯数据的文件,这样就可以使用同一个数据源,显示多种样式了。
而使用HTML 的话,每显示一种式样,就必须重新把数据和格式混到一起,非常烦琐。
当XML被用来描述数据库时,相较于.mdb和.dbf的文件有两个明显的优点:一是XML的易读,二是它的建立标准是开放式的。
除了这些,XML 还有个很大的好处,它的元素名称不是它定义的一部分。
也就是说,你可以根据你所建立的文件的需要编造元素的名称(例如,我做的XML文件是存储新闻的,它可以用title、author、content等元素名称以增加可读性)。
所以,这里向着灵活、简单的目标靠近,做一个简易又实用的基于XML的新闻添加系统。
首先要建立基本的XML文件。
XML 的定义部份是由基础的语法组成。
刚刚已经提到过,当你建立XML 文件时,你可以建立自己的元素并因需要为它们命名,而不是只能使用那些受限制的预先定义好的元素群组,因而达成了可延伸卷标语言中的“可延伸(extensible)”的特性。
可是XML没有包含预先定义好的元素并不代表它是一个非正式的标准,它也是拥有严格定义的语法的。
例如,每一个XML元素都必须有一个起始卷标和一个结束卷标,所有巢状元素也必须完全包含在自己的元素之中。
根据新闻系统的需要,我们先建立一个文件新闻题目列表文件,在其中建立一个题目列表元素(topiclist),它包括若干巢状topic元素,每个topic下又含有每个新闻的题目及其对应的超链接地址两个元素。
新闻题目列表文件:topiclist.xml<?xml version="1.0" encoding="GB2312"?><topiclist type="News"><topic><title>示例新闻</title><href>main.aspx?name=example</href></topic></topiclist>新闻内容示例文件:example.xml<?xml version="1.0" encoding="GB2312"?><document><title>示例新闻</title><abstract>新闻示例</abstract><author>王文竹</author><content><paragraph>这是新闻内容的第一段。
</paragraph><paragraph>这是新闻内容的第二段。
</paragraph></content></document>在建立的最基本的XML文件之后我们需要一个可以添加新闻的控制页面addnews.aspx,它可以借助最基本最常用的TextBox和Button组件结合C#程序来实现。
部分程序代码见附录一。
在Internet Explorer中运行,显示如下图:通过这个控制页面我们可以先实验性的添加5条新闻,以便于观察下面关于显示XML内容的设计。
在添加完新闻可以发现topiclist.xml 由于写入了5条新闻,文件内容变为:<?xml version="1.0" encoding="GB2312"?><topiclist type="News"><topic><title>示例新闻</title><href>main.aspx?name=test</href></topic><topic><title>试验添加新闻第一条</title><href>main.aspx?name=01</href></topic><topic><title>试验添加新闻第二条</title><href>main.aspx?name=02</href></topic><topic><title>试验添加新闻第三条</title><href>main.aspx?name=03</href></topic><topic><title>试验添加新闻第四条</title><href>main.aspx?name=04</href></topic><topic><title>试验添加新闻第五条</title><href>main.aspx?name=05</href></topic></topiclist>同时,相同目录下出现了5个新的格式类似于test.xml的、文件名分别为01到05的XML文件,这些就是刚加进去的每个新闻的数据文件。
在添加新闻这一项做成功后新闻添加系统就做好一半了,剩下的就是让随时更新的新闻列表的显示出来。
在HTML中显示XML有很多种办法,例如,数据链路、scripting技术、XML+XSLT等。
下面我们就用最基本的数据链路方法来实现XML的显示。
在数据链路中,先利用数据岛(Data Island)将XML文件链接到HTML网页,然后将标准的HTML元素,如SPAN或TABLE,结合到个别的XML 元素中。
HTML 元素将自动显示它们所连结的XML 元素的内容。
但不是所有的XML文件都可以并适合用数据链路来显示,只有当XML 文件就像典型的数据库一样,是以对称型式建构才适用,也就是说,文件的元素需要可以被解释成一组纪录与字段的集合。
在最简单的型式里,这样的文件是由一个包含一连串相同型式元素(数据纪录)的根元素组成,每一个元素拥有一组相同的子元素,全都包含字符数据(数据域位)。
以我们需要显示的topiclist.xml文件为例,topiclist元素可看做数据记录,而包含在topiclist中的元素topic、href将被视作数据域位。
下面我们来看一下数据链路具体的实现步骤:要将XML文件显示在HTML网页中,你必须首先将XML文件链接到该HTML网页。
利用Microsoft Internet Explorer 5(或更高版本)最简单的方法就是将名为XML的HTML元素放置于浏览器中,这个元素也称为数据岛(Data Island)。
有两种不同的Data Island型式在此可供选择。
一是直接将XML文件的全部内容放在起始卷标与结束卷标之间。
但是由于我们需要显示的topiclist.xml文件是个可以增加的,这种相对固定的型式肯定不适合,所以我们采用另一种数据岛型式,即引用外部的XML。
这个外部的含义可以是本地计算机上的文件,也可以是通过一个URL指向外地的服务器。
它比较于前一种方法明显的好处在于遵守了数据本身和格式排版分开的XML原则,更易于处理数据文件。
实现起来很简单,将名为XML 的HTML 元素维持空白,并且只包含XML 文件的URL就可以了。
如:<HTML><HEAD><TITLE>新闻列表显示</TITLE></HEAD><BODY><XML ID="dsotopiclist" SRC="topiclist.xml"></XML></BODY></HTML>但这个时候运行这个HTML文件是什么都显示不出来的,原因在于这个XML文件的元素是以阶层式的记录集型式所建构。