1、安徽财贸职业学院毕业论文摘 要随着计算机及网络技术的飞速发展,internet应用在全球范围内日益普及,在众多的网络服务中,web给人耳目一新的感觉,而在这其中,网站已经日益普及,而且发展到今天,已经成为任何人在网络所提供的平台上进行个性展示的新型方式。在众多网络开发技术中,html是一种重要的基本开发技术,而asp技术是当前相当热门,它可以进行复杂的数据库、很强的交互性以及方便用户控制管理。个人网站正式当今技术发展的产物,它是一套用html,asp开发的能在网上进行的访问的页面,此论文主要阐述的就是使用html,asp技术的开始。该网站包括后台管理系统,文章管理系统,它们是该网站的重要组成部
2、分,网站的维护是是一项琐碎、复杂而又十分细致的工作。通过后台管理系统可以方便的对网站的各个模块进行维护工作,实现网站管理维护的系统化、规范化和自动化。即使是没有接触过网络维护的人也可以一看就会,一看就懂。本系统采用的是先进的.NET开发平台,运用全新的面向对象语言C#,以ASP.NET为工具,利用SQL Server 2005做后台,构建了3层B/S模式架构。关键词:个人网站 三层结构 ASP.NETAbstractAlong with the computer and the rapid development of network technology, Internet applicat
3、ion and popularization in the global scope, in a large number of network services, web gives person find everything fresh and new feeling, but in this one, web sites have become more and more popular, but also to the development of today, has become anyone in the network provides a platform for pers
4、onalized display new. In many of the development of network technology, html is one of the important basic technology, and ASP technology is currently quite popular, it can be a complex database, strong interactive and user-friendly control management. Personal website officially in todays technolog
5、ical development product, it is a set of HTML, ASP development can be carried on the Internet to access the page, this paper is using the HTML, ASP technology start. The site includes the backstage management system management system, the article management system, which is the site of important con
6、stituent, the website maintenance is a trivial, complex and very meticulous work. Through the backstage management system management system can be convenient for the site of the modules for maintenance work, realizes the website management maintenance systematization, standardization and automation.
7、 Even if there is no contact network maintenance person can at will, one can understand it.The system adopts advanced NET development platform, the use of new object-oriented language C #, using SQL Server 2005 as background, building 3 layer B / S modelKey words: personal website in three layers of
8、 structure ASP.NET目 录第1章 系统分析- 1 -1.1博客的背景- 1 -1.2系统开发工具- 1 -本系统采用ASP.NET开发技术进行开发。ASP.NET不仅仅是ASP的一个新版本,更是Web应用程序编程方面的一个全新的概念和方法。ASP.NET中的新功能并不是对ASP的改进,设计它的初衷是为用户入境提供最佳的应用程序架构。它相比于ASP有着以下几个方面的优点:- 1 -(1)多语言- 1 -ASP曾在脚本引擎方面受到了限制,特别是VBScript和Jscript。而ASP.NET则支持多种语言,默认情况下为Visual Basic.NET、C#和Jscript.NET
9、,另外还支持一些第三方语言。- 1 -(2)服务器处理- 1 -ASP在服务器处理上不管页面的内容是纯HTML还是ASP生成的HTML,它都是按照实现,形成所谓3-tier页面顺序显示的。因此逻辑代码依赖于它在页面中的位置,并且无法将HTML控件作为目标,除非将它们作为流的一部分进行显示。而ASP.NET就解决了这个问题,方法是为控件引入一个声明的基于服务器的模型,因为控件在服务器上有,可以在服务器上编程,也可以是客户端驱动的事件。- 1 -(3)Web Form控件- 1 -将现有的HTML控件转换为服务器端的控件是比较容易的,但是也存在一些不方便,例如比较难于区分HTML控件和服务器端的控
10、件。于是Microsoft公司就创建了一组专门的服务器控件,它们都用asp:前缀标识。- 2 -(4)代码与内容分离- 2 -一个网站的设计与开发往往由不同的人来实现的,而ASP中就是存在着这样一个问题,代码(ASP脚本)和内容(HTML)混合在一起。这样就使得同时进行设计和开发变得很困难。而ASP.NET则采用了代码内联和后台编码两种方法实现了代码与内容的分离。- 2 -1.3 NET开发平台的简介- 2 -1.3.2集成开发工具Visual Studio.Net- 2 -第2章 系统的总体规划和概要设计- 4 -2.1 系统总体目标- 4 -2.2 系统工作流程- 4 -2.3个人网站系统
11、功能模块- 5 -2.3.1 前台功能模块- 5 -2.3.2 后台管理功能模块- 6 -第3章 数据层的设计与实现- 7 -3.1 数据库逻辑结构设计- 7 -第4章 系统设计与实现- 10 -4.1 服务器端用户控件设计- 10 -4.2网站首页设计- 10 -4.3日志页面设计- 12 -4.4留言板页面设计- 16 -4.5后台登陆页面设计- 17 -第5章 总结- 19 -总结- 19 -感受- 19 -谢 辞- 20 -参考文献- 21 - 21 -第1章 系统分析1.1博客的背景随着计算机技术的发展和普及,blog得到了极大的发展。Blog,是Weblog的简称。blog是一种新
12、的生活方式、新的工作方式、新的学习方式和交流方式。它是继E-mail、BBS、ICQ、之后出现的第4种网络交流方式。Blog主要应用于3个方面:一是新的人际交流方式;二是以个人为中心的信息摘选和知识管理;三是以个人为中心的传播出版。blog作为个人的一种学习工具,简单易用,吸引人的兴趣。Blog在教育方面得到了很大的发展,它将互联网从过去的通讯功能,资料功能、交流功能等进一步强化,使其更加个性化、开放化、实时化、全球化,把信息共享发展到资源共享、思想共享、生命历程共享。Blog已经成为一种继课件、积件、资源库、教育主题网站等信息化教学模式之后,新的网络应用模式。它是应时代的需求而兴起的,也是应
13、时代需求不断进步的。1.2系统开发工具 本系统采用ASP.NET开发技术进行开发。ASP.NET不仅仅是ASP的一个新版本,更是Web应用程序编程方面的一个全新的概念和方法。ASP.NET中的新功能并不是对ASP的改进,设计它的初衷是为用户入境提供最佳的应用程序架构。它相比于ASP有着以下几个方面的优点: (1)多语言ASP曾在脚本引擎方面受到了限制,特别是VBScript和Jscript。而ASP.NET则支持多种语言,默认情况下为Visual Basic.NET、C#和Jscript.NET,另外还支持一些第三方语言。(2)服务器处理ASP在服务器处理上不管页面的内容是纯HTML还是ASP
14、生成的HTML,它都是按照实现,形成所谓3-tier页面顺序显示的。因此逻辑代码依赖于它在页面中的位置,并且无法将HTML控件作为目标,除非将它们作为流的一部分进行显示。而ASP.NET就解决了这个问题,方法是为控件引入一个声明的基于服务器的模型,因为控件在服务器上有,可以在服务器上编程,也可以是客户端驱动的事件。(3)Web Form控件将现有的HTML控件转换为服务器端的控件是比较容易的,但是也存在一些不方便,例如比较难于区分HTML控件和服务器端的控件。于是Microsoft公司就创建了一组专门的服务器控件,它们都用asp:前缀标识。(4)代码与内容分离一个网站的设计与开发往往由不同的人
15、来实现的,而ASP中就是存在着这样一个问题,代码(ASP脚本)和内容(HTML)混合在一起。这样就使得同时进行设计和开发变得很困难。而ASP.NET则采用了代码内联和后台编码两种方法实现了代码与内容的分离。1.3 NET开发平台的简介根据微软的定义:.NET is a“revolutionary new platform,built on open Internet protocols and standards,with tools and services that meld computing and communications in new ways”,即:.NET = 新平台 +
16、标准协议 + 统一开发工具。.NET代表一个集合,一个环境,一个可以作为平台支持下一代Internet的可编程结构。 最终目的是让用户在任何地方、任何时间,以及利用任何设备都能访问所需的信息、文件和程序。.NET平台主要包括四个部分的内容:低层操作系统、.Net企业服务器、.Net框架和集成开发工具Visual Studio.Net。1.3.1 数据库简介SQL Server 2000:SQL Server 提供完善数据处理功能。包含数据挖掘,XML的直接Internet支持。目前在Windows CE中推出了SQL Server 2000 Windows CE Edition。Commerc
17、e Server 2000用于快速创建在线电子商务。Mobile Information Server为移动信息解服务器提供可靠而且具有伸缩性的平台。1.3.2集成开发工具Visual Studio.Net微软将她的全部开发工具都集成在Visual Studio.Net中,在Visual Studio.Net中可以用C#语言、C+语言、Basc语言、J#语言开发。可以开发桌面应用程序、Web应用程序、智能设备应用程序等。NET能做什么?为Internet网络和分布式应用程序的开发提供一个新的开发平台。 简化应用程序的开发和部署,为构建Web Service提供一个标准平台,改善系统和应用程序之
18、间的交互性和集成性。使应用程序对任何设备都能够进行访问。C#在微软.Net平台上,C#语言是开发的主要语言。C# 是由Microsoft开发的一种新型编程语言,它是从C和C+ 中派生出来的,因此具有C+的功能。由于是Microsoft公司的产品,它又同VB一样简单。对于web开发而言,C#类似Java开发语言,同时又具有Delphi的一些优点。所以Microsoft宣称:C#是开发.NET框架应用程序的最好语言。.NET平台将 C#作为其固有语言,重温了许多Java的技术规则。C#中也有一个虚拟机,叫做公用语言运行环境(CLR),它的对象也具有同样的层次。但是 C#的设计意图是要使用全部的Wi
19、n32 API甚至更多。由于C#与 Windows的体系结构相似,因此 C# 很容易被开发人员所熟悉。 第2章 系统的总体规划和概要设计2.1 系统总体目标本系统的开发主要目标为:用户信息管理模块的实现:即基本信息、个人日志的游览、FLASH、个人相册、留言板。系统管理模块:管理员的登录、个人信、FLASH、相册的增加、修改、和删除。2.2 系统工作流程系统分为前台普通用户界面和后台管理界面。在前台子系统用户可以查看个人信息、相册、FLASH、日志、留言板。后台子系统供内部管理人员使用,可以进行个人信息、相册、FLASH、日志、留言板的增删改查操作。系统工作流程可以用图2-1形象描述如下:首页
20、个人档日志相册后台管理浏览编辑添加博客维护分类修改我的信息博客维护留言板Flash查看编辑图2-1系统工作流程图个人档:版主的个人信息简介编辑与浏览。留言板:游客为版主留言。日志:版主的心情寄语的查看与编辑。Flash:版主的个人视频。相册:版主上传的相册。后台:提供博客模块的添加、维护、修改。2.3个人网站系统功能模块下图2-3对部分模块进行解释染指流年的博客系统功能模块前台模块后台模块链接网页广告信息博客信息评 论浏 览收 藏编 辑评 论添 加删 除添加博客维护分类个人信息博客维护删除信息添加信息照 片姓 名性 别年 龄个人说明图2-2 功能模块图前台模块:为游客为本博客提供浏览、评论的平
21、台。后台模块:为版主对博客进行增加、修改、与维护的2.3.1 前台功能模块当登录了染指流年博客,在前台主页你可以浏览和查看自己发表的信息,同时也可以看到最新日志和最新留言、FLASH、个人资料。你也可以通过评论或浏览中的评论对他人发表的信息进行点评和发表自己的不同观点,同时你可以通过编辑功能对自己或他人的信息进行信息管理,比如删除某条信息或发表新的信息等。当然如果你看到自己喜欢的文章或信息,你也可以通过收藏的功能把它放在自己收藏夹里。2.3.2 后台管理功能模块 添加博客功能模块 用户可以通过这项功能发表新的信息,你可以对信息的内容进行编辑,如字体大小、样式等,还可以为自己发表的信息进行归类,
22、为信息选择符合自己的标题名称。你也可以通过置顶功能设置是否把信息放到所有信息的最前端,也可以设置是否在主页显示自己发表的内容。维护分类功能模块在这项功能里,你可以添加或删除信息的标题,对标题进行更新和分类。修改我的信息功能模块这项功能主要是针对用户个人信息设置而设的,用户可以通过这项功能对自己的头像、用户姓名、年龄、性别进行修改并更新,同时还可以对自己的个人说明进行更新。博客维护功能模块在这个功能里用户可以对自己博客的博客名、博客标题、博客网址、博客版权信息、博客备案信息进行修改和更新。第3章 数据层的设计与实现3.1 数据库逻辑结构设计图3-1为留言表(liuyan)表3-1留言表留言表(l
23、iuyan):用来存储留言信息,主键为产品序号tid,还有昵称,QQ号码,电子邮件,主题,内容,时间,其中主键字段默认值都为1。图3-2为个人信息表(userinfo)表3-2个人信息表myself(个人信息表):用来存储用户的详细信息,主键为用户序号userid,另外还有用户名,口令,E-mail,用户姓名,性别,电话,家庭地址等字段。图3-3为flash(动画表)表3-3 flash表Flash(动画表):用来盛放动画,主键为id,另外还有所属类的编号,主题,日期浏览人数。图3-4为学校信息表(school).表3-4学校信息表school(学校信息表):用来存放学校信息,主键为id,另外
24、还有成立时间,学校名称等。第4章 系统设计与实现4.1 服务器端用户控件设计(1)用户控件:用户控件是能够在其中放置标记和 Web 服务器控件的容器。然后,可以将用户控件作为一个单元对待,为其定义属性和方法。(2)自己设计的用户控件。本网站的页面主要是通过模板设定的,大部分网页都是添加的统一模板,在创建母版页时,需要将页面公共部分存储于母版页中,例如,页面公用的页头、页尾等,而页面非公共部分则使用ContentPlaceHolder控件实现占位。然后网页中需添加的内容再根据不同的用途在ContentPlaceHolder控件中设定,如进行数据绑定、表格建立等。4.2网站首页设计下面所示为我的主
25、页面的截图:图5-1首页我的首页设计以及代码简介:1.色彩的选择,因为我的网页主要采用深蓝色和灰色,模仿空间的版式。 2.布局设计,我的布局整体模式是右边:导航。中间:信息内容显示区,右边:protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) string sql = select top 11 substring(title,1,15)as title,id,reads,type from logs order by id desc; DataList1.DataSource = SQLcs.GetData
26、Set(sql).Tables0.DefaultView; DataList1.DataKeyField = id; DataList1.DataBind(); sql = select top 5 substring(title,1,24)as title from liuyan order by id desc ; dlliuyan.DataSource = SQLcs.GetDataSet(sql).Tables0.DefaultView; dlliuyan.DataBind(); sql = select top 2 id,title,url from photo order by i
27、d desc; sql = select top 8 id,substring(title,1,24)as title from flash order by id desc; dlflash.DataSource = SQLcs.GetDataSet(sql).Tables0.DefaultView; dlflash.DataKeyField = id; dlflash.DataBind(); mail = SQLcs.Getfield(select mail from myself, mail); qq = SQLcs.Getfield(select qq from myself, qq)
28、; msn = SQLcs.Getfield(select msn from myself, msn); 4.3日志页面设计下面是日志页面的设计界面截图:图5-2日志页面我的日志页面设计及功能实现:1.色彩的选择,主要采用深蓝色和灰色。2.布局设计方面和主页大同小异,但主要是文字的展示。protected void Page_Load(object sender, EventArgs e) try type = Requesttype; catch throw; if (!IsPostBack) string sql = select a.type ,count(b.type)as total
29、 from types a,logs b where a.type=b.type group by all a.type order by 2 desc; dltype.DataSource = SQLcs.GetDataSet(sql).Tables0.DefaultView; dltype.DataKeyField = type; dltype.DataBind(); if (type = null | type = ) sqltype = select * from logs order by id desc; Bind(sqltype); else sqltype = select *
30、 from logs where type= + type + order by id desc; Bind(sqltype); sqltype1 = select * from logs where id in(select lid from review) ; Bind1(sqltype1); / / 分页数据源绑定 / / SQL语句 protected void Bind(string sql) int curpage = Convert.ToInt32(ltcurpage.Text); PagedDataSource ps = new PagedDataSource(); ps.Da
31、taSource = SQLcs.GetDataSet(sql).Tables0.DefaultView; ps.AllowPaging = true; lttotal.Text = ps.DataSourceCount.ToString(); ps.PageSize = 15; ps.CurrentPageIndex = curpage-1; lttotalpage.Text = ps.PageCount.ToString(); lbfirst.Enabled = true; lbup.Enabled = true; lbdown.Enabled = true; lblast.Enabled
32、 = true; if (curpage = 1) lbfirst.Enabled = false; lbup.Enabled = false; if (curpage = ps.PageCount) lblast.Enabled = false; lbdown.Enabled = false; dllogsed.DataSource = ps; dllogsed.DataKeyField = id; dllogsed.DataBind(); protected void lbfirst_Click(object sender, EventArgs e) ltcurpage.Text = 1;
33、 Bind(sqltype); protected void lbup_Click(object sender, EventArgs e) ltcurpage.Text = (Convert.ToInt32(ltcurpage.Text) - 1).ToString(); Bind(sqltype); protected void lbdown_Click(object sender, EventArgs e) ltcurpage.Text=Convert.ToString(Convert.ToInt32(ltcurpage.Text)+1); Bind(sqltype); protected
34、 void lblast_Click(object sender, EventArgs e) ltcurpage.Text = lttotalpage.Text; Bind(sqltype); / / 以下为最新回复 / 4.4留言板页面设计private void CreateConn() string strConn = Data Source=.;Database=WebZone;uid=sa;pwd=123456;/链接字符窜 conn = new SqlConnection(strConn);/实例化链接对象 conn.Open();/打开链接 protected void btne
35、nable_Click(object sender, EventArgs e) Response.Write(留言成功);图5-3留言板页面4.5后台登陆页面设计下面是后台登陆的设计界面截图:图5-4后台登陆首页我的后台登陆页面设计:1.色彩的选择,因为后台页面主要是针对管理员的,我个人比较喜欢比较清淡的颜色,所以我在颜色上主要用了灰色。2.布局设计,我的布局整体模式是居中,比较引人注目。protected void lbtlogin_Click(object sender, EventArgs e) string uid = txtuid.Text.Trim(); string pwd =
36、txtpwd.Text.Trim(); pwd = AdminCs.MD5Pwd(pwd); ltuid.Text = null; ltpwd.Text = null; if (AdminCs.CheckLogin(uid, uid, CheckUid) if (AdminCs.CheckLogin(uid,pwd,uid, pwd, CheckPwd) Sessionlogin = 1; Response.Redirect(frame.aspx, true); else ltpwd.Text =密码错误; else ltuid.Text=账号不存在; 第5章 总结总结动态网站的的设计,不仅仅
37、是具有网页制作的基础知识就能实现的,他需要熟练掌握Asp.Net。动态网页不是一门简单的艺术,它是多种艺术的总和,需要设计出漂亮实用的个人网站,必须掌握各种网页制作技术,包括html,等等知识,但最重要的要有系统的科学理论作为指导,随着人们对网络信息所取的日益增多,相信个人网站技术也会不断发展,技术也会日益成熟。在制作过程中遇到很多功能不知道怎么实现,很多代码忘记或不是很熟悉了,通过翻阅资料和寻求他人的帮助来解决此类问题,还有由于时间的紧迫,个人能力的有限,在这个系统中还有一些功能没有实现,对代码掌握的还不是那么完善,对此需要个人的等待,等以后进一步的对系统学习和加以研究,再逐步完善这个系统。
38、感受在本次毕业设计中,我学习到了很多东西,我发现了自己学过的知识并不是十分牢固,所以在今后的学习中我要几倍的努力学习。同时在做毕业设计的时候也等同玉对以前知识的复习,这是非常好的,这个可以让自己对以前学习的知识理解的更加的透彻,这让我感觉非常的好。说了这么多,马上自己就要毕业了,这让我现在非常的还念起了大雪3年的美好时光,想起和自己的同学在一所大学读书,在一个教室上课,自己的感受颇深,想起以前做过的点点滴滴的,想象自己以后工作的情形,我想我一定会非常的想念大学的快乐时光。现在大家都要毕业了,就像鸟儿一样各自飞走,但是我想大家永远都忘不了那段快了的经历。在那段时间中,大家一起开心,可能当时大家也
39、有过不愉快,但我想那已经随风飘走了,大家留在心理面的只有快乐,多年以后,当大家从新见面的时候,我现在想象那个画面都非常的激动。谢 辞自己能学会ASP.NET,并且能制作出动态个人网站,我衷心的感谢汪永涛老师,是他讲我带入网站制作的行列来!是他教会了我各种关于ASP.NET的前台、后台管理知识,是他们让我学会了很多为人处事的道理。衷心的感谢能在百忙之中参加本人毕业答辩的个人老师,谢谢你们的批评与指正。本热是在老师得悉心指导和帮助下完成的。在论文的写作过程中,老师对论文主题的确立、结构的搭建、写作方法、写作规范等方方面面提出了详尽、中肯的意见和指导,这些对于论文的完成是不可或缺的。通过老师得指导,
40、本人对所学知识,特别是ASP.NET以及网页设计方面有了更加系统、深刻的了解,在这个过程中,老师严谨的治学态度,诲人不倦的师表风范深深的感染着我,对此,致以诚挚的谢意。在学校学习期间,在老师得教导和同学的帮助下,本人在知识水平上有了很大的提高对于论文完成也起了很大的作用。在此,致以诚挚得谢意。 参考文献1 张瑛,武忠. 性知识获取的最佳来源.,26(11):78-79,20072 段克奇 ASP.NET基础教程北京:清华大学出版社,20093 邵鹏鸣 #面向对象程序设计京:清华大学出版社,20084 周奇 QL Server数据库基础及应用技术北京:北京大学出版社,20075 王伟军 子商务网站评价研究与应用分析J 情报科学, 20036 余力,刘鲁 国推荐策略的比较分析系统工程理论与实践 20047 陵宜网业制作 科学技术大学出版社,20098 龚毅 photoshop CS基础教程合肥工业大学出版社,20089 陶国荣,解本巨 #网站开发案例详解中国铁道出版社,2010