资源描述
摘要 ASP.NET是新一代Web应用程序开发平台,它是一个已编译、基于.NET开发环境,它提供了生成企业级应用程序所必需全部服务,基于 .NET Framework 生成,整个框架全部可用于任何 ASP.NET 应用程序。能够使用任何和公共语言运行库(CLR)兼容语言(包含 Visual Basic.NET、C# 和 JScript .NET)来创建应用程序。该系统使用ASP.NET(C#语言)和ADO.NET技术开发, 实现了网站新闻动态管理,使得对信息管理愈加立即、高效,提升了工作效率,含有通常新闻系统功效,关键包含前台新闻查看区和后台管理区,可为学校各部门公布新闻,为校园网站提供新闻公布和管理服务。
关键词 ASP.NET ADO.NET 新闻管理 Browser/Server
目录
引言 1
1研究背景 2
1.1 中国外研究现实状况及发展趋势 2
1.2 研究目标、意义和范围 2
2 需求分析 4
2.1 需求分析 4
2.2 新闻系统性能需求 5
2.3 运行环境要求 5
2.3.1设备 5
2.3.2支持程序 5
3 系统结构设计 6
3.1 新闻系统功效模块介绍 6
3.2 新闻系统模型结构 7
3.3系统数据流图 7
4 系统数据库设计 8
4.1 实体图设计 8
4.2 数据表设计 9
5 系统功效模块设计 8
5.1 各关键窗体页图形界面介绍 11
5.2 Web.config文件配置 12
5.3 系统部分关键功效及其代码 13
5.3.1 Web用户控件 13
5.3.2 添加公布新闻 13
5.3.3 用户注册 14
5.3.4 用户修改密码 14
总结 16
参考文件 17
引言
JSP(Java Server Pages)是Sun Microsystems企业所提倡,很多企业参与一起建立一宗动态网页技术标准。它在HTML代码中,插入JSP标识(tag)及Java程序片段(Scriptlet),组成JSP页面,其扩展名为.jsp。当用户端请求JSP文件时,Web服务器实施该JSP文件,然后以HTML格式返回给用户端。
1研究背景
1.1 中国外研究现实状况及发展趋势
传统网站新闻管理方法有两种:一个是静态HTML页面,更新信息时需要重新制作页面然后上传页面并修改对应链接,这种方法因为效率太低已不多用;到了今天,更是发展出了.Net和J2EE两大阵营。Microsoft.NET平台是一个强调多语言间交互通用运行环境。尽管.NET设计者试图以.NET平台作为绝大多数Windows应用首选运行环境,但.NET首先吸引却是Web开发者眼光。,.NET平台,尤其是.NET平台中ASP.NET确实不失为Web开发技术在Windows平台上一个集大成者。
另一个J2EE则是纯粹基于Java处理方案。她三个关键元素是Servlet、JSP和EJB。J2EE体系及相关软件产品已经成为了Web服务端开发一个强有力支撑环境。
用户端技术和服务器技术发展,使得互联网有了更多展示方案,其相关应用也得到了不停发展和进步。新闻公布系统也伴随Web技术发生了颠覆式改变。现在,众多新闻门户每日围绕着我们,使我们轻松能够了解天下事。
JSP (Java Server Pages,动态网页技术标准),是建立动态Web应用程序而重新打造全新技术,其关键特色包含:
● 语言独立性;
● 一次编译,随地运行;
●将内容生成和显示进行分离;
●强调可重用组件;
●采取标识简化页面开发;
● 提升了实施效率;
● 简化布署和组态操作;
● 支持用户端类型;
● 支持下一代Web服务;
● 促进适用性和延展性;
● JSP适应平台更广;
● 更多支持工具;
● 更佳安全机制;
● 会话(Session)能够跨进程、跨机器。
因为JSP众多优点,技术发展和多种客观实际需要,该系统选择了JSP来开发设计,实现了对行业新闻动态管理操作,使得对新闻信息公布和管理愈加立即、高效,提升了工作效率。
1.2 研究目标、意义和范围
伴随Internet普及,越来越多企业建立了自己WWW网站,企业经过网站能够展示产品,公布最新动态信息,和用户进行交流和沟通,和合作伙伴建立联络,和开展电子商务等。
其中新闻管理系统是组成企业网站一个关键组成部分,它担负着双层作用:首先能够用来动态公布相关新产品或新开发项目;其次又能够立即向用户公告企业经营业绩、技术和研发进展、尤其推荐或优惠工程项目、产品和服务,从而吸引用户,扩大用户群。
该系统使用JSP技术开发, 实现了网站新闻动态管理,使得对信息管理愈加立即、高效,提升了工作效率。该新闻系统含有通常新闻系统功效,关键包含前台新闻查看区和后台管理区,可为个人网站公布新闻,为校园网站提供新闻公布和管理服务。
该系统是基于B/S(Browser/Server,浏览器/用户端)模式实现,基于JSP动态网站开发设计,关键实现对行业新闻公布和管理功效,对新闻内容信息浏览阅读等。
伴随Internet/Intranet技术兴起,将原本在单机或当地局域网上运行数据库系统移植到因特网中,即开发基于B/S模式新一代MIS(Management Information System,管理信息系统)系统,正成为技术发展趋势。为了确保系统性能高效性、可扩展性,和达成数据共享和网络化管理目标,本系统采取B/S体系结构进行设计开发。
2 需求分析
2.1 需求分析
该系统用户为校园网站,需要常常公布部分新闻,怎样能有效地管理和公布新闻呢?最初用户需求为:“该新闻系统含有通常新闻系统功效,同时含有新闻审核和不一样管理员不一样管理权限功效” 。
经过对其它部分新闻系统调查发觉,通常新闻系统功效以下:
◆ 前台按分类显示新闻;
◆ 搜索新闻;
◆ 后台管理:
● 添加、删除和修改(编辑)新闻
● 添加、删除和修改用户
来访者有不一样权限,需要有个管理权限功效,系统中应该有个超级管理员,含有全部权限,能够对系统进行全方面管理,同时管理员能够修改自己信息。
依据校园网站新闻公布管理实际需求,在首页中能显示最近公布几条新闻等,同时在后台公布新闻时能够添加图片,在前台能自动依据所显示图片显示新闻。
在后台管理中,因为有权限管理员才能登录管理后台,所以需要有个登录验证模块,而且需要依据用户权限不一样显示不一样管理目录,在管理新闻和用户时,当数据少时管理起来还比较方便,假如一多则想找到某条新闻或某个用户就极难,所以需要有个查找(按公布日期)模块用于查找新闻。
依据以上需求分析,该系统要实现关键功效为:
◆ 前台显示新闻部分
● 用户登录区
● 显示最新前几条新闻
● 搜索新闻功效
● 新闻具体信息浏览阅读
● 图片新闻(自动生成缩略图)在首页显示且只显示前三条
● 网站友谊链接(可在管理中添加设置)
◆ 后台管理部分
● 登录验证
● 依据权限显示对应管理目录
● 添加、修改和删除新闻
● 用户管理
2.2 新闻系统性能需求
该系统在性能功效上应达成以下需求:
◆ 操作简单、界面友好: 完全控件式页面布局,使得新闻录入工作更简便,很多选项只需关键点击鼠标就能够完成;另外,跟踪出现提醒信息也让用户随时清楚自己操作情况。对常见网站新闻管理各个方面:新闻录入、浏览、删除、修改、搜索等方面全部大致实现,实现了网站对即时新闻管理要求;
◆ 即时可见:对新闻处理(包含录入、修改、删除)将立即在主页对应栏目显示出来,达成“即时公布、即时见效”功效;
◆ 系统运行应该快速、稳定、高效和可靠;
◆ 在结构上应含有很好可扩展性,便于未来功效扩展和维护。
2.3 运行环境要求
2.3.1 运行平台
用户机硬件要求:含有 Pentium III 处理器以上且满足以下要求计算机:最低 64 MB 内存,最小 2.1 GB 硬盘。
服务器硬件要求:含有 Pentium III 处理器以上且满足以下要求计算机:最低 256MB 内存,最小 8 GB 硬盘。
2.3.2 支持程序
◆ 用户端
操作系统:Windows 98/NT//XP或更高版本
浏览器:IE 5.0以上
◆ 服务器
操作系统:Windows 200X Server或Windows XP
Web服务器:Tomcat6.0
数据库:MySql Server5.0
3 系统结构设计
3.1系统功效模块介绍
该系统系统功效模块图图3.1所表示:
登录后经权限判定
浏览网站
一般浏览者
浏览阅读新闻
搜索新闻
注册用户
添加新闻
管理新闻
管理用户
管理员
添加新闻
搜索新闻
浏览阅读新闻
新闻输入员
搜索新闻
浏览阅读新闻
图3.1 系统功效模块图示
整个系统工作步骤为:
打开该系统网站,一般浏览者能浏览、阅读和搜索新闻,能进行注册,注册后成为新闻输入员,登录进入新闻后台管理区, 有添加新闻权限;如为系统管理员,其有新闻后台管理区内全部权限,如:添加和管理新闻、添加和管理用户和友谊链接设置。在添加新闻时,能够添加新闻标题、新闻内容、而新闻作者和公布时间是由系统自动获取不需要输入。
管理新闻功效包含对任一条新闻内容可作对应修改,也可删除任何一条不再需要保留新闻。管理用户包含修改用户名、密码和用户权限,也可将任一用户删除。
3.2系统模型结构
该系统结构分为三个逻辑层,具体模型结构图3.2所表示。
Web 层:Web层为用户端浏览器提供对应用程序访问,这一层是作为处理方案文件中 Web 项目实现。Web 层由 JSP 窗体和代码隐藏文件组成。Web 窗体只是用 HTML 提供用户操作,而代码隐藏文件实现多种控件事件处理程序。
业务层:包含多种业务规则和逻辑实现,如用户帐户验证和字符串处理。
用户端
浏览器
用户端
浏览器
用户端
浏览器
Web
层
业务层
数据访问层
系统配置
数据库
图3.2 新闻系统模型结构图示
数据访问层:数据访问层为业务层提供数据服务,这一层是作为处理方案文件中 Conn类(数据访问类,实现公共操作一个通用类)实现;
3.3 系统数据流图
经过对数据流向进行分析,得出该系统整个数据流图图3.3所表示。 1
用户注册
新闻输入员
网站访客
申请注册
注册成功
4
公布新闻
用户信息
3
新闻管理
新闻信息
2
用户管理
删除
修改
删除 添加
网站管理员
修改
图3.3 系统数据流图
4 系统数据库设计
本项目使用MySql Server5.0作为数据库,其中数据库名为jspcndb。包含3个实体。
4.1 实体图
①、用户E-R实体图
用户名
编号
用户实体含有用户ID、密码、用户名、用户权限等级4个属性,E-R图图3.1所表示。
用户
权限等级
密码
图3.1 用户E-R实体图
②、新闻E-R实体图
新闻标题
新闻实体含有编号、标题、内容、作者、公布时间5个属性,E-R图图3.2所表示。
新闻编号
新闻内容
新闻
公布时间
作者
图3.2 新闻实体图
③、图片E-R实体图
图片实体含有编号、名称、大小、类型等6个属性,E-R图图3.3所表示。
图片编号
图片名称
图片大小
上传时间
图片类型
上传者
图3.3 评论E-R图
4.2 数据表创建
该数据库中共包含到3个数据表应用,分别为以下:
l UserInfo:保留注册用户信息
l NewsInfo:用于存放新闻信息
l Image:用于存放上传图片信息。
①. 用户信息表
用户信息表(UserInfo)用于存放该管理系统中全部用户信息,用户管理是每个管理系统中必不可少,也是比较关键一部分,本系统中进行了较具体设计,表中各个字段数据类型、大小和简短描述如表3.1所表示。
表3.1 用户信息表
字 段 名
数 据 类 型
大 小
字 段 描 述
userID
int
4
用户ID,作为主键
username
Varchar
15
用户名
Password
Varchar
12
统计用户登陆时密码
Usertype
Varchar
2
用户权限等级
②.新闻信息表
新闻信息表(NewsInfo) 表用于存放新闻信息。因为本系统关键是用于管理校园新闻,所以在本系统中进行了较具体设计,表中各个字段数据类型、大小和简短描述如表3.2所表示。
表3.2 新闻信息表
字 段 名
数 据 类 型
大 小
字 段 描 述
NewsID
int
4
新闻编号,唯一标识
title
varChar
50
新闻标题
content
varChar
1000
新闻内容
Publisher
varChar
100
新闻公布者
Datetime
datetime
8
新闻公布时间
③.图片信息表
图片信息表(Image),用于存放上传图片信息。因为新闻信息中很多全部包含有图片,所以对图片管理也是本系统不可缺乏一部分,该表中各字段具体描述如表3.3所表示。
表3.3 图片信息表
字段名
数据类型
大小
字段描述
ImageID
int
4
图片编号(主键),自动递增
ImageName
varchar
50
图片名称
ImageInfo
Float
8
描述图片大小
ImageType
varchar
10
图片类型
ImagePublisher
varchar
50
图片上传者
ImageDatetime
datetime
8
图片上传时间时间
5 系统功效模块设计
5.1各关键窗体页图形界面介绍
◆首页:关键功效是显示网站关键风格和最新前18条新闻,显示目前时间、新闻搜索功效、和用户登录和新用户注册、新闻图片等。
◆新闻具体内容查看页:在首页里点击新闻标题所进入页面,显示目前所点击新闻具体内容,而且新闻标题以较大号字体显示,外加书名号在添加新闻时,依据所编辑新闻内容对应显示。当浏览完以后想要离开本页只关键点击页面下方“关闭窗口”按钮就能够把该页面关掉。
◆新闻输入员页面:新闻输入员只含有添加新闻权限,任何浏览者全部可注册成为新闻输入员,但新闻输入员不含有修改和删除自己所公布新闻权限,这确保了网站内容管理合理性,并不是随便全部能修改和删除。
◆新闻管理员页面:在该页面以两个Gridview显示全部注册用户信息和全部新闻信息管理员能够选择是进行用户管理还是对新闻进行管理。管理员含有系统全部权限,除添加新闻和管理新闻外,还可管理用户。对用户和新闻进行管理,包含修改用户ID和密码,删除用户,更改新闻信息,删除新闻。
5.2 Web.config文件配置
ASP.NET应用程序配置功效放在Web.config文件中,它包含每一个具体Web应用程序配置信息。在程序运行时,ASP.NET使用分层虚拟目录结构Web.config文件提供配置信息为每个惟一URL资源计算一组配置设置,然后缓存结果配置设置,以供全部页面对资源请求使用。
Web.config文件对于访问站点用户来说是不可见,而且也是不可访问,它基于XML,每个配置文件全部包含XML标识和子标识嵌套层次结构。
新闻系统Web.config文件中配置:
<appSettings><addkey="connstr"value="DataSource=localhost;database=News;integrated" /> </appSettings> 经过键/值对key 和value配置数据库连接相关信息,将SQL Server数据库News.MDF文件用相对路径方法设置为字符串"MdbPath"在程序代码中进行连接引用。
5.3 系统部分关键功效及其代码
5.3.1 Web用户控件
该系统中创建了两个Web用户控件top.ascx和foot.ascx,在首页、新闻具体内容查看、新闻管理等页面HTML代码里全部进行了引用,调用方法为:
<%@ Register TagPrefix="uc1" TagName="bottom" Src="bottom.ascx" %>
<%@ Register TagPrefix="uc1" TagName="top" Src="top.ascx" %>
@ Register指令注册用户控件,同时把属性TagName(标署名)和TagPrefix(标签前缀)添加到@ Register指令中,Src属性表示该用户控件相对于父页面相对地址。用户控件也是服务器端控件,还必需在用户控件代码中添加Runat=server属性,使用方法以下:
<uc1:top id="Top1" runat="server"></uc1:top>
<uc1:bottom id="Bottom1" runat="server"></uc1:bottom>
其中top.ascx用户控件作用是显示网站横幅和部分常见按钮和目前日期,foot.ascx用户控件作用是显示底部相关版权信息等。
用户控件是很易于代码重用,能够把很多相关功效和用户界面封装在一个用户控件中,然后在任何需要该功效地方重用此控件。
5.3.2 添加公布新闻
添加公布新闻在该系统中显然起着很关键作用,在添加新闻管理页面里,经过单击“添加”按钮实施新闻添加,“添加”按钮单击事件关键程序以下:
string publisher = Session["username"].ToString(); //获取新闻输入员用户名
//创建连接对象
string connectionString = "Data Source=.;Initial Catalog=News;Integrated Security=True";
//创建Connection连接对象objconn
SqlConnection objconn = new SqlConnection(connectionString);
//定义SQL语句,添加一条统计
string sql = "insert into NewsInfo(title,content,Publisher,Datetime)values";
sql += "('" + txttitle.Text + "','" + txtcontent.Text + "','" + publisher + "','" + DateTime.Now.ToString("yyyy-MM-dd") + "')";
//创建Command连接对象objcmd
SqlCommand objcmd = new SqlCommand(sql, objconn);
objcmd.Connection.Open(); //打开数据库连接
objcmd.ExecuteNonQuery(); //实施数据库操作
objcmd.Connection.Close(); //关闭数据库连接
5.3.3 用户注册
该系统内容是需要靠校园众多用户来丰富充实,而用户注册功效提供了给用户注册和公布新闻作用。在首页里只需点击注册按钮即可注册,注册页面里注册按钮单击事件处理程序以下:
//创建数据库连接&命令对象
string connectionString = "Data Source=.;Initial Catalog=News;Integrated Security=True";
SqlConnection objconn = new SqlConnection(connectionString);
SqlCommand objcmd = new SqlCommand("AddUser", objconn);
objcmd.CommandType = CommandType.StoredProcedure;//指明Sql操作命令是存放过程
//给存放过程添加参数
SqlParameter paramusername = new SqlParameter("@username", SqlDbType.VarChar);
paramusername.Value = txtusername.Text.ToString();
objcmd.Parameters.Add(paramusername);
SqlParameter parampassword = new SqlParameter("@password", SqlDbType.VarChar);
parampassword.Value = Pwd1.Text.ToString();
objcmd.Parameters.Add(parampassword);
objcmd.Connection.Open();//打开数据库连接
objcmd.ExecuteNonQuery();//操作数据库
objconn.Close();//关闭数据库连接
在实现注册功效时用到了存放过程,存放过程AddUser代码以下:
CREATE PROCEDURE AddUser
(@username varchar(15),@password varchar(12))
AS
IF EXISTS
(SELECT username FROM UserInfo WHERE username=@username)
RETURN 1
INSERT INTO UserInfo(username,password)VALUES(@username,@password)
RETURN 0
GO
另外,在注册页面中用到了RequiredFieldValidator(非空)、RegularExpressionValidator(正则表示式)和CompareValidator(比较)验证控件,分别用于文本输入框非空验证、由正则表示式来验证用户输入值是否正确和验证两个输入框值是否相等。
服务器端验证控件是ASP.NET控件中新产生一个验证控件,能够在用户端直接验证用户输入,但控件必需包含“runat=server”属性。正常情况下验证控件是不可见,当用户输入数据错误时它们才可见。
5.3.3 用户修改密码
为了确保用户帐号安全,系统需要设置有密码修改功效。有些人盗用她人帐号进行部分非法活动,会给帐号拥有者带来很大麻烦,有时候甚至造成很严重后果。所以,当用户发觉自己帐号密码泄露,有可能被她人指导时就需要立即到修改密码页面自己登录密码,预防恶果发生。修改密码按钮单击事件代码以下:
if (pass != cpass)
{
this.Response.Write("<script>alert('两次输入密码不一致!');</script>");
return;
txtusername.Text = "";
}
else{
//连接数据库
string connectionString = "Data Source=.;Initial Catalog=News;Integrated Security=True";//创建连接对象
SqlConnection objconn = new SqlConnection(connectionString);
SqlCommand objcmd = new SqlCommand("Changepassword", objconn); //创建command对象objcmd
objcmd.CommandType = CommandType.StoredProcedure;//使用存放过程
objcmd.Parameters.Add("@username", usetxt);
objcmd.Parameters.Add("@password", pass);//将pass保留为修改后密码
objconn.Open();
try
{
int resultrow = objcmd.ExecuteNonQuery(); //返回数据库被影响行
objconn.Close();
this.Response.Write("<script>alert('操作已成功!');</script>");
}
}
总结
为做出该新闻系统程序,访问了大量Web网络开发方面网站,搜集了大量相关Web网络开发中英文资料,也查阅了大量书籍源代码作为参考和利用,从中学会了很多ASP.NET和ADO.NET技术相关Web开发方面知识。
该系统即使能正常运行,但有功效还不是太完善,甚至有些功效很不符合逻辑。首先时间紧迫,加上本人是首次使用.net开发软件,在知识、经验方面全部存在着不足;其次是ASP.NET这门技术学习和熟练使用需要一个长久过程。
所以,系统中存在部分缺点和不足在所难免。因为在需求分析时,没有深入了解网上书店整个步骤,所以未能做到完全满足用户需求。
经过开发这个系统,我掌握了很多做项目标过程,了解到基础知识巩固了我对ASP.NET(2.0)及C#学习,但在这次设计中最大收获并不是掌握这几门开发工具应用,而是学会了设计系统思维方法,和和同学们之间相互帮助精神。
参考文件
[1] 天极网新技术研究室.ASP.NET完全入门.人民邮电出版社,.6
[2] Sanjeev Rohilla等著,陈君等译.ADO.NET专业项目实例开发.中国水利水电出版社,.5
[3] 攀建编著.ASP.NET+ADO.NET项目开发实例.清华大学出版社,.1
[4] (美)A.Russell Jones著,高春蓉等译.ASP.NET从入门到精通.电子工业出版,.1
[5] Scott Worley著,王文龙 刘湘宁译.ASP.NET技术内幕.人民邮电出版社,.4
[6] Scott Allen等著.C#数据库入门.郝启堂 张哲峰译.清华大学出版社,.2
[7] (美)微软企业著.NET框架1.1类库参考手册.清华大学出版社,.1
致谢
在整个系统设计和论文撰写过程中,得到了指导老师悉心指导,在此向她致以诚心谢意。同时,我还要感谢在这几年来对我有所教导老师,她们孜孜不倦教育不仅让我学到了很多知识,而且让我掌握了学习方法,教会了我做人处事道理,在此表示感谢。同时,在系统设计过程中还有同学也给了我不少帮助,这里一并表示感谢。
展开阅读全文