基于web的学校新闻发布系统—毕业设计论文精品资料.doc
前言 平顶山工学院毕业设计说明书(论文)题 目 新闻发布系统 院 系 计算机科学与工程系 专 业 计算机科学与技术 学生姓名 指导教师 年 月 日摘 要本文主要内容是以ASP.NET和SQL SERVER 2000为主要开发工具,通过实现一个基于B/S模式的教学任务及工作量核算系统,来研究用ASP.NET和ADO.NET开发三层体系结构的WEB应用程序的各种方法及它们各自的新功能,新特性。对于其中的某些模块,还提供了对外的Web Services 接口。ASP.net是M的一部分,作为战略产品,不仅仅是 Active Server Page (ASP) 的下一个版本;它还提供了一个统一的 Web 开发模型,其中包括开发人员生成企业级 Web 应用程序所需的各种服务。ASP.NET 的语法在很大程度上与 ASP 兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有 ASP 应用程序中逐渐添加 ASP.NET 功能,随时增强 ASP 应用程序的功能。ASP.NET是Microsoft推出的新一代Active Server Pages(动态服务器网页)脚本语言,它提供了一种以.NET Framework为基础开发Web应用程序的全新编程模式。Microsoft在推出ASP.NET的同时,也推出了全新的ADO( ActiveX Data Objects),即ADO.NET。它从Web的角度对以往的ADO进行检讨和改进,让Web数据访问变得更加简单和高效。ASP.NET 可以无缝地与 WYSIWYG HTML 编辑器和其他编程工具(包括 Microsoft Visual Studio .NET)一起工作。这不仅使得 Web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到 Web 页的 GUI 和完全集成的调试支持。微软为ASP.net设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。关键词: ASP.NET、 ADO.NET、 Web Services The main content of this text is with ASP. NET and SQL SERVER 2000 are main developing instruments, through realizing a administrative system of roll based on B/S mode, to study and use ASP. NET and ADO. NET develops various kinds of methods of WEB application program of system of three layers structure and their one's own new functions, new characteristic. To some module among them , have offered the Web Services interface to the outside.ASP.net is a part of M, as the strategic products, it is not merely the next edition of Active Server Page (ASP ); It has offered a unified Web to develop models , includes developer's producing various services that the enterprise layer Web application program needs. The grammar of ASP.NET is compatible with ASP to a great extent, it offers a kind of new programming model and structure at the same time, can produce the application program with better elasticity and stability , offer better safe protection. Can pass and add ASP.NET function in existing ASP application program gradually , strengthen the function of ASP application program at any time.ASP.NET is the Active Server Pages (dynamic server webpage ) script language of new generation that Microsoft introduced , Israel of one kind of offering of itsdevelop the brand-new programming mode of Web application program based on Framework. Microsoft has put out brand-new ADO (ActiveX Data Objects ) too while putting out ASP.NET, i.e. ADO.NET. It examines and improves past ADO in terms of Web, let Web access to data become simpler and high-efficient.ASP.NET can have person who sew editing machine and other programming tool with WYSIWYG HTML (including Microsoft Visual Studio) work together. This make Web develop convenient , still can offer advantages that tool must be offered these, including developer can used for , tow , show , support server controlling part to Web GUI and complete debugging of integration of P. Microsoft has designed some such tactics for ASP.net: Apt to write out structure clear code, code easy to put in an position and share, can language write etc. with person who compile, purpose to let programmer to be apt to develop Web application, meet , calculate to strategic demand that Web shift.Key Words: ASP.NET .ADO.NET. Web Services我们从学校的实际情况出发,经过对学校有关新闻发布事项的一番考察和分析,在学生对新闻需求的分析基础上,确立了新闻发布系统的具体实现功能。并阐述系统的结构设计和功能设计,实现新闻的分类显示,最近新闻的提示,新闻滚动功能等。经过授权的用户可以通过Web浏览器,以人机交互式的客户端程序实现对学校新闻的发布、管理、实时的进行行为统计和记录。本系统是学校WEB站点的一个子系统,具有很好的外部接口,能够很好的配合站点的其它子系统服务于学校的新闻发布。关键字: 新闻显示 栏目管理 新闻文章录入 文章管理 附件上传目录第一章 引言1第二章 ASP的认识2第三章 开发环境及需求3第四章 结构设计4第五章 功能设计7第六章 功能说明8第七章 结论21第八章 参考文献 致谢22第一章 引言伴随着网络的出现,网页逐渐融入人们的生活。快速及时的新闻浏览,五彩缤纷的网上信息,使网络与人们的生活息息相关,于是世界上又出现了第三媒体Internet。它打破了地域限制,真正使信息得以共享,改变了人们的工作和生活方式。制作网页是企业和个人的宣传自己的重要手段,同时也是学习者获取学习信息的重要手段。尤其是在教育领域,在素质教育与终身教育成为必然的今天,人们对信息的需求有了更新,更高的要求,而网页由于本身所具有的信息量大,传递快速,没有时空限制等特点恰好满足这种要求。所以网页也逐渐成为一种新兴的教育资源。也正是由于网络实现网站的数据信息能够进行实时交互,保证网站数据的实时性。随着Internet的进一步发展,静态Web站点的开发与维护变得越来越困难,一方面信息的不断增加和变化,使站点维护人员不得不经常修改他们的网页,特别是基于数据库驱动的Web站点更是如此,随着Internet上信息量的增多和交互性的加强使HTML显得越来越难以胜任。另一方面静态网页由于不能与浏览者进行有效交互,使人们感到越来越乏味,而不愿意再一次地进入同一站点。所以开发动态网页或动态内容成了越来越多的站点所追求目标。所谓动态内容是由每一个用户按照自己的需求发出请求而特殊制作的Web网页。网络发展前景无限,及早与网络结合,与信息时代同步,与高科技汇合,定会给社会各行各业的发展注入新鲜的活力。站在网络时代的前夜,我们清晰地听到了网络时代的宣言:谁掌握了网络,谁就掌握了未来。第二章 ASP的认识ASP 全称为 Active Server Pages(动态服务器主页),它是一种应用程序环境,可以利用 VBscript 或 Java Script 语言来设计,主要用于网络数据库的查询与管理。其工作原理是当浏览者发出浏览请求的时候,服务器会自动将 ASP 的程序码,解释为标准 HTML 格式的网页内容,再送到浏览者浏览器上显示出来。我们也可以将 ASP 理解为一种特殊的 CGI。利用 ASP 生成的网页,与HTML相比具有更大的灵活性。只要结构合理,一个 ASP 页面就可以取代成千上万个网页。尽管 ASP 在工作效率方面较之一些新技术要差,但胜在简单、直观、易学,是涉足网络编程的一条捷径。它具备一个服务器端的脚本执行环境,用它可产生和执行动态的、交互的、高性能的Web服务器应用程序。Active Server的另一大优点是代码的安全性。页面的访问者所能看到的只是服务器方的处理结果。ASP文件可以用常规的文本编辑器编辑, ASP使用VBScript、JavaScript等脚本语言作为开发工具,镶嵌于HTML文本中,使用"<%>"将ASP的程序包含起来。当用户从浏览器向Web服务器提出请求时,Web服务器会自动将ASP的程序解释为标准的HTML格式的主页内容,用户端只要使用常规可执行HTML程序的浏览器,就可浏览ASP所设计的主页内容,因此与浏览器无关,并且保证了ASP的源程序代码不会外漏。ASP中包括五个内置的ActiveX服务器组件和五个内置的对象:Database Access component(数据库访问组件)、File Access component(文件访问组件)、Ad Rotator component(广告轮播器组件)、Content Linking component(内容链接组件)、Browser Capabilities component(浏览器信组件)以及Request(请求对象)、Server(服务器对象)、Session(会话对象)、Response(响应对象)、Application(应用程序对象)。在所有ASP组件中,最有用的是数据库访问组件,也称为ActiveX数据对象或ADO。在站点发布数据库将使用这个组件及其中包含的对象,以完成对ODBC数据源的读写。此外,ASP技术的另一个重要特点是,程序员可以利用Java、Visual Basic、 Visual C+等语言制作适应自己特殊需要的ActiveX服务器组件来扩充ASP的功能,使自己的动态网页几乎具有无限的扩充能力,这是传统的CGI程序所不及的。总而言之ASP具有学习快、设计快的特点,不需花许多时间即可学会和快速设计出WEB应用程序。ASP的源程序码在服务器端执行,代码保密性好。集成与HTML中,无需编译链接可直接执行,而且使用文本编辑器即可设计。第三章 开发环境及需求一、开发目的随着计算机技术的发展,网络技术对我们生活和工作显得月来越重要,特别是现在信息高度发达的今天,人们对最新信息的需求和发布迫切的需要及时性。而动态交互式网页刚好提供了这些功能,本系统就是一个能够在网上实现新闻的网上多用户发布,多栏目管理,实时的进行行为统计和记录的网上交互系统。二、项目背景HTML作为一种样式语言,随着Internet上信息量的增多和交互性的加强使HTML显得越来越难以胜任的情况之下,在ASP编程语言高度发展的形式下,我们开始了对新闻发布系统的开发。三、开发环境1. 硬件条件服务器两台,一台为数据库服务器,一台为Web服务器;客户端计算机若干;网络通讯设备,主要包括交换机、网卡、集线器、MODEM 等。2. 系统平台采用Browser/Server体系结构,服务器端采用Microsoft Windows NT4.0作为网络操作系统,Web服务器软件采用IIS3.0(Internet Information Server)。客户端软件,包括单机操作系统和浏览器软件,分别选用Windows 2000和Internet Explorer,数据库系统采用Microsoft Access有利于方便操作。3. 开发工具基于Web的系统开发工具应使开发者使用各种各样的技术来创建动态的Web应用程序,并且应是一个可视化的工具。我们采用了DreamweaverMX进行开发,它是用来快速创建数据驱动Web应用程序的基于团队的开发环境,支持ASP,以ODBC连接数据库,脚本语言为简单易学的JavaScript或VBScript。4. 运行需求正常使用时不应出错,若运行时遇到不可恢复的系统错误,也必须保证数据完好无损,对数据的精确度、时间特性、适应性等都有一定要求,要求系统运行时能够保证正确性、可靠性、高效性、完整性、易使用性、可维护性、可测试性、复用性、安全保密性、可移植性、互联性。第四章 结构设计一、数据库的搭建数据只有用数据库来管理才能有自动化管理的可能。数据的结构将影响整个管理机制的应用,而且一但建立以后要修改常会出现麻烦。所以一开始就要仔细慎重地搭建一个完整而合理的结构。Microsoft Access数据库相对其它的数据库来说要简单容易操作些,本新闻发布系统中的数据库文件就是Access类型的数据库,数据库中共有十九张表如图4.1.1图4.1.1系统数据库以下是本系统与数据库建立连接的ASP源代码<%On Error Resume Nextset rs=server.createobject("adodb.recordset")set conn=server.createobject("adodb.connection")DBPath = Server.MapPath("newsxp.asa")conn.Open "driver=Microsoft Access Driver (*.mdb);dbq=" & DBPath %>二、数据字典字段名名称类型用户名Usernamechar用户密码Passwordchar权限Oskeybool登陆IPLoginIPbool登陆时间LoginTimedate退出时间LogoutTimedate登陆次数LoginTimesinteger标题Titlechar内容Contentchar作者Authorchar时间DateAndTimedate状态IsCheckedbool大类编号BigClassIDinteger大类管理员BigClassMasterchar大类数目BigClassViewinteger大类类型BigClassTypebool大类名称BigClassNamechar最大显示数MaxListinteger最大新闻显示数MaxNewsListinteger最大焦点新闻显示数MaxFocusNewsListinteger最大热点新闻显示数MaxGoodNewsListinteger最大文本显示数MaxTxtListinteger最大图片显示数MaxImgListinteger显示天数InDateinteger图片路径ImgPathchar网站名称WebNamechar网站地址WebUrlchar网站标题WebTitlechar管理员邮箱AdminEmailchar上传标记UploadFlaginteger开站日期StartDatedate本系统的数据字典如下表4.2.1和表4.2.2所示表4.2.1表4.2.2字段名名称类型新闻编号NewsIDinteger小类名称SmallClassNamechar专题名称SpecialNamechar标题Titlechar会员名称UserNamechar录入时间UpdateTimedate附件路径Filepathchar相关新闻Aboutchar点击次数Clickinteger热点选项Hotbool推荐新闻Goodnewsbool焦点新闻FocusNewsbool固顶选项OnTopbool小类类型数SmallClassTypeinteger小类名称SmallClassNamechar小类管理员SmallClassMasterchar专题名称SpecialNamechar会员名称UserNamechar电子邮箱Emailchar说明Signchar性别Sexbool注册时间AddDatedate登陆次数Loginsinteger用户积分UserPointinteger阅读新闻数ReadNewsinteger发表新闻数SendNewsinteger通讯号码Oicqinteger会员等级UserLevelchar开始经验值LevelPointinteger今天新闻显示数todayinteger最高显示数totalinteger昨天新闻显示数yesterdayinteger本月新闻显示数monthinteger上月新闻显示数bmonthinteger日期datedate记录时间inputdatedate三、功能模块图Web服务器身份验证数据库前台显示重新验证初始化非正常退出后台管理退出其它管理行为统计小类管理大类管理专题管理管理员管理正常退出第五章 功能设计一、前台新闻显示 可以根据网站的需要,进行各种方式的插入,自动更新.如显示栏目导航,显示某栏目的最新N条新闻等. 使用新闻文章管理系统制作动态网页时,可在需要的地方插入相应的代码,即可以多种形式显示新闻 文章的栏目或内容。例如:一级栏目列表、二级栏目列表、栏目导航列表、某一栏目的最新新闻(文章)显示条数、某一栏目的热门文章可任意调整。该系统也可经后继开发,使之生成JS代码,在一个主机上维护新闻文章,在其他静态网页中插入代码后显示相应的新闻文章。二、后台管理1. 新闻栏目管理:增加,修改,删除一级,二级新闻文章栏目。2新闻文章添加:按不同栏目添加新闻文章、支持文本、HTM格式或源代码显示、支持图片上传和附件上传。3新闻文章删除:删除旧的文章。4新闻文章删除:在后台管理系统中上传一些文章、上传图片等、在前台查询这些文章。5管理员管理:新闻管理系统的管理员设置。6. 基本项目管理:统计数据管理、系统初始化、网站资料管理、服务器信息等。第六章 功能说明一、前台显示说明如图6.1.1所示图6.1.1前台首页显示1. 首页的最顶部排列显示大类新闻,用户可以直接点击查看各项大类新闻里面的各项小类新闻,直到阅读每条详细信息。2. 今日导读,焦点新闻,推荐新闻,热点新闻等各个栏目,后台可以控制是否显示,或显示条数设置。3. 专题显示可以任意排序,而且可以直接点击查看相关专题新闻。4. 设有会员登陆入口,以及网站的一些数据信息,可以按不同条件进行新闻搜索。5. 公告栏显示最新发布的各项新闻信息,进入二级目录还可以阅读更多信息。6. 具有新闻评论功能,从首页、大小类、专题、到每条新闻,都可以有自己的评论。二、管理员的管理本系统是实现多用户发布,多栏目管理,设有五级管理员他们分别是新闻录入员、小类管理(审核)员、大类管理员、高级管理员、超级管理员。1. 新闻录入员权限:只能在自己的小类录入新闻,在未经审核的文章可以自由修改、删除。2. 小录管理员:也就是大家所说的新闻审核员,相当于小版主,已经拥有固顶权限。3. 大类管理员:相当于同一个大类下的多个小类管理员的权限。4. 高级管理员:除上述权限之外,拥有专题管理、大类管理、小类管理、评论管理、公告管理、广告管理、首页目录管理、合作站点管理、友情站点管理、网站调查 管理、注册用户管理权限。5. 超级管理员:除上述权限之外,拥有统计数据管理、系统初始化、网站资料管理、服务器信息、管理员管理权限。以下是实现管理员添加的源代码:<form method=post action="admin_AdminSave.asp"> /这个form对象是指当提交添加资料时就会调用admin_AdminSave.asp这个文件把信息添加到数据库。<table border="1" width="40%" cellspacing="0" cellpadding="0" Class="TableLine" bordercolorlight="<%=MainBColor%>" bgcolor="<%=MainCColor%>"><tr><td align="center" bgcolor="<%=MainTColor%>" height=20 colspan=2>添 加 管 理 员</td></tr><tr><td align="right">管 理 员 名:</td><td><input type=text name=UserName size="15" value=""></td></tr><tr><td align="right">管 理 权 限:</td><td><select name="oskey"><option value="super">超级管理员</option><option value="senior">高级管理员</option><option value="inter">大类管理员</option><option value="check">小类审核员</option><option value="input">小类录入员</option></select></td></tr><tr><td align="right">管 理 密 码:</td><td><input type=text name=Password size="15" value=""></td></tr><tr><td align="center" colspan=2><input type=hidden value="add" name="act"><input type=submit value=增加 name="submit"><input type=reset name="Submit" value="取消"></td></tr></table></FORM>以下为调用文件admin_AdminSave.asp的源代码<!-#include file="session.asp"-><%checkAdmin3%><!-#include file="conn.asp"->/此头文件的作用是与数据库建立连接<%founderr=falseusername=request.form("username")password=request.form("password")oskey=request.form("oskey")if username="" or password="" thenerrmsg=errmsg+"<br>"+"<li>管理员名称和密码都不能为空!"founderr=truecall error()Response.Endend ifif request("act")="edit" and request("id")<>"" thenid=request("id")sql="select * from admin where id="& request("id")rs.open sql,conn,1,3if not rs.eof thenrs("oskey")=oskeyrs("Username")=usernamers("Password")=passwordrs.updateend ifrs.closeelseif request("act")="add" thensql="select * from admin where username='"&username&"'"rs.open sql,conn,1,3if (rs.eof and rs.bof) thenrs.addnewrs("oskey")=oskeyrs("Username")=UserNamers("Password")=Passwordrs.updateend ifrs.closeend ifset rs=nothingconn.closeset conn=nothingresponse.redirect "admin_AdminMana.asp"%>三、后台新闻管理后台管理首页如图6.3.1所示图6.3.1后台管理首页1. 专题管理1.1 从管理首页的专题管理进去,可以进入专题添加界面。1.2 专题添加的实现源代码类似于大类添加的实现功能。1.3 高级管理员可以任意的添加,删除,修改各类专题,可以对原有专题进行初始化,上拉下拉等操作。具体界面如图6.3.2图6.3.2专题管理界面2. 大类管理2.1 从管理首页的大类管理进入,可以进入大类的一级目录管理界面。2.2 管理员可以任意的添加、修改、删除大类新闻,可以对大类新闻进行初始化上拉下拉等操作以及对新闻属性的各种设置。2.3 通过对大类新闻属性的设置可以使新闻在首页显示或不显示,是否以列表的形式显示在首页等。图6.3.3大类管理界面以下是大类添加的部分源代码sql="select * from BigClass"rs.open sql,conn,3,3do while not rs.eofif rs("BigClassname")=typename Set rs = Server.CreateObject("ADODB.Recordset")sql="select * from BigClass"rs.open sql,conn,3,3rs.addnewrs("BigClassname")=typenamers("BigClassType")=BigClassTypeif BigClassType=0 thenrs("BigClassView")=0elsers("BigClassView")=1end ifrs("BigClassID")=howmany+1rs("BigClassmaster")="无"rs.updaters.closeset rs=nothingconn.closeset conn=nothingresponse.redirect "admin_BigClassMana.asp"%>3. 小类管理3.1 小类管理也类似于大类管理,从管理首页的小类管理进入,可以进入小类的一级目录管理界面。3.2 管理员可以任意的添加、修改、删除小类新闻,可以对小类新闻进行初始化上拉下拉等操作以及对新闻属性的各种设置。3.3 通过对小类新闻属性的设置可以使新闻是否以列表的形式显示在新 闻列表中。3.4 在添加小类目录时,必须选种一项大类目录下才能添加小类目录。图6.3.4小类管理界面4. 评论管理4.1 从管理首页的评论管理进入,可以进入评论的目录管理界面。4.2 在评论管理界面分页显示所有的评论内容,同时可以知道发布评论的会员名称。4.3 管理员可以删除任何一条评论信息。5. 公告管理5.1 从管理首页的公告管理进入,可以进入公告目录管理界面。5.2 公告管理界面显示所有公告信息包括公告的标题,发布人以及发布时间。5.3 管理员可以选择公告信息,修改、删除信息。以下是将数据库中选中的公告以滚动的形式显示于前台的源代码<!-#include file="inc/char.inc"-><script language=JavaScript>/实现滚动功能的是这段java代码。<!-/var version = "other"browserName = navigator.appName;browserVer = parseInt(navigator.appVersion);if (browserName = "Netscape" && browserVer >= 3) version = "n3"else if (browserName = "Netscape" && browserVer < 3) version = "n2"else if (browserName = "Microsoft Internet Explorer" && browserVer >= 4) version = "e4"else if (browserName = "Microsoft Internet Explorer" && browserVer < 4) version = "e3"function marquee1()if (version = "e4")document.write("<marquee style='BOTTOM: 0px; FONT-WEIGHT: 100px; HEIGHT:110px; TEXT-ALIGN: left; TOP: 0px' id='news' scrollamount='1' scrolldelay='10' behavior='loop' direction='up' border='0' onmouseover='this.stop()' onmouseout='this.start()'>")function marquee2()if (version = "e4")document.write("</marquee>")function MM_swapImgRestore() /v3.0vari,x,a=document.MM_sr;for(i=0;a&&i<a.length&&(x=ai)&&x.oSrc;i+) x.src=x.oSrc;function MM_swapImage() /v3.0var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)if (x=MM_findObj(ai)!=null)document.MM_srj+=x; if(!x.oSrc) x.oSrc=x.src; x.src=ai+2;/-></script><table border="0" cellspacing="0" cellpadd