《新闻发布系统的设计和实现.docx》由会员分享,可在线阅读,更多相关《新闻发布系统的设计和实现.docx(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、L引言近年来,Internet的高速开展带动了整个世界新闻传播的速度,我们每一刻 都可以从网络上知晓世界上发生的事情。电脑的普及,移动视频,智能手机等传 媒终端的迅速的开展。使传统的信息传播媒体如电视、播送、报纸等逐渐被人们 抛弃,满足不了人们对外界瞬息万变的信息的好奇心,因而人们越来越习惯依赖 网络新闻媒体。新闻的传播方式发生了巨大的变化,人们更多的开场关注网络新 闻媒体。这种媒体不但具备新闻传播的特点:及时、准确。还具有信息量大、方 便管理、方便阅读等特点。有了新闻发布系统后,可以随意查询新闻,快速找到 自己喜欢的新闻,并可以发表自己的评论,也方便了管理员使其能够更加清晰的 管理新闻,很好
2、地提高了管理者的效率。当今,网络已成为了人们日常生活信息来源的主要途径,人们都习惯于通过 上网来获取信息,在这种开展形势下,网络新闻逐渐深入我们的生活,成为获得 信息的一个重要手段。由于Internet的信息容量大,传播范围广,信息传播及 时并且内容准确,大大满足了人们的需要。把所有的信息都上传到网络,供大家 相互浏览、评论,使网络的信息量越来越大,所以我们迫切的需要开发一个基于 网络的新闻信息浏览系统。2 .新闻发布系统的需求分析性能需求该系统在性能功能上应到达如下需求:1)操作简单、界面友好:完全控件式的页面布局,使得新闻的录入工作更 简便,许多项选择项包括新闻分类、来源部门等只需要点击鼠
3、标就可以完成;另 外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。对常见网站的新闻 管理的各个方面:新闻录入、浏览、删除、修改、搜索等方面都大体实现,实现 了网站对即时新闻的管理要求;2)即时可见:对新闻的处理包括录入、删除)将立即在主页的对应栏目显 示出来,到达“即时发布、即时见效的功能;3)系统运行应该快速、稳定、高效和可靠;4)在构造上应具有很好的可扩展性,便于将来的功能扩展和维护。public int CheckUser(string username, string pwd)连接用户数据库判断DB db = new DBQ;db.Connect();string sql = n
4、SELECT * FROM xtuser WHERE username=,n + username + and userpwd=H, + pwd +SqlDataReader reader 二 db.QueryReader(sql);if (reader.Read() return (int)readernadminH;) elsereturn -1;在的页面进展调试,调用WebMethod中的用于判定与联系数 据库的方法,就可以登录在本系统中还需要一个通用的类DB.cs用于数据库的连 接,可以防止重复的编写,通用类DB的关键代码如下:public void Connect() (if (co
5、nn = null) conn = new SqlConnection(DB.connString);if (conn.State != ConnectionState.Open)conn.OpenQ;public void Close() if (conn != null & conn.State != ConnectionState.Closed)(conn.Close();)III III 获取 SqlDataReaderIII public SqlDataReader QueryReader(string sql) SqlCommand cmd 二 new SqlCommand(sql
6、, conn);return cmd.ExecuteReader(CommandBehavior.CloseConnection);III III执行非查询语句III public int Querylnt(string sql) (SqlCommand cmd = new SqlCommand(sql, conn);return cmd.ExecuteNonQueryO;用户在填写好用户名和密码之后,就可以顺利登陆系统,如果用户名或密码 错误,那么系统会给出提示,提示用户更正错误,是否是管理员身份的选择用户 可以进展选择,也可以不用选择,系统会根据数据库中用户身份自动判断用户是 否是管理员。
7、新闻系统的登录界面如图4-12所示(图4-12就是登陆失败的情况)图4-12用户登录432新闻管理用户成功登陆后,就进入了新闻管理界面,新闻管理界面包括与其他新闻系 统页面的相互跳转级新闻的添加和删除,进入新闻管理界面首先可以浏览到一个 新闻基本信息的表,所以在“NewsManage.aspx.cs文件中首先应有如下代码;protected void Page_Load(obj ect sender, EventArgs e) 一个新闻的表格NewsWebService newsWS = new NewsWebService();DataTable dt 二 newsWS.News();Gri
8、dView_News.DataSource 二 dt;GridView_News.DataBind();)显示的新闻表格GridView_News调用了 Web Services方法,在News Web Services.cs中的News方法代码如下:WebMethodpublic DataTable News()(DB db = new DB();db.Connect();string sql = SELECT * FROM news11;SqlDataReader reader = db.QueryReader(sql);DataTable dt = new DataTable();dt.
9、Load(reader);db.Close();return dt;用户成功登陆后,就进入了新闻管理界面,新闻管理界面包括与其他新闻系 统页面的相互跳转级新闻的添加和删除,点击相关的连接,用户就可以跳转到相 关的页面,进入新闻管理界面首先可以浏览到一个新闻 基本信息的表,用户点 击添加新闻按钮,就可以对新闻进展添加,新闻管理界面如图4-13所示(图4-13 登陆的身份是管理员用户)图4-13新闻管理另外点击“添加新闻”按钮进入到添加新闻的界面,跳转到添加新闻页面 Addnews.aspx)的代码如下:protected void Button 1 _Click(obj ect sender,
10、EventArgs e)(Response.Redirect(/Addnews, aspx);)普通用户和管理员都可以对新闻进展添加,填写新闻的有关 基本信息,然 后提交。提交成功后,可以在新闻管理界面浏览到刚刚添加的新闻。新闻添加界 面包括新闻的 基本信息新闻类别、新闻题目、新闻发布人、发布时间、新闻内 容,在进入新闻添加的界面时,要首先获取一个新闻类别的下拉框,新闻类别的 内容是根据数据库中的新闻类别(category)自动获取的,获取新闻类别的代码 如下:protected void Page_Load(object sender, EventArgs e)(if (JIsPostBac
11、k)(/通过WebService获取分类信息NewsWebService newsWS = new NewsWebService();ArrayList 1st = ne ws W S .GetCategory ();for (int i = 0; i Ist.Count; i+)(object news = (object)lsti;DropDownList_Category.Items.Add(newListltem(news 1 .ToStringO, news0.ToString();由于在上述代码中调用了 Web Services方法,在NewsWeb Services.cs中获取分
12、类的GetCategory方法的代码如下:WebMethodpublic ArrayList GetCategoryO(ArrayList 1st 二 new ArrayList();DB db = new DB();db.Connect();string sql =SELECT * FROM categoryH;SqlDataReader reader = db.QueryReader(sql);while (reader.Read()object news = new object2;news0 = (int)readerncateIDn;newsl = readerncatenamen.
13、ToString();Ist.Add(news);)reader.Close();return 1st;用户完成新闻的 基本信息填写后,点击“确定“按钮,就可以对新闻进展 添加,如果 基本信息填写不完全,那么系统会自动提示用户把新闻 基本信息 填写完整,之后才可以成功提交新闻。添加新闻的关键代码如下:protected void B utton 1 _Click(obj ect sender, EventArgs e)NewsWebService newsWS = new NewsWebService();bool result =newsWS. AddNews(TextBox_Title.T
14、ext,TextBox_Content.Text,TextBox_Poster.Text,int.Parse(DropDownList_Category.SelectedValue);if (result) Response.Write(nScript Language=JavaScriptwindow.alert( 新闻添加成功! ) ) else Response.Write(n window.alert(新 闻添加失败,请联系管理员!); ) )在添加新闻的上述代码中调用了 Web Services方法,在NewsWeb Services.cs 中的AddNews方法代码如下:WebMe
15、thodpublic bool AddNews(string title, string content, string poster, int catelD) (DB db = new DB();db.Connect();string sql = INSERT INTO news(title, content, posttime, poster, catelD) VALUES。 + title + J + content + DateTime.Now.ToStringO + J +poster+n7,+ cateID + n)n;int affectedRows = db.QueryInt(
16、sql);db.Close();return affectedRows 0;用户如果想继续添加新闻,那么点击“继续“按钮,就可以继续添加新闻, 即用户返回添加新闻的页面就可以继续添加新闻了,继续添加新闻的代码如下:protected void B utton2_Click(obj ect sender, EventArgs e)继续添加新闻Response.Redirect(/AddNews.aspx);)如果用户想查看新闻添加后的情况,那么点击“返回按钮,就可以返回新 闻管理界面,查看刚刚添加的新闻的 基本情况,返回操作的关键代码是:protected void Button3_Click(
17、object sender, EventArgs e)(返回到新闻管理Response.Redirect(/NewsManage.aspx);新闻添加界面包括新闻的 基本信息新闻类别、新闻题目、新闻发布人、发 布时间、新闻内容,在进入新闻添加的界面时,用户填写好新闻的各项 基本信 息之后,点击确定按钮,就可以成功添加新闻,再点击返回按钮,返回新闻管理 界面,查看新闻是否添加成功。添加新闻添加新闻的操作界面如图4-14所示图4-14添加新闻如果是用户管理员的身份登录,那么在新闻管理界面的基本信息的表中应 包含删除的功能,点击“删除就可以把要删除的新闻删除,删除新闻的关键代 码如下:protect
18、ed void GridView_News_RowDeleting(object sender, GridViewDeleteEventArgs e)(int uid = int.Parse(GridView_News.Rowse.RowIndex.CellsOJ.Text);NewsWebService newsWS 二 new NewsWebService();if (newsWS.DeleteNews(uid)(Response.Write(nScript Language=JavaScriptwindow.alert( 新闻删除成功! ) 0;)新闻删除是新闻系统中管理员用户对于新闻的
19、一项操作,是管理员用户在新 闻管理界面点击“删除按钮来实现的。管理员用户只要点击数据表中的删除, 就可以把那一行对应的新闻删除,新闻管理中的新闻删除的界面如图4-15所示 (如果不是管理员身份登录,那么在新闻管理界面没有删除新闻的操作。图4-15新闻删除新闻查询用户可以在新闻管理界面通过新闻查询连接到新闻查询的界面。本系统的新 闻查询是按照新闻的发布时间进展查询的,有两个日期,一个是查询的开场时间, 一个是查询的截止时间(截止时间默认不选的话就是当前的时间点击“开场查询按钮,就会根据查询输入的需要列出对应的新闻。在新闻查询中u QueryNews.aspx ”文件中开场查询的代码是:prote
20、cted void Buttonl_Click(object sender, EventArgs e) NewsWebService newsWS 二 new NewsWebService();string begt=begintime.Text.Trim();string endt=endtime.Text.Trim();if (endt =) endt = DateTime.Now.ToStringO;)DataTable dt = newsWS.CheckNews(begt, endt);Grid View 1 .DataSource = dt;GridViewl .DataBindQ;
21、)新闻查询时的QueryNews.aspx之中要调用Web Services方法,即NewsWeb Services.cs中CheckNews 方法,这个方法的关键代码如下:WebMethodpublic DataTable CheckNews(string begintime, string endtime) 按时间查询新闻DB db = new DB();db.Connect();string sql 二SELECT * FROM news WHERE posttime BETWEEN+ begintime.ToString().Replace(,m AND + endtime.ToStr
22、ing().Replace(, _|_,n,.SqlDataReader reader = db.QueryReader(sql);DataTable dt = new DataTable();dt.Load(reader);db.CloseQ;return dt;点击“重新查询按钮那么会重新对新闻进展查询,重新查询的代码是:protected void Button2_Click(object sender, EventArgs e)/重新查询Response. Redirect(/QueryNews.aspx);新闻查询包括新闻系统相关页面的跳转和新闻的按上传时间的查询,用户只 需俺系统的
23、时间格式要求输入新闻的上传时间的范围,点击”开场查询按钮, 就可以查询到相关的新闻,如果想要重新查询,只需点击重新查询按钮即可。查 询时的操作界面如图4-16所示图4-16新闻查询434新闻类别管理管理员用户可以进入新闻类别管理,进入新闻类别管理界面,首先要看到一 个新闻类别的表,在CategoryManage.aspx的文件中的代码是:protected void Page_Load(object sender, EventArgs e)出现一个新闻类别的表格NewsWebService newsWS = new NewsWebService();DataTable dt = newsWS
24、.Categorys();GridView_Category.DataSource = dt;Grid Vie w_Category.DataB ind();上述代码中调用 了 Web Services 方法,NewsWeb Services.cs 中 Categorys的关键代码如下:public DataTable Categorys()用户根据对新闻系统的需求分析的上述要求及新闻系统模型构造,新闻的功 能模块分为四个大的局部,新闻的管理,新闻的查询,新闻类别的管理,用户的 管理。新闻管理包括新闻的浏览,新闻的添加和新闻的删除;新闻的查询是按照 新闻的发布时间进展查询;新闻类别的管理包括新
25、闻类别的浏览,添加和删除; 用户的管理包括对用户的基本信息的浏览,添加和删除。制定出新闻系统的系 统功能模块图。该新闻系统的系统功能模块划分如图4-1所示图4-1新闻系统功能模块图2.2运行环境要求硬件设备要求客户机硬件要求:具有Pentium III处理器以上且满足以下要求的计算机: 最低64 MB内存,最小2.1 GB硬盘。服务器硬件要求:具有Pentium III处理器以上且满足以下要求的计算机: 最低256MB内存,最小8GB硬盘。2.2.1 软件设备要求客户端操作系统:Windows 98/NT/2000/XP或更高版本浏览器:IE 5.0以上或Netscape同等版本以上服务端系统
26、设计工具:Visual Studio 2005 或者 Visual Studio 2008数据库:SQL server20053 .系统设计3.1 新闻系统的设计模型构造系统的功能模块新闻的功能模块分为四个大的局部,新闻的管理,新闻的查询,新闻类别的 管理,用户的管理。新闻管理包括新闻的浏览,新闻的添加和新闻的删除;新闻 的查询是按照新闻的发布时间进展查询;新闻类别的管理包括新闻类别的浏览, 添加和删除;用户的管理包括对用户的 基本信息的浏览,添加和删除。系统的 功能模块图如图3-1所示图3-1系统的功能模块图DB db = new DB();db.Connect();string sql =
27、SELECT * FROM category;SqlDataReader reader 二 db.QueryReader(sql);DataTable dt 二 new DataTable();dt.Load(reader);db.CloseQ; return dt; )新闻类别管理界面上还有对新闻类别进展添加和删除的功能,添加和删除新 闻类别在同一个界面之上,在输入新闻类别之后,点击添加新闻类别按钮,就可 以添加新的新闻类别,添加新闻类别的代码如下:protected void Button 1 _Click(obj ect sender, EventArgs e) /添加新闻类别 if (
28、TextBox_CateName.Text!=nn) N e w s Web S er vice newsWS 二 new NewsWebService();bool result = newsWS.Category(TextBox_CateName.Text);Response.Redirect(n-/CategoryManage.aspxn);Response.Write(ScriptLanguage=JavaScriptwindow.alert,新闻类别添加成功! !)n); ) (Label_Result.Text廿新闻类别添加失败! ”;Label Result.ForeColor
29、= Color.Red; ) 添加新闻类别时调用 Web Services方法,NewsWeb Services.cs中CheckNewsCategory方法的关键代码如下:WebMethodpublic bool Category(string catename)DB db = new DB();db.Connect();string sql = nINSERT INTO category(catename) VALUES(,n + catename +int affectedRows = db.Querylnt(sql);db.Close();return affectedRows0;新闻
30、类别管理区别于新闻管理界面,新闻类别管理是把新闻类别的浏览, 添加和删除集合在一个界面之中,并包括每个页面之间的跳转,用户在输入新闻 类别的名称之后,点击“添加按钮就可以正确添加新闻类别,并在上方的数据 表格中浏览到,如果想要删除新闻类别,只需点击新闻类别数据表中的删除选项, 就可以删除对应的新闻类别。新闻类别的界面如图4-17所示图4-17新闻类别管理点击新闻类别表列的的“删J除,即可把要删除的新闻类别删除,删除包括 在GridView的新闻类别表的一列中,在CategoryManage.aspx的文件中删除的代 码如下:protected void GridView_Category_Ro
31、wDeleting(object sender, GridViewDeleteEventArgs e)intcid=int.Parse(GridView_Category.Rowse.RowIndex.Ce!ls0.Text);NewsWebService newsWS = new NewsWebService();if (newsWS.DeleteCategory(cid)Response.Write(HScript Language=JavaScriptwindow.alert(, 新闻类别删除成功! ,);Response. Redirect(/CategoryManage.aspx);
32、) else (Label Result.ForeColor = Color.Red;LabeLResult.Text = 删除失败! H; ) )删除新闻类别时调用了 Web Services方法DeleteCategory (), NewsWebServices.cs 中 DeleteCategory 的关键代码如下:WebMethodpublic bool DeleteCategory(int cid) /删除新闻类别DB db = new DB();db.Connect();string sql = nDELETE FROM category WHERE cateID= + cid;r
33、eturn db.Querylnt(sql) 0;)用户管理管理员用户可以对每个用户的基本信息进展编辑,添加和删除。进入用户 管理界面首先出现一用户 基本信息的表格,在UserManage.aspx文件中的代 码如下:protected void Page_Load(obj ect sender, EventArgs e) (/出现一个用户表格UserWebService userWS 二new UserWebService();DataTable dt = userWS.UserManage();GridView_UserManage.DataSource = dt;GridView_Use
34、rManage.DataBind();在用户管理的界面中要调用 Web Services方法UserManage (), UserWebServices.cs中的UserManage方法的关键代码如下:WebMethodpublic DataTable UserManage()DB db = new DB();db.Connect();string sql = SELECT * FROM xtuser;SqlDataReader reader = db.QueryReader(sql);DataTable dt = new DataTable();dt.Load(reader);db.Clos
35、e();return dt;)用户管理界面包括对用户的删除,添加和浏览和其他的相关新闻系统页面的 链接。点击红色的链接就可以链接到相关的页面。点击“添加用户按钮就可以 跳转到用户的添加页面。用户管理的界面如4-18所示图4-18用户管理点击添加用户进入添加用户界面,同添加新闻的界面类似,在填写完用户的 信息后,点击“确定“按钮进展用户的添加,在AddUser.aspx文件中添加用户 的代码如下:protected void Button 1 _Click(object sender, EventArgs e)UserWebService userWS = new UserWebService(
36、);bool resultuserWS. AddUser(TextBox_UserName.Text,TextBox_UserPwd.Text,TextBox_Ename.Text,TextBox_Email.Text,int.Parse(DropDownList_Admin.SelectedValue); if (result) Response.Write(nScript Language=JavaScriptwindow.alert( 用户添加成功! ) ) else Response.Write(n); ) )在上述代码中调用 Web Services 方法 AddUser),User
37、WebServices.cs 中的 AddUser方法的关键代码如下:WebMethodpublic bool AddUser(string username, string userpwd,string ename, string email 9int admin)添加用户DB db = new DB();db.Connect();stringsql=INSERTINTOxtuser(username,userpwd,ename,email,admin) VALUES。 + username +userpwd + 1”+ ename + + email + 1” + admin + n)n;
38、int affectedRows = db.Querylnt(sql);db.Close();return affectedRows 0;)管理员用户根据具体的实例填写用户的各项 基本信息、。用户的各项 基本 信息是必须填写的,如果有其中一项没有填写,系统的将无法把用户添加成功, 并且系统还会自动给出具体的提示,提示管理员用户哪一项信息未填写。如果填 写完整,那么管理员只需点击“确定按钮就可以成功添加用户。点击“继续 按扭那么可以继续添加用户,点击“返回按钮那么会返回用户管理界面。用户 添加用户的界面如图4-19所示图4-19添加用户在用户管理界面,管理员用户可以对浏览到的所有用户进展删除操作
39、,由于 删除是在GridView的表格中,所以在NewsManage.aspx文件中的删除操作的代 码是:protected void GridView_UserManage_RowDeleting(object sender, GridViewDeleteEventArgs e)(intuid=int.Parse(GridView_UserManage.Rowse.RowIndex.Cel!s0.Text); UserWebService userWS = new UserWebService(); if (userW S .DeleteU ser(uid)(Response.Write(n
40、Script Language=JavaScriptwindow.alert( 用户删除成功!。V/Scrip”);DataTable dt = userWS.UserManage();GridView_UserManage.DataSource = dt; GridView_UserManage.DataBind();) else(Response.Write(nwindow.alert( 用户删除失败,请联系管理员! K/Script”);在上述代码中调用 了 Web Services 方法 DeleteUser),UserWebServices.es 中的DeleteUser方法的代码如
41、下:WebMethodpublic bool DeleteUser(int uid)(删除用户DB db = new DB();db.Connect();string sql = nDELETE FROM xtuser WHERE userID=n+uid;return db.Querylnt(sql) 0;总结随着信息技术的开展,网站在管理中发挥着越来越重要的作用。传统的新闻 发布方法已不能适应形势开展的需要。Web Services是一种构建应用程序的普通 模型,并能在所有支持Internet通讯的操作系统上实施运行。由于Web Services 技术具有跨平台、跨语言等优点,在新闻及用户
42、资源整合中,利用Web Services 技术,可将原有应用系统中需要共享的功能以Web服务的方式公开,其它应用 系统通过调用Web服务实现不同系统之间的互操作和信息共享。不仅具有实现 简单、方便灵活以及开发代价低等优点,而且具有较好的集成性和扩展。随着社 会开展,Web Services技术也会越来越普及人们的信息交流与生活之中。新闻发 布系统是一个难度较大的工程,为了进展分析与设计,本人花了大量的时间和精力, 查阅了很多资料。尽管遇到了较多困难,但总能在导师的精心指导和帮助下抑制。 在需求分析、系统设计的过程中。为了力求做好,反复修改屡次,但系统仍有一些 缺乏和有待完善的地方。参考文献1周
43、博.互联网在我国开展的研究D.山东科技大学,2005. 杨晓东.互联网开展新技术及其应用展望J.中国教育信息化,2009,6):3唐燕涛.新闻发布系统在高校管理中的应用.高教论坛,2005年03期.131-132. 4廖德伟.基于.NET架构的新闻发布管理系统的设计与实现D.南昌大学, 2009.5钱能.C+程序设计教程(第二版)M.北京:清华大学出版社,2005. 21-23.6 Howard. A Taxonomy of Computer and Network AttacksM.al ceitorg/research/JHThesis/Word6/chap06.doc.pp. 53-72
44、.7 Li-vin Shen. Project feasibility study: the Icey to successful implementation of sustainableand socially responsible construction management practiceM. journal of Cleaner Production, 2010, (18) : 254-259.8郑阿奇.SQL Server 2005教程【第二版)M.北京:电子工业出版社,2011. 232-235.9 ClueBotNG.Dataflowdiagram.:en.wikiped
45、ia.org/wiki/Data flow diagram, 2011.10李红.数据库原理与应用M.北京:高等教育出版社,2003. 16-25.11施伯乐.数据库系统教程M.北京:高等教育出版社,2008. 147-151.12唐勇.基于.let技术的怀化职院图书管理系统的设计与实现D.电子科 技大学,2009.L13王妹.基于B/S模式的图书管理系统的设计与实现D.西安理工大学, 2006.14杨睿娜.数据库设计过程中E-R图向关系模型的转换J.电子科学,2009,(6). 1-2.15Andrew Troelsen. Pro C# 2008 and the.NET 3.5 PlatformFourth Edition M. America:, 2007. 1-3.16胡保林.ASP. NET的工作原理探索J.中国西部科技,2006, (23): 1-2. 17Rahil Kidwai. Implementation