《基于WEB的校园新闻发布系统毕业论文精品资料.doc》由会员分享,可在线阅读,更多相关《基于WEB的校园新闻发布系统毕业论文精品资料.doc(73页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、呼伦贝尔学院计算机科学与技术学院本科生毕业论文(设计)题 目:基于Web的校园新闻发布系统学生姓名: * 学 号: 专业班级: 指导教师: 完成时间: 2012年5月21日 目 录摘 要IABSTRACTII第1章 绪论11.1 设计背景11.2 研究目的11.3 开发工具11.3.1 ASP简介11.3.2 Access简介21.3.3 HTML2第2章 系统分析42.1 可行性分析42.2 需求分析4第3章 系统设计63.1 基本结构和处理流程63.2 数据库设计63.3 数据库E-R图83.4 系统的特点9第4章 系统实现114.1 后台设计114.1.1 页面登陆实现114.2.2 信
2、息管理模块134.2 前台设计20结 论23参考文献24致 谢25摘 要随着电子计算机技术的发展,人类已经逐渐地进入信息化社会。计算机也逐渐普及,更多的人与它开始接触,它正在迅速的改变着人们的生活、学习、工作方式,更多的人开始通过网络查询资料,学生和家长也从网络上了解一个学校的情况,越来越多的学校有了自己的网站。因此,本人开发了校园新闻发布系统,使用校园新闻发布系统后,使得社会、老师和学生更快的了解学校动态,更方便的共享学校的资源,同时让社会通过这个系统的图片、文字等方面更充份的了解学校的情况。该系统采用Browser/Server模式架构进行设计,使用ASP编程语言进行编写,同时使用目前流行
3、的DIV+CSS进行前台布局,在程序开发过程中,还使用了JavaScript、CSS、HTML等辅助语言。系统主要由学院简介,学院新闻,学院通知,学生活动,资料下载等模块组成。具有操作简单,方便管理和维护等特点。关键字 新闻系统;B/S;软件工程;编程IIAbstractAlong with the computer technology development, human has gradually entered the information society. The computer also grew in popularity, more people and it began
4、to contact, it is rapidly changing the peoples life, way of study and working, more people are beginning to through the network inquires the material, students and parents also went up from the network to understand a school, more and more school have their own web sites. Therefore, I developed a ca
5、mpus news release system, using the campus after news release system, make social, teachers and students know the school dynamic faster, more convenient to share the resources of the school, at the same time, let the people from all over the country through the system of pictures, text, sounds, etc,
6、 more sufficient understanding of the school. The system adopts the Browser/Server mode framework design, use ASP programming language to write, at the same time, using the current popular DIV + CSS layout for the front desk, in the process of development program, still use the JavaScript, CSS, HTML
7、 auxiliary language. System mainly by the college introduction, college news, college notice, students activities, material downloads module. With simple operation, easy management and maintenance etc. Characteristics. Keywords News system; Browser/Server; Programming; Software engineering第1章 绪论1.1
8、设计背景随着电子计算机技术的发展,人类已经逐渐地进入信息化社会。同时人们对信息和数据的利用与处理也已进入自动化的阶段,在各行各业中离不开计算机,更离不开信息处理,这正是计算机被广泛应用于信息管理系统的原因。其次,现在计算机已经成为人们生活中必不可少的工具。计算机的最大好处在于利用它能够进行管理,方便快捷的办公。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了系统的安全性。因此,开发相关的信息管理系统已经成为各行各业的必要和必需了。更多的人借助网络了解一些事物,学生通过网络查找一个学校的资料,更多的了解这个学校的信息。学校在网络上发布自己的信息,例如:论坛、社区、贴吧等等,这些信息比
9、较零散,如果有一个自己的网络平台就可以更详细的、完整的发布学校的信息,使用户不用在整个网络里搜索,只要在这个平台里就可以找到所有的信息。因此,学校有一个自己的网络平台是必不可少的。1.2 研究目的通过本系统可以使得学校、学生、老师和社会之间的资源与消息的快速共享。旅游管理与地理科学学院的管理员可以通过本系统发布文章和下载资源,学生打开本系统后点击相关的栏目可以进行查看文章,也可以点击需要下载的资源,下载资源。随着计算机的普及,越来越多的人开始使用计算机,并通过网络查找资料,通过网络查找资料不仅方便而且速度快,很多家长和学生也通过网络查找一些资料,他们可以通过这个网络平台更方便更快捷的了解学校的
10、相关信息,社会也可以从更多的角度去了解本校。1.3 开发工具本系统开发的过程中使用了ASP语言、JavaScript脚本语言、HTML语言,其中ASP语言调用数据库的数据,JavaScript脚本语言用来做一些数据合法性的判断,方便用户数据准确的输入,HTML语言是用来承载ASP、JavaScript语言的。在程序开发的过程中借助Dreamweaver开发软件使得程序开发更加方便。1.3.1 ASP简介ASP是Active Server Page的缩写,意为“动态服务器页面”。ASP是微软公司开发的代替CGI脚本程序的一种应用1,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。A
11、SP的网页文件的格式是*.asp,现在常用于各种动态网站中。另外阿斯匹林、天门冬氨酸、阿里软件销售合作伙伴、美国武装系统暨程序公司等的缩写也都为ASP。ASP是一种服务器端脚本编写环境,可以用来创建和运行动态网页或Web应用程序。ASP网页可以包含HTML标记、普通文本、脚本命令以及COM组件等。利用ASP可以向网页中添加交互式内容(如在线表单),也可以创建使用HTML网页作为用户界面的web应用程序。ASP的运行环境, 在Windows 2000/PX操作系统中需要安装IIS3.0及以上版本来支持ASP的运行2,IIS 所提供的功能比较完善。1.3.2 Access简介Microsoft O
12、ffice Access(前名Microsoft Access)是由微软发布的关联式数据库管理系统3。它结合了Microsoft Jet Database Engine和图形用户界面两项特点,是Microsoft Office的成员之一5。Access 2003就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。Access的优点在于它能使用数据表示图或自定义窗体收集信息,而且它使用起来也是特别的方便和简单。数据表示图提供了一种类似于Excel的电子表格,可以使数据库一目了然。另外,Access允许创建自定义报表用于打印或输出数据库中的信息。Access也提供了数据存储库6,可以
13、使用桌面数据库文件把数据库文件置于网络文件服务器,与其他用户共享数据库。Access 是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。如上所述,Access作为关系数据库开发具备了许多优点,可以同时拥有桌面数据库的便利和关系数据库的强大功能7。为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。微软的JET数据库引擎(操作数据库的一段程序或程序段)提供了与数据库打交道的途径,我们是通过它以及ASP.net来访问数据库,并对其进行各种操作。ASP.net、Access以及其他微软的软件产品都是通过共用JET数据库引擎,从而给用户提供
14、了丰富的数据类型。1.3.3 HTMLHTML(Hypertext Markup Language,超文本标记语言),它用HTML标记来标注文本或图形的属性。即使用FrontPage制作网页,文件里最后存入的其实也是HTML语言。下面就简单介绍一下常用的HTML标记。1HTML文件结构很简单,结构严谨清晰标题文字头部内容文档主体内容 HTML是由英文单词或字母和,/等组成的。英文单词或字母,称为标记。,/等称为标识符。有些标记是成对出现的,如文档主体内容。前面一个表示标记开始起作用,下面表示这种标记的作用。个别标记是单个的。标记可以嵌套使用,也不区分大小写。2HTML主要标记 表示这是一个HT
15、ML文档。表示这是文档头部。位于文档头部,浏览时显示在浏览器标题栏中。表示文档主体部分。换行3标记的属性大部分标记都可以使用各种修饰属性,如排列属性align、背景色backcolor、宽度width、高度height等属性。第 69 页(共26页)第2章 系统分析2.1 可行性分析已具备的条件:用户可以查看各类新闻以及下载相关资源;管理员可查看、发布、修改、删除新闻,以及对密码修改。待解决的问题:数据库的构建、库的连接、各个表的创建、代码编写、页面的设计实现、数据调用、系统数据库安全实现。旅游管理与地理科学学院的系统免费运行在呼伦贝尔学院的网站服务器上,系统由本人制作,系统的后期维护也是由本
16、人免费维护。系统的制作和运营的成本特别低。采取的编程语言和数据库:ASP编程语言和Access数据库。枝术可行性方面,该网站使用ASP作为编程语言,具有效率高、可重用性强、代码量少等优点。Access为数据库环境,具有强大的存储功能和查询功能。经济可行性方面,由于该系统由本人制作,而且系统服务器由呼伦贝尔学院已经运行的服务器作为本系统的服务器端,维护人员由旅游管理与地理科学学院学生维护,系统操作简单,只需要半天培训即可使用。运行可行性方面,该系统运行时分为两种权限:普通用户、管理员用户。实现各个不同用户的操作权限。通过对上述几方面进行可行性分析和研究后,我们认为该项目的开发是可行的。2.2 需
17、求分析客户可以在链接网络的计算机上在线浏览旅游管理与地理科学学院的信息和下载学院的资源,但是没有发布和修改系统信息的权限;本系统目前设定一个超级管理员,当管理员登录后可以发布、编辑和删新闻,通过后台编辑新闻置顶属性,可以使首页某个栏目新闻置顶显示,同样管理员也可以修改登录密码。系统使用ASP语言编写,管理员发布信息后,提交到验证页面,由系统的JavaScript语句验证管理员发布的信息是否合法,如果合法就写入数据库,之后就能够被子程序调用到系统前台的相应目显示,否则管理员重新填写数据。管理员在对信息修改后,提交到数据验证页面对数据的合法性进行验证,例如某个数据不能为空。在系统安全方面,首先当系
18、统管理员登陆的时候,系统会自动记录用户登录的信息,包括用户登录的IP地址和用户名称等,如果系统出现了数据的丢失问题,就可以通过出现问题的时间段,查询到数据库中的用户登录IP地址,从而进一步的查到使用人。其次,如果通过系统后台删除数据,数据是可以恢复的,系统后台的删除只是给数据标记了一个删除标记,在前台的数据调用是排除了标记删除的数据。然后,对数据库的名称加入特殊的字符“#”,可以防止非法用户下载数据库,从而获得数据库的管理员账号和密码;数据库中加入了一个防止下载的表,数据库的字段值是OLE对象,如果用户非法下载数据库,那么就会被中断,因为网络不允许对OLE对象进行下载。再次,对后台的每一个管理
19、页面进行了用户是否登录验证,防止非法用户在没有登录的状态下对后台的数据进行修改。最后,对数据库的用户密码进行了MD5加密,管理员的密码长度越长,MD5被破解的难度就会加大。系统主要由学院概况,机构设置,党团建设,教育教学,科学研究,招生就业,校友之窗,文件下载以及网站首页还有一个快捷功能模块入口,其中包含实践教学,导游资格考试,学生讲坛,学子风采,体验旅地这几个功能模块组成。学院概况栏目主要简绍了学院的领导和学院的历史以及学院的现有状况;机构设置栏目主要对现有的党政领导、工会、学术委员会、教学委员会和院内环节的负责人进行了简单的简绍;党团建设栏目主要对党务工作、工会工作和学生工作中的重要事件进
20、行发布;教育教学栏目主要对现有的教师队伍的人员进行了简单的简绍等一些主要功能。系统的功能图如图2-1所示。图 2-1 主要功能模块图打开系统后,普通用户可以浏览系统前台各个栏目的文章,也可以打开资源下载页面,下载需要的资源。管理员登陆系统后,可以对各个栏目的文章进行发布和修改,对资源进行发布,对管理员密码进行修改。其流程图如图2-2所示。图 2-2 系统流程图第3章 系统设计3.1 基本结构和处理流程当用户为管理员时系统主要分为以下几个功能模块:管理员登录模块,密码修改模块,信息发布、修改和删除模块,系统退出模块。管理员登陆模块主要是通过验证用户输入的用户名、密码和验证码是否和数据中的值匹配从
21、而使管理员登陆,管理员登陆后,系统会生成一个session会话,用来标记管理员登陆,之后有权限打开后台的其它模块。当管理员登陆后才能进入密码修改模块,用户输入旧的管理员密码和俩个相同的新密码才能修改密码。管理员登陆后才能对信息进行发布、修改和删除。管理员点击退出模块,系统清除用户登陆的session会话5,用户安全退出,并返回到系统首页。当用户是普通用户时系统分为以下两个模块:前台新闻浏览,和前台资源下载。普通用户不需要登陆就可以查看系统前台各个栏目的文章,以及下载相关资源。其功能模块图,如图3-1所示。图3-1 能模块图3.2 数据库设计根据系统功能设计的需求、系统安全以及功能模块的划分,所
22、需数据库信息存储表有4张,其中主要表的具体设计如下。系统采用ACCESS数据库,首要问题是建立后台的数据库。数据库中的数据资料来源于旅游管理与地理科学学院教学过程中的各种资料数据。经过仔细比较和综合之后,充分考虑便于管理和执行效率,建立信息数据库,分别命名为:j_admin表(管理员登陆表)、j_log表(用户登陆信息记录表)、j_news表(学院新闻表)、%nodown表(这个表主要功能是防止下载本网站的数据库)。1管理员登陆表:管理员表记录了管理员的登陆密码和登陆的IP,以及加入了权限和随机数这两个字段,方便日后系统的进一步升级,具体数据见表3-2。表3-2 j_admin字段名称数据类型
23、字段大小必填字段ID自动编号5是AdminName文本18是UserName文本18否PassWord文本18是Purview数字2否LastLoginIP文本18否LastLoginTime日期/时间19否LastLogoutTime日期/时间19否LoginTimes数字5否RndPassword文本18否2用户登陆信息记录表:用户登陆信息表记录了管理员每一次登陆的部分信息,例如用户登陆的IP地址、登陆的日期等,作为管理员登陆日志,具体数据如表3-3所示表3-3 j_log字段名称数据类型字段大小必填字段LogID自动编号5是LogType文本2否ChannelID数字2否LogTime日
24、期/时间19是UserName文本18是UserIP文本18是LogContent文本225否ScriptName文本225否PostString备注225否3防止下载表:这个表的建立不是用来存储数据的,是用来防止非法用户下载数据库的,Access的数据库被下载的时候也是做为ASP的解释程序。当出现了“%”时服务器会认为是ASP的分界符。而后面的数据肯定是二进制的。所以不能下载,具体数据如表3-4所示表3-4 %nodown字段名称数据类型字段大小必填字段%OLE 对象4学院新闻表:用来存放学院所有新闻和资源文章,DelFlag是用来作为记录被删除的标记,记录被调用时,会按照top字段和以及日
25、期字段进行排序,具体数据如表3-5所示表3-5 j_news字段名称数据类型字段大小必填字段id自动编号5是title文本38是connect备注225是time日期/时间19是adder文本18是hits数字5否class数字5否newid数字5否DelFlag布尔否top数字1否3.3 数据库E-R图在系统的数据库设计中,先要对系统分析得到的数据库字典中的数据存储进行分析4,分析各数据存储之间的关系,然后得出系统的关系模式,为了把用户的数据要求清晰明确地表达出来,通常要建立一个概念性的数据模型(也称为信息模型)5。概念性数据模型是一种面向问题的数据模型,是按照用户的现实环境,且与在软件系统
26、中的实现方法无关。最常用的表示概念性数据模型的方法,实体-联系图(Entity Relationship Diagram)6。这种方法用E-R图描述现实世界中的实体,而不涉及这些实体在系统中的实现方法。用干这种方法表示的概念性数据模型又称为E-R模型。E-R模型中包含“实体、联系、属性”三部分7。管理员包括:编号,名字,会员名,密码,登录IP,登录时间,退出时间,登录次数,验证码,实体属性图如图3-6所示:图3-6 管理员实体属性图登录日志包括:编号,日志类型,频道ID,操作时间,操作人,IP地址,操作信息,程序名,参数内容,实体属性图如图3-7所示。图3-7 登录日志实体属性图新闻包括:编号
27、,标题,内容,日期,添加人,阅览次数,类别,排序,删除标志,置顶,实体属性图s如图3-8所示。图3-8 新闻实体属性图下面给出本系统的E-R图如图3-9所示。图3-9 E-R图3.4 系统的特点1管理界面友好本系统在开发过程中,严格遵循系统的界面可视化风格。界面简洁统一,易学易用。交互性强,易于大多数人群操作。2操作简单在数据提交的过程中,加入了JavaScript语句判断8,如果用户输入错误就会有相应的错误提示。3代码编写方面系统前台使用了目前流行的DIV+CSS进行布局9,代码加载速度快,兼容性好,适应多种浏览器浏览。4安全方面对数据库进行了防下载、防注入等方面的安全防范10。数据库对用户
28、每次登录进行了详细的记载。5SEO优化本网站进行了简单的SEO优化,对网站关键字和描述方面进行了优化11,并且在网站根目录下建立了robots.txt和网站地图,方便搜索机器人的采集和收录,防止非法搜索机器人搜索,占用大量的服务器资源。6用户密码防泄露本站点对用户的密码进行了MD5加密12,即使数据库泄露也不会马上破解用户登陆密码。第4章 系统实现4.1 后台设计4.1.1 页面登陆实现功能描述:用户输入用户名、密码和验证码后,点击登录,系统首先会验证用户名、密码和验证码是否为空,如果有一个以上的为空,提示用户名、密码或验证码为空并返回重新登录;如果用户名、密码和验证码都不为空,然后系统测试验
29、证码是否正确,如果不正确提示验证码错误,返回重新登录,如果正确,验证密码和用户名称是否正确,如果都正确就登录成功,系统会做一个session会话13,用来记录管理员已经登录,之后转入管理界面,否则提示密码或用户名错误并返回重新登录。其页登陆界面如图4-1所示,用户登录模块的程序流程图如图4-2所示。图4-1 管理员登录界面图4-2 程序流程图部分主要代码如下:%Dim sql, rsDim UserName, Password, CheckCode, RndPasswordUserName = ReplaceBadChar(Trim(Request(UserName)Password = Re
30、placeBadChar(Trim(Request(Password)If UserName = ThenFoundErr = Trueerrmsg = errmsg & 用户名不能为空!End IfIf CheckCode Session(CheckCode) ThenFoundErr = Trueerrmsg = errmsg & 您输入的验证码和系统产生的不一致,请重新输入。End If if md5(Password)rs(PassWord) thenresponse.Redirect jxgAdmin_login.aspend if if UserNamers(UserName) t
31、henresponse.Redirect jxgAdmin_login.aspend ifRndPassword = GetRndPassword(16)rs(LastLoginIP) = TrueIPrs(LastLoginTime) = Now()rs(LoginTimes) = 0rs.UpdateConn.Execute (Insert Into J_Log (LogType,ChannelID,LogTime,UserName,UserIP,LogContent,ScriptName) values (1,0, & J_Now & , & UserName & , & TrueIP
32、& ,登录成功, & ComeUrl & )session(jixueguang)=2rs.Closesql = select UserPassword,LastPassword,LastLoginIP,LastLoginTime,LoginTimes from J_User where UserName= & UserName & rs.open sql, Conn, 1, 3If Not (rs.bof And rs.EOF) Thenrs(LastPassword) = RndPasswordrs(LastLoginIP) = TrueIPrs(LastLoginTime) = Now(
33、)rs(LoginTimes) = rs(LoginTimes) + 1rs.UpdateResponse.Cookies(UserName) = UserNameResponse.Cookies(UserPassword) = rs(UserPassword)Response.Cookies(LastPassword) = RndPasswordEnd Ifrs.CloseSet rs = NothingCall CloseConnResponse.Redirect Admin_Index.aspEnd Sub以上代码首先定义了几个变量,之后获取上一个页面表单提交过来的数据,并删除首部和尾部
34、的空格,同时把提交的字符串中的SQL注入字符等有害字符替换过滤14,然后把值赋值给本页面已经定义的变量。然后验证用户名是否为空,如果不为空继续执行代码,否则提示用户名为空并返回登陆界面,然后系统验证密码、用户名和验证码是否正确,如果正确把用户登录的信息记录到日志表中,并转到管理界面,否则重新登录。最后关闭数据库。4.2.2 信息管理模块1后台主界面:功能描述:登录后,将会看到后台界面上所显示的各个功能模块。左边的一列可以对相应栏目下的文章进行修改、添加、删除或者修改管理密码。首先会验证session会话是否正确,如果正确就会进入系统管理界面,否则转到登录界面。管理员登录后的界面如图4-3所示。
35、图4-3 登录界面部分主要代码如下:%if session(jixueguang)2 thenresponse.redirect jxgadmin_login.aspend if%以上代买主要功能:如果用户登录就继续执行后面的代码,否则,跳转到登录模块,防止非法进入。包含的页面主要是用于显示数据记录。2信息管理界面:功能描述:可以对文章进行查看、修改和删除,管理员界面如图4-4所示。图4-4 信息管理界面部分主要代码如下:a href=./NewsView.asp?id= target=_blank查看a href=admin_newsEdit.asp?id=修改a href=# onClic
36、k=alertreadme(确定删除这条吗?,admin_newsDel.asp?id=)删除% rs.movenext以上代码的主要功能是把满足条件的记录分页显示到页面,分页显示是调用的一个分页函数。获取数据库满足记录的title字段,之后通过newsClass这个子程序,调用显示文章所属的栏目类别,再获取该字段的ID号,通过ID号可以用admin_newsEdit.asp页面显示出文章的内容,也可以通过ID号的值传到admin_newsDel.asp删除页面删除记录。文章显示的顺序是按照置顶字段和发布日期降序进行排序。3信息修改界面:功能描述:对文章内容修改和文章置顶设置,界面如图4-5所
37、示图4-5 信息修改界面部分代码如下:%if rs(top)=1 thenresponse.Write(取消置顶:) elseresponse.Write(置顶:)end if %以上代码的主要功能是判断是否在前台、后台显示到栏目文章的第一条,如果有多个置顶文章,再按发布时间排序;同样,如果不想使文章置顶,可以点击取消。点击修改后,文章提交到admin_newsEdit_chk.asp这个页面,符合条件就更新到数据库。4信息修改验证界面:功能描述:验证提交表单数据是否合法,页面部分代码如下:if title= or connect= thenResponse.Write(alert(请添写完整
38、信息);history.go(-1);)elseopenconn()set rs=server.CreateObject(adodb.recordset)rs.open select * from J_news where id=&id&,conn,1,3rs(title)=titlers(class)=newsClassrs(adder)=adderrs(connect)=connectrs(top)=toprs.updaters.closeset rs=nothingend if首先验证信息是否填写完整,其次openconn()定义了一个adodb数据库连接组件15,并连接了一个数据库。之
39、后定义一个记录集组件,并打开这个记录集,更新数据。5信息删除界面:功能描述:对文章进行删除,管理员界面如图4-6所示。图4-6 删除提示界面页面部分代码如下:id=replacebadchar(request.QueryString(id)conn.execute(update J_News set DelFlag=true where id=&id&)Response.Write(alert(删除成功);location.href=admin_news.asp;)conn.close set conn=nothing获取表单传过来的ID值,并设置这个ID的记录DelFlag的值为假,显示提示
40、信息,关闭数据库,并把定义的组件设置为空。6信息增加界面:功能描述:增加某个栏目的文章,界面如图4-7所示。图4-7 增加信息界面页面部分代码如下: if (lb=0) thenresponse.Write(学院简介历任领导历史回顾)end if %if (lb=1) then response.Write(党政领导工 会学术委员会教学委员会院内环节) end if%当点击某个栏目的后,系统获取传递过来的值,判断返回的栏目数据。7信息增加验证界面:功能描述:验证提交表单数据是否合法,如果合法就添加数据。页面部分主要代码如下:title=request.Form(title)newsClass=
41、request.Form(newsClass)adder=request.Form(adder)connect=request.Form(connect)top=request.Form(top)if title= or connect= thenResponse.Write(alert(请添写完整信息);history.go(-1);)elseopenconn()set rs=server.CreateObject(adodb.recordset)rs.open select * from J_news,conn,1,3if not rs.eof thenrs.movelastnewid=rs(newid)+1 获取表单传递过来的值,验证变量是否为空,如