软件设计开发
本栏目责任编辑:谢媛媛
基于WEB 的校园新闻发布系统设计与实现
李宗毅
(昆明幼儿师范高等专科学校信息化教学部,云南嵩明651700)
摘要:该文针对传统新闻发布系统存在的问题,设计并实现了基于Web 的新闻发布系统。根据动态网页技术的工作原理,
该新闻发布系统的开发以VisualStudio 作为平台,使用VB.NET 网络程序设计语言、SQL Server 数据库技术,开发出基于Web 的新闻发布系统。新系统的研究开发对实际工作有实际意义,能大大提高信息传播的效率,保证新闻的准确性和时效性。
关键词:新闻发布系统;B/S ;VB.NET ;网页设计;数据库中图分类号:TP311
文献标识码:A
文章编号:1009-3044(2021)10-0087-03
开放科学(资源服务)标识码(OSID ):
1引言
部分学校所使用的新闻发布系统是静态网站,随着信息发布量的增加,问题日益突出:信息发布的过程烦琐,不支持动态信息查询,费时费力,时效性难以达到。学校遇到的问题通过基于WEB 的新闻发布系统就能解决。动态网页的工作原理:客户端通过浏览器URL 地址的形式向服务器发出访问Web 网页的请求,服务器收到请求后查询数据库到内容,编译程序代码,发送网页到客户端。
2系统开发理论基础
笔者实现新闻发布系统采用基于数据库的方法,该方法优点在于系统维护方便。系统架构为B/S 架构,客户借助浏览器就能够轻松地获取网上由多种Web 服务器生成的各种各样的数据资源[1]。系统模型使用三层架构模型开发。三层架构对易变、核心的业务逻辑以组件的形式加以封装,在逻辑上将应用分成独立的三层:用户表示层、应用逻辑层、数据访问层,三层间的逻辑划分明确,使各层间的耦合性降到最低,架构具有较
好的灵活性、易维护性和可重用性[2]
。系统的表现层使用html 、css+div 布局方法,该方法很好地解决了表现层与其他层的分离。数据层使用sqlserver ,该数据库性能强,满足大的并发访问量。程序设计采用ASP.NET ,ASP.NET 是微软公司推出的编程框架,兼容主流的编程语言。整个系统使用VisualStudio 作为开发工具。
3系统功能设计
在使用动态新闻发布系统的解决方案下,将系统分解为后台、前台两部分,功能结构设计如图1所示。
图1功能结构设计
4数据库设计
对于新闻发布系统,其核心活动是新闻信息(包含新闻、文件、视频、通知),普通管理员与新闻信息是通过编辑发表产生联系的,访客与新闻信息是通过查询访问产生联系的。其次系统管理员和普通管理员是通过授权产生联系。因此,此系统E-R 图如图2。
图2新闻发布系统E-R 图
本系统采用SQL Server 数据库系统。首先,在站点根目录建立app_data 文件夹,用于存放数据库。后面很多程序页面用到的|DataDirectory|就是指app_data 这个目录,该目录是专门用来放数据库的,即使知道数据库文件具体路径也无法下载。其次,新建一个数据库将它命名为KFScode 。最后,依据各实体的
收稿日期:2021-01-05
作者简介:李宗毅(1985—),男,云南红河人,昆明幼儿师范高等专科学校信息化教学部讲师,硕士,主要研究方向为信息技术应用
与教学。
87
本栏目责任编辑:谢媛媛
软件设计开发
Computer Knowledge and Technology 电脑知识与技术第17卷第10期(2021年4月)
基本属性,在该数据库中创建数据表。重要数据表如下所示。
表1管理员信息表:admin 表
字段名称
ID admin_name admin_password admin_department
数据类型char(18)varchar(10)char(32)varchar(10)
备注
主码,管理员编号(只能身份证注册)
管理员账号管理员密码所属部门
表2新闻栏目表:category 表
字段名称category_id category_name category_total
数据类型int(1,1)nchar(10)int
备注主码,分类编号分类名称分类新闻数小计
表3新闻信息表:News 表
字段名称News_id News_category_id News_title News_content News_appendix News_author News_writetime News_allhits
数据类型int(1,1)tinyint nvarchar(100)nvarchar(4000)varchar(255)nvarchar(10)nchar(10)smallint
备注主码,新闻编号新闻分类编号新闻标题新闻内容新闻附件(允许为null)
发文作者发文时间新闻阅读量
5详细设计与实现
5.1
自定义控件程序设计
图3用户登录窗体算法流程图
ASP.NET 提供的服务器控件具有十分强大的功能,但是在实际工作中,会遇到更复杂的问题。自定义控件是一项十分灵活的新兴技术,具有可编程性和可复用性[3]。为了解决这个问题,可以编写符合自己需求的控件。系统所设计的用户控件为:导航条header.ascx 、底部信息条Footer.ascx 、站内搜索search.ascx 、用户登录控件login.ascx 。这里以用户登录控件为
例介绍,用户登录控件用于用户登录和管理员登录。系统登录
流程为:1)验证登录;2)查询相关权限;3)进入系统并获得相应
菜单[4]
。这里用到的数据表是admin 数据表,界面设计上用到两个文本框、一个按钮,一个标签控件。当用户点击确定按钮后,文本框接收的用户名和密码会经过哈希算法加密,通过ses⁃sion 存储数据,验证登录。如果用户名不在admin 数据表中或密码不正确,则无法登录。如果验证通过,则进入下个环节,判断用户权限,依据权限进入不同的管理权限页面。登录模块算法流程图如图3所示。
5.2新闻发布系统后台管理程序设计
1)普通新闻添加功能
Admin_newsadd.aspx 用于实现普通新闻添加功能,该web 页面使用到文本框、下拉列表、多行文本框、命令按钮等控件。普通新闻添加模块算法流程图如图5所示。
这里算法的难点是过滤HTML 字符。内容写入数据库过程中出现禁用符号(如”<、>、引号、换行符、&等”)会出错,因此需要对禁用符号进行处理。使用replace 函数将禁用符号用其它符号代替。实现过滤HTML 字符的代码如下:Request.Form ("content0").Replace("<","<").Replace(">",">").Replace(""," ").Replace(Chr(34),""").Replace(Chr(13),"<br>")。发布新闻的作者和时间由系统直接赋值。使用session 里存储的登录帐号直接赋值给程序,发文时间使用today()函数赋值给程序。发布页面使用代码分离技术。在ASP.NET 中利用code_behind 表单可以使HTML 代码与实现其功能的代码分开,分别放在不同的文件中实现表示层与模型相分离。在这里,Admin_newsadd.aspx 是前台代码,Admin_newsadd.aspx.vb 是后台代码。提交新闻后会跳转到附件页面,被询问是否添加附件,如“是”,则链接到附件添加页面,否则完成新闻添加并返回管理页面。
2)图片上传程序在网站中,上传文件到服务器是一个开发中常见的问题。ASP.NET 提供了一个FileUpload 控件,可以更加简单地完成文件上传的工作。注意,为input 元素增加type=”file ”的属性,相应地,在form 表单中使用这种input 的时候,表单的method 必须为post 方式,同时,表单的enctype 也必须为multipart/form-data 。本系统中图片上传程序Admin_appendix.aspx 就使用到了FileUpload 控件。
附件上传程序Admin_appendix.aspx 重点解析,重命名上传的文件名称使用了多个函数处理now()函数得出,分别是re⁃place 函数、mid 函数。即rnfilename =Replace(Replace(Replace (Now(),"-",""),":",""),"","")。后面是后缀名的添加rnfile⁃name =rnfilename &Mid(filename,filename.LastIndexOf(".")+1)。并用到了ASP.NET 内部对象server 的mappath 方法。显示附件信息使用message.innerhtml 。5.3新闻发布系统前台程序设计
1)显示新闻详细内容(shownews.aspx )-三级界面程序设计
显示新闻详细内容页面shownews.aspx 用于将具体新闻信息标题、作者、内容、附件等详细信息显示出来。该web 页面是新闻发布系统的重点,要求内容的排版整齐、美观,并实际测试页面效果。该web 页面实现恢复HTML 字符是个难点,它通过下面代码实现<%#Server.Htmldecode(DataBinder.Eval(Contain⁃er,"DataItem.News_content"))%>。具体实现步骤:新建web 窗
88
软件设计开发
本栏目责任编辑:谢媛媛
Computer Knowledge and Technology 电脑知识与技术
第17卷第10期(2021年4月)
体命名为shownews.aspx ,并存放在网站根目录下。然后在web 页面上添加自定义控件、repeater 控件、label 标签控件。
表4“显示新闻详细内容”控件属性
控件类型label repeater
控件ID lblimgs myrepeater
主要属性设置runat="server"自定义模板列
功能用于显示图片
显示新闻详细信息
图4“显示新闻详细内容”算法流程图
显示新闻详细内容shownews.aspx 使用了代码分离模式,代
码位于shownews.aspx.vb 文件中。该web 页面中多图的显示是个难点,这里用到分支结构、数组、循环结构来实现。具体是定义imgurl()为变长数组,用它来接收多图文件名信息,然后用for 循环结构依次将imgurl 数组从0到upbound(imgurl)读取出来,最后结合label 标签控件依次将每个数组元素显示成图片并换行。最终实现多图显示。
6结束语
本新闻发布系统提高了工作效率。该系统随着校园信息化进程的深入,会和更多校园资源网整合在一起,新闻发布只是最简单的一个应用,后面还会有成绩管理系统,在线考试系统、学籍管理系统、教师管理系统、图书管理系统、招生就业信息系统等等。当这些信息管理系统整合在一起后,会形成较完整的校园网。信息化系统给校园内外带来的方便将无处不在。
参考文献:
[1]王瑾.基于B/S 模式的高校毕业生就业信息管理系统设计[J].自动化与仪器仪表,2017(12):95-97.
[2]宗梅,马小平.基于.Net 的三层Client/Server 结构及其应用[J].计算机工程与设计,2005,26(2):520-522.
[3]郑秋梅,刘真,苏政,等.基于Android 的自定义通用可视化控件[J].计算机系统应用,2017,26(1):222-226.
[4]廖亮,刘瑛.基于VB 和SQL Server 的权限动态管理的设计与实现[J].电脑知识与技术,2017,13(36):1-3.
【通联编辑:唐一东】
(上接第84页)
[2]朱敏,尚鲜连,董广涛,等.健身服务小程序开发——大学生创新项目实践[J].科技创新导报,2020,17(15):241-242,244.[3]蒲超.基于网站制作的Web 前端开发技术与优化[J].数码世界,2020(4):34.
[4]王芸琦,蔡建平.基于位置的签到小程序开发[J].计算机时代,2019(11):67-69,73.
[5]张杭,朱红梅,王婕,等.基于小程序的智慧农药信息管理系统的研究与实现[J].现代信息科技,2019,3(20):85-87,92.
【通联编辑:代影】
(上接第86页)
7结束语
公益捐赠平台是以建立大学生消费为主题,整合捐赠和闲
置物品交易的公益小程序。使用在线信息服务为募捐、捐赠、审核和客服提供便利的渠道。该平台的建设对解决资源浪费,发展可持续公益事业,培养大学生思想道德素质具有重要的理论和现实意义。
参考文献:
[1]曹萌.网络捐赠的可持续性发展研究[J].赤峰学院学报(汉文
哲学社会科学版),2014,35(10):78-80.
web端登录[2]黄丽仪.基于用户行为的旧物捐赠App 设计研究[D].成都:西南交通大学,2016:40.
[3]黄艺奇,吕妍,熊夕冉,等.大学生闲置物品捐赠平台可行性研究[J].经济研究导刊,2018(20):179-18
0.
[4]乔良,韩菲.大学生校园公益平台构建浅析[J].今日财富(中国知识产权),2019(5):204.
【通联编辑:唐一东】
89
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论