校园网站建设毕业设计.docx
《校园网站建设毕业设计.docx》由会员分享,可在线阅读,更多相关《校园网站建设毕业设计.docx(43页珍藏版)》请在冰豆网上搜索。
校园网站建设毕业设计
摘要
在Internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用。
Internet上发布信息主要是通过网站来实现的,获取信息也是要在Internet“海洋”中按照一定的检索方式将所需要的信息从网站上下载下来。
因此网站建设在Internet应用上的地位显而易见,它已成为政府、企事业单位信息化建设中的重要组成部分,从而倍受人们的重视。
为了更好的办学,提高学校知名度,特构建湖南网络工程职业技术学院网站。
关键字网站建设;校园网;CMS管理系统;SQL;ASP.NET;MicrosoftVisualStudio2005MacromediaDreamweaver8
第一章概述
1.1设计思想
通过网站,全面宣传,展示学校风采、优点与特色,发布学校的重大活动安排与招生政策,增强家长与学校之间的联系,在Internet上实现完成部分校务,提高办事效率。
1.2开发工具的选用及介绍
本网站是在visualStudio2005下采取ASP.NET技术开发的。
传统的网站新闻管理方式有两种,一是静态HTML页面,更新信息时需要重新制作页面然后上传页面并修改相应链接,这种方式因为效率太低已不多用。
二是基于ASP和脚本语言,将动态网页和数据库结合,通过应用程序来处理新闻,这是目前较为流行的做法。
但是由于ASP本身的局限性使得系统有一些不可克服的缺陷,而采取了ASP.NET技术的系统性能上有了很大的改善,其主要表现在以下几方面:
1.由于ASP页面每次打开都必须经过先编译后解释的过程,所以页面在反复打开时速度没有任何提升,而ASP.NET页面只需要一次编译后不需要重新编译,直到该页面被修改或Web应用程序重新启动。
这使得在多次访问时速度有了极大的提升。
2.由于ASP没有提供任何输出数据为内容的元件,所以在使用ASP撰写数据库页面时只能借助ADO的RecordSet对象逐笔读取记录,而ASP.NET通过ADO.NET提供的DataGrid等数据库元件可以直接和数据库联系。
3.ASP.NET支持应用程序的实时更新。
管理员不必关掉网络服务器或者甚至不用停止应用程序的运行就可以更新应用文件。
应用程序文件永远不会被加锁,因此甚至在程序运行时文件就可以被覆盖。
当文件更新后,系统会温和地转换到新的版本。
4.ASP.NET采取"code-behind"方式编写代码使得代码更易于编写,结构更清晰,降低了系统的开发与维护的复杂度和费用。
1.3ASP.NET访问数据库的原理
与数据库相连,ASP.NET提供了如下3种方式:
通过ODBC相连;通过OLEDB相连;直接与SQLServer相连。
3种方式由于应用层次的差异,使得效率由低到高,独立性由高到低。
对于相连数据库的数据处理,也有2种方式,即一种是通过DataSet来隔离异构的数据源,另一种是以流方式从数据源读取(DataReader方式)。
传统的应用程序是通过先建立到数据库的连接,在程序的整个运行过程中维护连接的方式来设计的。
ASP.NET采取了断开连接方式的数据结构。
当浏览器向Web服务器请求网页时,服务器处理这个请求,并将所请求的网页发送给浏览器,然后连接就被断开,直到浏览器发出下一个请求。
ADO.NET的另一个创新是引入了数据集(Dataset)。
一个数据集是内存中提供数据关系图的高速缓冲区。
数据集对数据源一无所知,它们可以由程序或通过从数据仓库中调入数据而被生成、填充。
不论数据从何处获取,数据集都是通过使用同样的程序模板而被操作的,并且它使用相同的潜在的数据缓冲区。
第二章系统分析
2.1需求分析
立足于校园实际,着眼于未来发展,建成符合标准化协议、通用性较强、实用的网站系统,以提高网络现代化管理水平,实现信息资源的共享。
现在校园网是由静态html、基于asp和脚本语言相结合的网站,对其管理操作繁琐,效率低。
通过升级,运用ASP.net将其整合,使其管理操作方便,效率更高、更容易开发和修改。
从而实现:
1、增强性能。
ASP.net是在服务器上运行的编译好的公共语言运行库代码。
与被解释的前辈不同,ASP.net可利用早期绑定、实时编译、本机优化和核外缓存服务。
这相当于在编写代码之前便提高了性能。
2、提高威力和灵活性。
由于ASP.net基于公共语言运行库,因此Web应用程序开发人员可以利用整个平台的威力和灵活性。
.NET框架类库、数据访问解决方案都可以从Web无缝访问。
3、提高简易性。
ASP.net使执行常见任务变得容易,从简单的窗体提交和客户端身份验证到部署和站点配置。
4、提高可管理性。
ASP.net采用基于文本的分层配置系统,简化了将设置应用与服务器环境和Web应用程序。
由于配置信息以纯文本形式存储的,因此可以在没有本地管理工具帮助的情况下应用新设置。
4、提高可缩放和可用性。
ASP.net在设计时考虑了可缩放性,增加了专门用于在聚集环境和多处理器环境中提高性能的功能。
5、提高自定义和可扩展性。
ASP.net中,可以用自己编写的自定义组件扩展或替换ASP.net运行库的任何子组件。
6、提高安全性。
借助内置的Windows身份验证和基于每个应用程序的配置,可以保证应用程序是安全的。
2.2网站及系统目标设计
网站开发的总目标是运用ASP.net将网站整合,使其管理操作方便,效率更高、更容易开发和修改。
能够在CMS系统中对用户进行注册登记,分配用户的权限,对用户进行锁定和解锁等管理。
能够添加管理类别,类别支持四级联动。
能够添加管理类别内容,包括标题、图片、内容、发布者、是否审核、添加时间等信息。
能够对文件管理和数据库的备份和还原。
提供方便的查询方法。
如:
标题、内容等信息进行信息检索。
提供较为完善的差错控制与友好的用户界面,尽量避免误操作。
2.3网站前台各栏目模块设计
网站前台包括:
首页、学院概况、新闻中心、教育教学、学团风采、系部设置、招生就业、思政党建、科研督导、后勤服务。
其栏目模块图,如图2.1所示:
图2.1网站栏目模块
2.4网站管理系统CMS各功能模块设计
网站管理系统CMS包括:
网站常规管理、栏目分类管理、栏目内容管理、用户权限管理。
其栏目模块图,如图2.2所示:
图2.2网站后台管理系统栏目模块
2.5数据流图
(1)文件信息编辑及查询,如图2.3所示:
图2.3图文件信息编辑及查询
说明:
此项只有超级管理员才可以操作。
可以浏览整个网站的文件及结构,添加和编辑文件。
(2)数据备份还原,如图2.3所示:
图2.3图数据备份还原
说明:
输入备份数据库名单击开始备份即可进行备份,不要轻易进行还原操作。
(3)栏目分类添加及编辑,如图2.4所示:
图2.4栏目分类添加及编辑
说明:
管理员根据自己的权限对相应的类进行管理,分类目前只支持四级。
(4)栏目内容添加及编辑,如图2.5所示:
图2.5栏目内容的添加及编辑
(5)用户权限的添加及编辑,如图2.6所示:
图2.6用户权限的添加及编辑
说明:
管理员可以修改自己的密码,超级管理员可以添加管理员和管理成员并对管理员进行权限分配。
第三章数据库设计
3.1数据库需求分析
经需求和分析,针对本网站的需求和对CMS系统图的分析,设计如下的数据项和数据结构
分类信息:
包括编号,编码,父编码,类型,名称,显示名称,前台链接,后天链接,是否回收。
新闻信息:
包括编号,标题,图片,类别名称,类别编码,内容,发布者,发布日期,点击率,是否审核,是否回收,标识。
评论信息:
包括编号,标题,新闻编号,新闻标题,评论内容,评论者,评论日期。
概况信息:
包括编号,标题,图片,类别名称,类别编码,内容,发布者,发布日期,是否审核,是否回收,标识。
部门信息:
包括编号,标题,图片,链接,内容,发布者,发布日期,是否审核,是否回收。
友情链接信息:
包括编号,标题,图片,链接,内容,发布者,发布日期,是否审核,是否回收。
用户信息:
包括编号,用户名,密码,是否锁定,注册日期,最后登录日期,登录次数,标识。
用户权限信息:
包括编号,用户编号,类型,类别编码,权限说明,标识。
备份还原信息:
包括编号,备份名称,备份路径,备份日期,还原日期。
3.2数据库结构设计
数据库设计有几个范式,一般我们要做到的是第三范式,即数据表中没有冗余字段以及同一个表中的字段没有函数依赖关系,,函数依赖性就是一个表中的字段间不应该有计算关系,如一个表中有单价字段、数量字段,就不应该有一个总金额字段。
如果程序运行过程中需要总金额,可以实时计算。
不过在一些较常用的表中,我们可以适当地保留冗余字段,这样,在程序运行过程中可以减少由于表间互相关联而使用速度降低等问题。
这就是所谓的第四范式。
数据表设计时,最好不要使用用户输入的信息作为主键,每一个数据表自己定义一个主键,添加信息是由程序自动添加,这样就可以减少数据更新时产生的错误。
表与表相关联的外键最好是由程序自动生成的主键,这样数据库就比较规范了。
数据库初期设计时一定要谨慎,把所有可能的情况都考虑进去,即使当时没有用到,也要将它留在数据库中作为备用字段以便将来扩充。
程序一旦开始编码,就应该尽量避免再修改数据库。
因为如果数据库结构一旦改变,所有与修改的数据表相关的业务都有可能受到影响,而某些影响还很难看到,这样就容易形成一个恶性循环。
错误越改越多,越改越乱,最终导致程序的失败。
图书管理系统数据库中各个表的设计结果如下面几个表格所示。
1.分类信息表,如表3.1
说明:
编号设为主键.
表3.1分类信息表
字段
类型
字段大小
允许空字符串
编号
int
4
自动生成
编码
varchar
50
否
父编码
varchar
50
否
类型
varchar
20
是
名称
varchar
50
是
显示名称
varchar
50
是
前台链接
varchar
100
是
后天链接
varchar
100
是
是否回收
nvarchar
2
是
2.新闻信息表,如表3.2
说明:
编号设为主键,类别编码设为外键。
表3.2新闻信息表
字段
类型
字段大小
允许空字符串
编号
Int
4
自动生成
标题
varchar
200
否
图片
varchar
50
是
类别编码
varchar
50
否
内容
ntext
16
是
发布者
varchar
50
是
发布日期
datetime
8
是
点击率
Int
4
否,默认为1
是否审核
nvarchar
1
否,默认为1
是否回收
nvarchar
1
否,默认为1
3.评论信息表,如表3.3
说明:
标号设为主键,新闻编号设为外键。
表3.3评论信息表
字段
类型
字段大小
允许空字符串
编号
int
4
自动生成
标题
varchar
200
否
新闻编号
int
4
否
新闻标题
varchar
200
是
评论内容
ntext
16
是
评论者
varchar
20
是
E-mail
varchar
100
是
评论日期
datetime
8
是
4.概况信息表,如表3.4
说明:
编号设为主键,类别编码设为外键。
表3.4概况信息表
字段
类型
字段大小
允许空字符串
编号
int
4
自动生成
标题
varchar
200
否
图片
varchar
50
否
类别名称
Varchar
50
是
类别编码
Varchar
100
是
内容
ntext
16
是
发布者
varchar
50
是
发布日期
datetime
8
是
是否审核
varchar
1
否,默认为1
是否回收
varchar
1
否,默认为1
5.部门信息表,如表3.5
表3.5部门信息表
字段
类型
字段大小
允许空字符串
编号
int
4
自动生成
标题
varchar
100
否
图片
varchar
200
是
链接
varchar
200
否
内容
ntext
16
是
发布者
varchar
50
是
发布日期
datetime
8
是
是否审核
varchar
1
否,默认为1
是否回收
varchar
8
否,默认为1
6.友情链接信息表,如表3.5
说明:
编号设为主键。
表3.5友情链接信息表
字段
类型
字段大小
允许空字符串
编号
int
4
自动生成
标题
varchar
100
否
图片
varchar
200
是
链接
varchar
200
否
内容
ntext
16
是
发布者
varchar
50
是
发布日期
datetime
8
是
是否审核
varchar
1
否,默认为1
是否回收
varchar
8
否,默认为1
7.用户信息表,如表3.6
说明:
用户名为主键
表3.6用户信息表
字段
类型
字段大小
允许空字符串
编号
int
4
自动生成
用户名
varchar
50
否
密码
varchar
50
否
是否锁定
varchar
18
否
注册日期
datetime
8
是
最后登录日期
datetime
8
是
登录次数
int
4
是
标识
int
4
是,默认为1
8.用户权限表,如表3.7
说明:
编号为主键
表3.7用户权限表
字段
类型
字段大小
允许空字符串
编号
int
4
自动生成
用户编号
int
4
否
类型
nvarchar
20
是
类别编码
nvarchar
50
否
权限说明
nvarchar
200
是
标识
int
2
是
3.2数据库关系图
第四章网站前台的具体实现
4.1网站前台开发的基本步骤
创建页面和使用ASP.NET应用程序大致可分为四个步骤:
(1)建立网站页面。
(2)设置属性。
(3)编写代码。
(4)保存和运行程序。
4.2具体页面的实现
(1)首页(index.aspx)
本网站采用div+css布局,布局新颖,打破了以往的方正结构,如国字型。
首页简介大方,以绿色为主色调,象征着青春活力,充满着勃勃生机。
首页名为:
index,首页界面如图4.1所示:
图4.1首页界面
主要代码如下:
//绑定校园新闻
stringsql="selecttop8*fromtb_newswherenews_class_codein('L0202','L0203','L0204','L0205')andnews_check='1'andnews_recyle='1'";
this.GridView1.DataSource=access.GreatDs(sql);
this.GridView1.DataBind();
//绑定最新公告
newsmanage.News_Class_Code="L0206";
DataSetnewsds=newsmanage.FindNewsByClass(newsmanage,"tb_news");
this.GridView2.DataSource=newsds;
this.GridView2.DataBind();
(2)二级页面(Default.aspx)
二级页面有学院概况,新闻中心等页面,页面default依据类别编码显示对应的内容。
二级页面名为:
Default,二级页面界面如图4.2所示:
图4.2二级页面界面
主要代码如下:
#region按类别显示新闻
PagedDataSourceps=newPagedDataSource();
newsmanage.News_Class_Code=Request["right_code"].ToString();
stringsql1="select*fromsys_rightwhereright_code='"+Request["right_code"].ToString()+"'";
DataTabledt=newDataTable();dt=access.GreatDs(sql1).Tables[0];
if(dt.Rows.Count>0){this.Label1.Text=Label2.Text=dt.Rows[0]["right_text"].ToString();}
stringsql="select*fromtb_newswherenews_class_code='"+Request["right_code"].ToString()+"'andnews_check='1'andnews_recyle='1'";
SqlDataAdapteradp=newSqlDataAdapter(sql,con);
DataSetds=newDataSet();
adp.Fill(ds,AspNetPager1.PageSize*(AspNetPager1.CurrentPageIndex-1),AspNetPager1.PageSize,"tb_news");
ps.DataSource=ds.Tables["tb_news"].DefaultView;ps.AllowPaging=true;
ps.PageSize=10;this.rpt_news.DataSource=ds.Tables["tb_news"];
this.rpt_news.DataBind();
#endregion
(3)三级页面(onews.aspx)
三级页面依据二级页面的传值显示详细内容,新闻页面可以对新闻发表评论。
三级页面名为:
onews,三级页面界面如图4.3所示:
图4.3图书入库窗体界面
主要代码如下:
#region显示新闻内容
newsmanage.News_Id=Convert.ToInt32(Request["news_id"].ToString());
DataTabledt=newDataTable();
dt=newsmanage.FindNewsByID(newsmanage,"tb_news").Tables[0];
sPagesTitle=this.lblTile.Text=dt.Rows[0]["news_title"].ToString();
this.lblAuthor.Text=dt.Rows[0]["news_author"].ToString();
this.lblTime.Text=dt.Rows[0]["news_time"].ToString().Substring(0,9);
this.lblHit.Text=dt.Rows[0]["news_hit"].ToString();
this.lblConent.Text=dt.Rows[0]["news_content"].ToString();
#endregion
4.3结果分析
以上是“网站前台”开发的主要过程,前台总共只有4个页面,但4个页面的集成度很高,一个页面具有多种功能。
后台每添加一个类或内容都会绑定当前台相应的页面上。
二级页面里的类别是于数据库动态绑定的,包括显示内容和链接地址等都可以在后台动态添加和修改。
校园风光一栏采用JS+CSS+DIV实现了图片展示的动感效果。
当然还存在许多的不足:
不够美观,实用性、灵活性还不是很好等。
第五章网站管理系统CMS的具体实现
5.1ASP.NET应用程序开发的基本步骤
创建和使用VB.NET应用程序大致可分为四个步骤:
(1)建立应用程序页面。
(2)设置属性。
(3)编写代码。
(4)保存和运行程序。
5.2类结构的实现
图5.1类结构图
5.3具体页面的实现
(1)登录页面(Login)
.net程序由一个应用程序开始,即每个.net程序在开始运行时,先执行应用程序对象的Load事件。
通过调用database类连接数据库。
本窗口主要是检查操作员输入的用户名、密码及验证码是否正确,如果正确,允许登录进入到主菜单页面。
如果错误,显示出错误提示。
填写“用户名”、“密码”与选择“验证码”后,点击“登录”按钮进行验证,点击“取消登录”退出。
登录页面名为:
Login,登录页面界面如图5.2所示:
图5.2登录页面界面
主要代码如下:
if(txtAdmin.Text==string.Empty)
{Response.Write("");
return;}
else
{DataSetadminds=null;
adminmanage.Name=this.txtAdmin.Text;
adminmanage.Pwd=this.txtPwd.Text;
adminds=adminmanage.Login(adminmanage);
if(adminds.Tables[0].Rows.Count>0&&this.txtCode.Text.Trim()==Convert.ToString(Request.Cookies["CheckCode"].Value))
{if(adminds.Tables[0].Rows[0]["user_islock"].ToString()=="unlock")
{Session["Name"]=txtAdmin.Text;
Session["id"]=adminds.Tables[0].Rows[0]["user_id"].ToString();
Response.Redirect("index.html");}
else
{Response.Write("");}}
elseif(this.txtCode.Text.Trim()!
=Convert.ToString(Request.Cookies["CheckCode"].Value))
{Response.Write("");
this.txtCode.Text=string.Empty;
this.txtPwd.Focus();}
else
{Response.Write("