搜索
您的当前位置:首页个人博客系统实训报告综述

个人博客系统实训报告综述

来源:小侦探旅游网
《计算机应用综合技能实训》

——题目:

个人博客系统

系别:计算机工程系 专业:计算机应用技术 班级:10051012 姓名:王俊 学号:20100708 指导教师:吴文明

完成日期:2013年1月13日

教师评语

任 务 书

学期:2012-2013上

班级:10计算机应用技术专业 一、课程设计目的及基本要求

本课程是一门实践性课程,是计算机应用技术相关专业必修的实践性教学环节。主要为了提升学生的知识应用能力和实际解决问题能力。在规定 的课程期间,学生通过应用在课堂中掌握的Web应用程序开发基础知识和技术,根据实际问题,完成一个简单的Web应用系统的设计、制作和调试,并为今后更 好地运用这些知识,解决实际工作中存在的问题打下基础。

课程设计的主要目标是:

(1)掌握构建Web应用软硬件平台的基本技能; (2)具备基本的Web编程能力;

(3)熟练掌握应用ASP.NET技术完成数据库信息存储、管理与发布技术。 本课程设计是建立在学生掌握多门相关课程的基础上,要求学生对课堂知识进行综合运。学生应具备以下课程知识和技能:计算机应用基础、数据库应用、Java程 序设计、计算机网络知识等;了解相关的基础理论知识:Web应用环境构建、Web开发环境、HTML、CSS、JavaScript、ASP.NET技术 等。并要求学生具有较好的信息检索能力、综合分析能力、知识应用能力、沟通和协作能力。 二、课程设计的主要内容

1. 布置课程设计任务书,要求学生在规定的时间内独立完成所选定项目的需求分析、总体设计、详细设计及课程设计报告。

2.设计题目(可自行另选设计题目)

a>设计题目1:XX投票系统设计;

要求:进行需求分析;总体设计;详细设计(登录模块、注册模块、留言板模块、投票功能模块、用户管理模块、留言管理模块、投票管理模块等)。

b>设计题目2: XX个人博客设计

要求: 进行需求分析;总体设计;详细设计(登录模块、注册模块、留言板模块、我的文章模块、我的相册模块、我的好友模块、用户管理模块、留言管理模块、文章管理模块、文章类别管理模块、相册管理模块、好友管理模块等)

c> 设计题目3: XX聊天室设计

要求:进行需求分析;总体设计;详细设计(登录模块、注册模块、留言板模块、聊天室模块、用户管理模块、留言管理模块、聊天室管理模块等)

d> 设计题目4:XX新闻发布系统设计

要求:进行需求分析;总体设计;详细设计(登录模块、注册模块、留言板模块、新闻查看模块、新闻发布模块、用户管理模块、留言管理模块、新闻管理模块等)

学生按3-4人自由组合成一个小组,可选择指定的设计课题或自行另选设计题目,明确分工,在规定的时间内,完成各自的内容。 三、主要实践环境

1.系统开发硬件环境:

处理器:Core或更高 内存:512MB或更高 硬盘空间:10GB及以上

显示器分辨率:推荐使用1024×768像素及以上 2.系统开发软件环境: 操作系统:Windows系列 Web服务器:IIS

开发软件:Visual Studio 2010,Dreamweaver CS5 开发语言:C#

数据库:SQL Server,Access 浏览器:IE8.0及以上 四、考核与报告

1.课程设计评分标准

评 定 项 目 1.选题合理,目的明确(5分) 2.需求分析清晰,表述明确 3.网页版面的布局要合理,色彩搭配协调,导航清晰,设计美观。 4.设计的总体思想、模块图、流程图 5.数据库设计(含E-R图) 6.应用部署图、各功能模块设计 7.态度认真、学习刻苦、遵守纪律,无特殊原因不能按照时间节点准时完成任务的,按照迟交的情况酌情扣分。 评分成绩 5分 5分 10分 10分 20分 30分 10分 8.设计报告的规范化、参考文献充分(不少于5篇) 9.附录:系统使用说明书 总分 5分 5分 100分 备注:成绩等级:优(90分—100分)、良(80分—89分)、中(70分—79分)、及格(60分—69分)、60分以下为不及格。

2.课程设计报告要求:

(1)不少于10000字,电子稿及打印稿(B5)。

(2)主要内容及装订顺序:封面(自己设计)评语、任务书、目录、正文、参考文献、附录:系统使用说明。

(3)正文部分应该包括:前言,需求分析;总体设计;各模块详细说明;系统测试;系统的不足及需改进的部分、参考文献等。

(4)设计报告严禁抄袭,否则按不及格论。 3.课程设计需要提交的内容:

课程设计结束后,以个人为单位提交设计报告及完成系统设计的源代码,作为指导教师评定最后成绩和成绩复查时的资料。设计报告中要明确个人分工。要求所有同学既要完成规定的任务,又要通过良好的小组协作关系,互相帮助,完成整个项目的任务。

指导老师:吴文明

计算机工程系 2012-10-10

摘 要

摘 要

Blog的全名应该是Web log,中文意思是“网络日志”,后来缩写为Blog,而博客(Blogger)就是写Blog的人。从理解上讲,博客是“一种表达个人思想、网络链接、内容,按照时间顺序排列,并且不断更新的出版方式”。

Visual C#是微软公司为它的Microsoft.NET计划推出的核心编程语言。该语言几乎综合了目前所有编程语言系统的优点,并结合因特网的需要,增加了丰富的新特性和增强功能。Visual C#语言面向对象的设计,可以用来构建从高水平的商务目标到体系标准应用程序的范围宽广的组件。使用Visual C#语言,程序员能够迅速地建造提供充分开拓计算和通信的工具和服务的新的Microsoft.NET平台。C#语言的组成部分使用简单的C#语言结构体,能被转化成WEB服务,允许人们通过Internet调用在任何操作系统上运行的任何语言。

Access就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。数据库(Database)是由一些有意义和有关系的数据(data)所组合而成。我们称之为数据库管理管理系统(Database Management System DBMS)。Access 的优点在于它能使用数据表示图或自定义窗体收集信息,数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然。

Ajax不是一种技术。实际上,它由几种蓬勃发展的技术以新的强大方式组合而成。Ajax包含:基于XHTML和CSS标准的表示;使用Document Object Model进行动态显示和交互;使用XMLHttpRequest与服务器进行异步通信;使用JavaScript绑定一切。 Ajax的核心是JavaScript对象XmlHttpRequest。该对象在Internet Explorer 5中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。

【关键词】 博客 C# SQL Ajax JavaScript

目 录

目 录

目 录 ............................................................................................................................... 1 第一章 概述 ..................................................................................................................... 1

1.1 ASP.NET语言简介 ............................................................................................ 1 1.2数据库的选择 ..................................................................................................... 2 1.3 IIS介绍及配置 ................................................................................................... 4 第二章 需求分析 ............................................................................................................. 5

2.1 系统需求分析 .................................................................................................... 5 2.2 系统功能分析 .................................................................................................... 5

2.2.1 文章日志 ................................................................................................. 5 2.2.2 发表评论 ................................................................................................. 5 2.2.3 资源下载 ................................................................................................. 5 2.2.4 相片浏览 ................................................................................................. 6 2.2.5 管理功能 ................................................................................................. 6 2.2.6 加密功能 ................................................................................................. 6 2.3 系统功能流程图 ................................................................................................ 6 第三章 数据库设计 ......................................................................................................... 8

3.1 数据库概念设计 ................................................................................................ 8

3.1.1 设计局部E-R模式................................................................................. 8 3.1.2 设计全局E-R模式................................................................................. 8 3.2 数据库逻辑结构设计 ........................................................................................ 9 第四章 系统程序设计 ................................................................................................... 12

4.1 系统模块组成 .................................................................................................. 12 4.2 各模块的实现 .................................................................................................. 12

4.2.1 查看日志模块的实现 ........................................................................... 12 4.2.2 查看相册模块的实现 ........................................................................... 20 4.2.3 主页显示功能的实现 ........................................................................... 21 4.2.4 其他功能的实现 ................................................................................... 22 4.3 原创功能介绍 .................................................................................................. 25 第五章 系统测试与维护 ............................................................................................... 27

5.1 系统使用环境 .................................................................................................. 27 5.2 系统测试 .......................................................................................................... 27 5.3 系统维护 .......................................................................................................... 28 调试与运行 ..................................................................................................................... 29

1

目 录

总 结 ............................................................................................................................... 30 参考文献 ......................................................................................................................... 31

2

第一章 概述

第一章 概述

1.1 ASP.NET语言简介

在世界范围内,Internet正以一种不可阻挡的势头迅速发展。人们可以通过Internet,以不同的方式相互沟通、从Internet上获取自己想要的一切信息,为此,人们在Internet上制定了各种方法。早期的超文本标记语言HTML,使Internet的数据描述发生了一次变革。与以前的 Web 开发模型相比,ASP.NET 提供了数个重要的优点:

(1) 增强的性能。

ASP.NET 是在服务器上运行的编译好的公共语言运行库代码。与被解释的前辈不同,ASP.NET 可利用早期绑定、实时编译、本机优化和服务。这相当于在编写代码行之前便显著提高了性能。世界级的工具支持。ASP.NET 框架补充了 Visual Studio 集成开发环 境中的大量工具箱和设计器。WYSIWYG 编辑、拖放服务器控件和自动部署只是这个强大的工具所提供功能中的少数几种。

(2) 威力和灵活性。

由于 ASP.NET 基于公共语言运行库,因此 Web 应用程序开发人员可以利用整个平台的威力和灵活性。.NET 框架类库、消息处理和数据访问解决方案都可从 Web 无缝访问。ASP.NET 也与语言无关,所以可以选择最适合应用程序的语言,或跨多种语言分割应用程序。另外,公共语言运行库的交互性保证在迁移到 ASP.NET 时保留基于 COM 的开发中的现有投资。

(3) 简易性。

ASP.NET 使执行常见任务变得容易,从简单的窗体提交和客户端身份验证到部署和站点配置。例如,ASP.NET 页框架使您可以生成将应用程序逻辑与表示代码清楚分开的用户界面,和在类似 Visual Basic 的简单窗体处理模型中处理事件。另外,公共语言运行库利用托管代码服务(如自动引用计数和垃圾回收)简化了开发。

(4) 可管理性。

ASP.NET 采用基于文本的分层配置系统,简化了将设置应用于服务器环境和 Web 应用程序。由于配置信息是以纯文本形式存储的,因此可以在没有本地管理工具帮助的情况下应用新设置。此\"零本地管理\"哲学也扩展到了 ASP.NET 框架应用程序的部署。只需将必要的文件复制到服务器,即可将 ASP.NET 框架应用程序部署到服务器。不需要重新启动服

1/31

第一章 概述

务器,即使是在部署或替换运行的编译代码时。

(5) 可缩放性和可用性。

ASP.NET 在设计时考虑了可缩放性,增加了专门用于在聚集环境和多处理器环境中提高性能的功能。另外,进程受到 ASP.NET 运行库的密切监视和管理,以便当进程行为不正常(泄漏、死锁)时,可就地创建新进程,以帮助保持应用程序始终可用于处理请求。

(6) 自定义性和扩展性。

ASP.NET 随附了一个设计周到的结构,使开发人员可以在适当的级别“插入”代码。实际上,可以用自己编写的自定义组件扩展或替换 ASP.NET 运行库的任何子组件。实现自定义身份验证或状态服务一直没有变得更容易。

(7) Web2.0支持

随着第二波互联网热潮的回归,Web 2.0得到越来越多人的认同,而Asp.net更是开创了许多Web应用的新模式,包括Web Form,更加简易的Web Services。以及对Ajax的强有力的支持。使我们在最短的时间内开发出一套完整健壮而有符合用户习惯的优秀程序成为可能。

1.2数据库的选择

(1) 数据库介绍

Access 是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS),是Office系列应用软件之一。它提供了表、查询、窗体、报表、页、宏、 模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理 系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。

Access能够存取 Access/Jet、Microsoft SQL Server、Oracle,或者任何 ODBC 兼容数据库内的资料。熟练的软件设计师和资料分析师利用它来开发应用软件,而一些不熟练的程序员和非程序员的\"进阶用户\"则能使用它来开发简单的应用软 件。虽然它支援部份面向对象(OO)技术,但是未能成为一种完整的面向对象开发工具。

(2) 数据库用途

Microsoft Access在很多地方得到广泛使用,例如小型企业,大公司的部门,和喜爱编程的开发人员专门利用它来制作处理数据的桌面系统。它也常被用来开发简单的 WEB应用程序.这些应用程序都利用ASP技术在Internet Information Services运行.比较复杂的WEB应用程

2/31

第一章 概述

序则使用PHP/MySQL或者ASP/Microsoft SQL Server.

它的使用方便程度和强大的设计工具为初级程序员提供许多功能。不过,这种便于使用可能使人误解。这类开发者都是没有在应用或者数据设计方面训练的办公室从业人员。因此许多人以为这样的开发者能够创造可用的系统,但也有很多人认为工具本身的局限性产生了这样的误导。

一些专业的应用程序开发人员使用 Access 用作快速应用开发,特别是给街道上的推销员制作一个初型或独立应用程序的工具。可是如果是透个网络存取数据的话,Access 的可扩放性并不高.因此当程序被较多使用者使用时,他们的选择多会是倾向于一些客户端-服务器为本的方案,例如 Oracle、DB2、Microsoft SQL Server、Windows SharePoint Services、PostgreSQL、MySQL、Alpha Five、MaxDB,或者Filemaker。无论如何,不少 Access 的功能(表单,报告,序列和VB代码)可以用作其他数据库的后期应用,包括 JET(档案为主的数据库引擎,Access 缺省使用)、Microsoft SQL Server、Oracle和任何其他跟ODBC兼容的产品。这种方法允许开发者把一个成熟的应用的数据移动到一台更大功率的服务器而没有已经在适当的位置牺牲发展。

很多开发者谁使用Microsoft Access使用Leszynski命名约定,虽然这不普遍;它是一次编程大会,并非一个DBMS实施的规章。

(3) 数据库特性

一好处进入从程序员视角在它的有关兼容性有SQL-质问可能被观看并且作为SQL语句编辑,并且SQL语句直接在巨视和VBA模里可以被使用操作进入桌子。用户可能混合并且使用两个VBA并且\"宏\"编程形式和逻辑既没提供面向对象的可能性。

导入导出报表的生成程序,当时有能力和到这项任务的复杂报告创造,没有另一受欢迎数据库报表程序的生成程序充满特色和强有力-水晶报告。MSDE (微软公司SQL服务器桌面发动机)2000,袖珍版本的MSSQL服务器2000,被包括开发版的办公室XP并且被用于进入可能作为除之外的另一种选择 JET数据库引擎。(尽快的*版本的MSDE和微软公司交换服务器实际上使用这台喷气发动机处理巨大大量数据并且安置一“赝品”在它之上的那些应用的应用 层。大约这事实的缺乏知识因进入/喷口家庭的软件产品而为不该受不敬做贡献,特别是关于\"大\"工程。)

进入分割和粘贴功能性能使它有用工具在其他数据库之间连结(例如,在数据或者数据库变换期间的Oracle和微软公司SQL服务器)。进入与给与 窗子和其他平台应用一起的积分的各种各样进口和退场门特征一起来,一经请求从应用的里面或者手工由用户其中几可以被执行。

3/31

第一章 概述

例如非常紧密SNP完全格式化的 为分享的形式与没有全部的进入软件的人们报告。它也能容易被升级到微软公司SQL服务器。

(4) 数据库发展

进入可提供的编程语言,当时在另一个内产品Microsoft Office家具,微软公司应用的Visual Basic。两个数据库进入讯息库COM组成部分被提供:这笔遗产数据存取物体(DAO),用进入和新只可提供ActiveX数据对象(忙乱)。

MicrosoftAccess容易被应用于小的工程但是规模无效对大的工程如果应用被不好设计。全部数据库质问,形式和报告被储存在数据库里,并且与相关的模型的理想协调,没有与他们做一个身体上组织的阶层的可能性。

1.3 IIS介绍及配置

因特网信息服务器(Internet Information Server, IIS)是Microsoft公司提供的一种集成了多种Internet服务(WWW服务、FTP服务等) 的服务器软件,利用它,可以很容易地构造Web站点。由于是同一家公司的产品,IIS和Windows NT Server 紧密地集成在一起,可以充分利用Windows NT的多种功能,其安全机制也以Windows NT的NTFS安全机制为基础,因此可以实现用IIS构建的Web站点的安全性。在本系统开发过程中,在IIS安装完毕后,打开IIS管理器,配置虚拟目录和应用程序池到开发的ASPX页面根目录下。

4/31

第二章 需求分析

第二章 需求分析

2.1 系统需求分析

此博客系统为专署个人博客系统,主要的功能包括五大部分:日志管理;相册管理;下载资源管理;友情链接管理和浏览者的评论功能。日志管理包括日志类别管理和发表日志等功能。相册管理不包括相册类别管理和照片的浏览添加等功能。下载资源管理包括资源的添加和删除。评论功能采用了最新的ajax技术与服务器异步交互,可以使用户得到良好的用户体验。项目按照企业级三层架构开发,包括model层,数据访问操作层和页面展示层。

2.2 系统功能分析

2.2.1 文章日志

允许浏览者浏览博客主发表的日志,若有加密的日志需提供密码才能访问。博客主拥有对不同日志分类和日志文章的添加删除等操作。 2.2.2 发表评论

浏览者(不需要注册)有对博客主文章的评论功能,评论后使用cookie记录评论者姓名,以备下次使用。评论者与博客主一样同样拥有查看其他评论的权限。 2.2.3 资源下载

浏览者(不需要注册)可以对博客主发布的资源进行下载。博客主拥有对资源的发布、删除等权限。

5/31

第二章 需求分析

2.2.4 相片浏览

浏览者(不需要注册)可以浏览博客主公开的相册,从不同的相册类别查看不同照片,要求查看照片采用最新的弹出式效果。博客主拥有对相册类别、照片的增加和删除等权利。 2.2.5 管理功能

只允许博客主登陆后台对系统中的各项功能进行操作。 2.2.6 加密功能

允许博客主在发表文章的时候指定查看文章的密码,浏览者只有通过秘密码才能查看文章。

2.3 系统功能流程图

根据以上所做的需求分析与功能分析,并略掉一些细节(如不考虑用户的登录),得出如图2-1的总体数据流图。

6/31

第二章 需求分析

浏览者 博客主 文章日志 相册照片 下载资源 评论 友情链接 数据库 图2-1总体数据流图

7/31

第三章 数据库设计

第三章 数据库设计

数据库设计的优劣直接关系到项目系统的成败,一个好的数据库设计方案可以有效的提高系统的效率,高效快捷的组织数据管理,而且方便的系统维护。

3.1 数据库概念设计

在概念设计阶段中,设计人员从用户的角度看待数据及处理要求和约束,产生一个反映用户观点的概念模式。然后再把概念模式转换成逻辑模式。将概念设计从设计过程中独立开来,使各阶段的任务相对单一化,设计复杂程度大大降低,不受特定DBMS的限制。

利用E-R方法进行数据库的概念设计,可分成三步进行:首先设计局部E-R模式,然后把各局部E-R模式综合成一个全局模式,最后对全局E-R模式进行优化,得到最终的模式,即概念模式。 3.1.1 设计局部E-R模式

(1).实体和属性的定义:

文章(流水号,文章标题,文章内容,加入日期,评论数量,文章类别,查看密码,密码提示,文章状态)。

文章类别(类别id,类别名称)。

评论(评论流水号,评论文章id,评论人,评论内容,评论时间)。 下载资源(资源流水号,资源的URL地址,资源的注释)。 友情链接(流水号,链接名称,URL地址,注释)。 相册类别(类别id,类别名称)。 相片(流水号,大照片地址,小照片地址,照片注释,照片类别id)。 3.1.2 设计全局E-R模式

所有局部E-R模式都设计好了后,接下来就是把它们综合成单一的全局概念结构。全局概念结构不仅要支持所有局部ER模式,而且必须合理地表示一个完整、一致的数据库概念结构。

8/31

第三章 数据库设计

(1) 确定公共实体类型

为了给多个局部E-R模式的合并提供开始合并的基础,首先要确定各局部结构中的公共实体类型。在这一步中我们仅根据实体类型名和键来认定公共实体类型。一般把同名实体类型作为公共实体类型的一类候选,把具有相同键的实体类型作为公共实体类型的另一类候选。

(2) 局部E-R模式的合并

合并的原则是:首先进行两两合并;先和合并那些现实世界中有联系的局部结构;合并从公共实体类型开始,最后再加入独立的局部结构。

(3) 消除冲突

冲突分为三类:属性冲突、结构冲突、命名冲突。设计全局E-R模式的目的不在于把若干局部E-R模式形式上合并为一个E-R模式,而在于消除冲突,使之成为能够被所有用户共同理解和接受的同一的概念模型。

(4) 全局E-R模式的优化

在得到全局E-R模式后,为了提高数据库系统的效率,还应进一步依据处理需求对E-R模式进行优化。一个好的全局E-R模式,除能准确、全面地反映用户功能需求外,还应满足下列条件:实体类型的个数要尽可能的少;实体类型所含属性个数尽可能少;实体类型间联系无冗余。

3.2 数据库逻辑结构设计

1.数据库的逻辑结构实现

依照数据库的概念分析与逻辑关系结构,最终实现数据库的逻辑结构,下列各表分别为本系统的数据表

表3-1 文章表

字段 aeid aetitle aecontent aedate aeup aetype aepass aetips aestate 类型 自动编号 文本 文本 日期 数字 文本 文本 文本 文本 含义 序号 文章标题 文章内容 加入日期 评论数量 文章类别 查看密码 密码提示 文章状态 9/31

说明 主键 是否需要密码 有密码可写入密码提示 默认0.1为禁用 第三章 数据库设计

表3-2 文章类别表

字段 atid atname 类型 自动编号 文本 含义 序号 类别标题

表3-3 友情链接表

说明 主键 字段 flid flname flurl flnote 类型 自动编号 文本 文本 文本 含义 序号 友情链接名称 友情链接地址 友情链接注释

表3-4 评论表

说明 主键 字段 ctid ctaid ctname ctcontent ctdate 类型 自动编号 文本 文本 日期 数字 含义 序号 评论文章序号 评论人 评论内容 评论日期

表3-5 资源下载表

说明 主键 字段 dnid dnurl dnnote 类型 自动编号 文本 文本 含义 序号 下载地址 资源注释

表3-6 相册表

说明 主键 字段 poid posname pobname ponote potype 类型 自动编号 文本 文本 日期 数字 含义 序号 小照片地址 大照片地址 照片注释 照片类型 表3-7 相册类别表

10/31

说明 主键 第三章 数据库设计

字段 ptid ptname

类型 自动编号 文本 含义 序号 类别名称 主键 说明 11/31

第四章 系统程序设计

第四章 系统程序设计

4.1 系统模块组成

本系统主要分为五大模块:查看日志模块、发表评论模块、相册浏览模块、资源下载模块、系统管理模块。系统管理模块又包括:日志管理;日志类别管理;相册类别管理;相册管理;友情链接管理;下载资源管理等。

4.2 各模块的实现

下面会选几个有代表性的窗口实现进行说明,其他的与其类似。 4.2.1 查看日志模块的实现

此博客系统对日志的管理为允许博客主设置访问密码,所以在用户浏览某篇日志的时候,系统需判断改日志是否存在密码保护。若不存在密码保护,直接供浏览者浏览改日志。若存在密码保护,则显示密码提示信息和可供用户输入的密码框。用户输入正确密码即可浏览改日志信息,若输入密码错误,提示错误并允许用户多次输入。有此得到图4-1所示的流程图。

12/31

第四章 系统程序设计

读取数据 N 不存在 判断有无系统账户 Y 存在 注册用户 等待用户输入账户密码 Y 输入正确 判断输入 N 错误 提示错误 显示内容 进入系统 图4-1 查看日志模块流程图

用户进入系统时,提示输入密码的信息如图4-2所示。

13/31

第四章 系统程序设计

图4-2 查提示登录与注册界面

登录代码: public partial class _Default : System.Web.UI.Page { LibraryClass Libclass = new LibraryClass(); protected void Page_Load(object sender, EventArgs e) { Panel1.Visible = true; Panel2.Visible = false; if (Session[\"name\"] == null) { Panel1.Visible = true; Panel2.Visible = false; } else { Label3.Text = Session[\"name\"].ToString(); Panel1.Visible =false; Panel2.Visible =true; } } protected void Button1_Click(object sender, EventArgs e) 14/31 第四章 系统程序设计

{ string strsql; strsql = \"select 用®?户¡ì名?,密¨¹码? from 读¨¢者?信?息¡é表À¨ª where 用®?户¡ì名?='\"+TextBox1.Text+\"' and 密¨¹码?='\"+TextBox2.Text+\"'\"; DataSet ds = new DataSet(); ds = Libclass.GetDataSet(strsql,\"username\"); if (ds.Tables[\"username\"].Rows.Count == 0) { string scriptString = \"alert('\" + \"用®?户¡ì名?不?存ä?在¨²,ê?请?确¨¡¤认¨?后¨®再¨´登Ì?陆?!ê?\" + \"');\"; Page.ClientScript.RegisterClientScriptBlock(this.GetType(), \"warning\scriptString, true); } else { Session[\"name\"] = TextBox1.Text; Label3.Text = Session[\"name\"].ToString(); Panel1.Visible = false; Panel2.Visible = true; } } protected void Button3_Click(object sender, EventArgs e) { if (Session[\"name\"] == null) { Response.Redirect(\"zhuye.aspx\"); } else { 15/31 第四章 系统程序设计

Session[\"name\"]=null; Panel2.Visible = false; Panel1.Visible = true; } } protected void Button2_Click(object sender, EventArgs e) { Response.Redirect(\"UserReg.aspx\"); } } 注册代码: public partial class UserReg : System.Web.UI.Page { LibraryClass Libclass = new LibraryClass(); protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { string strsql; strsql = \"insert into 读¨¢者?信?息¡é表À¨ª(用®?户¡ì名?,密¨¹码?,性?别Àe,学¡ì院o,学¡ì号?) values('\" + TextBox1.Text + \"','\" + TextBox2.Text + \"','\" + DropDownList1.SelectedValue + \"','\" + TextBox3.Text + \"','\" + TextBox4.Text + \"')\"; Libclass.execsql(strsql); TextBox1.Text = \"注Á¡é册¨¢成¨¦功|!ê?\"; TextBox2.Text = \"\"; TextBox3.Text = \"\"; TextBox4.Text = \"\"; } 16/31 第四章 系统程序设计

}

图4-3为输入密码正确能浏览日志。

图4-3 密码正确

public partial class AdminManage_LeaveWordManage : System.Web.UI.Page { LibraryClass Libclass = new LibraryClass(); protected void Page_Load(object sender, EventArgs e) { if (Session[\"adminname\"] == null) { Response.Redirect(\"../ManagePlace.aspx\"); } else { GridView1.Attributes.Add(\"style\ GridView1.Attributes.Add(\"style\\"word-break:break-all;word-wrap:break-word\"); if (!Page.IsPostBack) { bindgriv(); } } } void bindgriv() { 17/31 第四章 系统程序设计

string strsql; strsql = \"select * from Wj博?客¨ª系¦Ì统ª3 order by 发¤¡é表À¨ª时º¡À间? desc\"; DataTable dt = new DataTable(); dt = Libclass.ReadTable(strsql); GridView1.DataSource = dt; GridView1.DataBind(); } protected void rowdelete(object sender, GridViewDeleteEventArgs e) { string strsql; strsql = \"delete from Wj博?客¨ª系¦Ì统ª3 where 序¨°号?=\" + GridView1.DataKeys[e.RowIndex].Value.ToString() + \"\"; Libclass.execsql(strsql); bindgriv(); } protected void PageChang(object sender, GridViewPageEventArgs e) { GridView1.PageIndex = e.NewPageIndex; bindgriv(); } protected void Button1_Click(object sender, EventArgs e) { if (TextBox1.Text==\"\") { TextBox1.Text = \"请?输º?入¨?查¨¦询¡¥关?键¨¹字Á?!ê?\"; } else 18/31 第四章 系统程序设计

{ string strsql, droptext; droptext = DropDownList1.SelectedValue; strsql = \"select * from Wj博?客¨ª系¦Ì统ª3 where \" + droptext + \" like '%\" + TextBox1.Text + \"%' order by 发¤¡é表À¨ª言?时º¡À间? desc\"; DataTable dt = new DataTable(); dt=Libclass.ReadTable(strsql); GridView1.DataSource = dt; GridView1.DataBind(); } } protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) { } }

图4-4是密码输入错误的提示。

图4-4 密码错误提示消息

19/31

第四章 系统程序设计

4.2.2 查看相册模块的实现

相册浏览模块流程如下:当用户点击浏览相册的时候,即弹出所有的相册类别供浏览者选择,选择对应的类别,即跳转到此类别的列显页面,列显页面为横向列显,采用了复杂的javascript技术进行了阴影处理和左右滚动的效果,如图4-5所示(该功能没能应用在ASP中,现不能实现,下面位于在java网页中图效果)。

图4-5 相册列显效果图

当用户点点击某张图片,即弹出新层查看该相片,并且可以选择查看前一张和后一张。展示效果如图4-6所示。

20/31

第四章 系统程序设计

图4-6 查看相片效果图

4.2.3 主页显示功能的实现

博客主页采用的是最流行的CSS+DIV布局,可以适用于任何分辨率的屏幕,作则为列显三篇最新日志,采用的是用户自定义空间来完成的,用户自定义空间的接受值是一个日志Model类型的对象,每个用户自定义空间内进行判断,使表现层和业务逻辑层完全分离。很好的实现了MVC架构。中间的使最热门的五条日志,采用了AJAX技术异步读取后台数据,其中还使用了JavaScript语言的原生JSON格式的数据,使JavaScript能够高效的解析。友情链接也使用了相同思路构建。主页效果如图4-7所示。

21/31

第四章 系统程序设计

图4-7 博客主页效果图

4.2.4 其他功能的实现

浏览者发表评论也是此博客系统的亮点,采用的是AJAX和弹出式窗口的操作,当用户点击评论时,得到全部的评论,并可以发表。发表评论后,所使用的用户名并记录在本地cookie中,下次即可以不再输入。演示效果如图4-8所示。

图4-8 发表评论效果图

public partial class SuggestPlace : System.Web.UI.Page { LibraryClass Libclass = new LibraryClass(); protected void Page_Load(object sender, EventArgs e) { if (Session[\"name\"] == null) 22/31 第四章 系统程序设计

{ Response.Redirect(\"zhuye.aspx\"); } else { Label1.Text = Session[\"name\"].ToString(); Label2.Text = DateTime.Now.ToString(); bindgrig(); } } void bindgrig() { string strsql; strsql = \"select * from 图ª?书º¨¦建¡§议°¨¦表À¨ª order by 流¢¡Â水?号? desc\"; DataTable dt = new DataTable(); dt = Libclass.ReadTable(strsql); DataList1.DataSource = dt; DataList1.DataBind(); } protected void Button1_Click(object sender, EventArgs e) { if (TextBox1.Text != \"\") { string strsql, username; username = Session[\"name\"].ToString(); strsql = \"insert into 图ª?书º¨¦建¡§议°¨¦表À¨ª(读¨¢者?名?,建¡§议°¨¦时º¡À间?,建¡§23/31 第四章 系统程序设计

议°¨¦内¨²容¨Y) values('\" + username + \"','\" + Label2.Text + \"','\" + TextBox1.Text + \"')\"; Libclass.execsql(strsql); TextBox1.Text = \"\"; bindgrig(); } else { Label2.Text = \"留¢?言?不?能¨¹为a空?!ê?\"; } } }

后台管理的功能就是对基本的表进行增删改查等操作,由于采用了企业级三层架构。完全是面向对象操作。后台导航菜单使用样式如图4-8所示。其他功能再此不做赘述。

24/31

第四章 系统程序设计

图4-8 后台导航效果图

4.3 原创功能介绍

通过编写此博客系统,使我的编程水平有了很大的提高。现在已经可以独立编写一些工具类,下面介绍一下此系统中使用的我自己编写的工具类。

(1) DataSetToJson

开发语言为C#,此类的功能是将DataSet或DataSet类型的数据转化为JSON格式的数据。此类的目的主要是解决AJAX异步请求得到XML数据在不同浏览器之间解析不同的问题,因为JSON是JavaScript的原生格式,所以不存在浏览器的兼容问题。

(2) XAjax

开发语言为JavaScript。此类就是对AJAX核心技术http_request对象的封装。解决了在同一个页面里多次使用AJAX的问题,采用了面向对象思想将function抽象为类,在使用的时候new出新的对象就可以进行多次不同的异步请求。

25/31

第四章 系统程序设计

(3) XCookie

开发语言为JavaScript。此类是对Cookie的操作进行了封装。内置setCookie、getCookie、delCookie等方法。思想还是面对对象,将Cookie对象封装对Xcookie类,通过new的方法生存对象,简化了Cookie的操作。更大的优点是解决了不同浏览器之间的问题,使开发者可以忽略浏览器的因素快速开发。

这些原创的工具类都已经在网上发布开源使用,受到了广大网友的好评。

26/31

第五章 系统测试与维护

第五章 系统测试与维护

5.1 系统使用环境

由于本系统是使用Microsoft Visual Studio 2005开发。.NET Framework版本为2.0。所以要使用本系统必须达到如下配置标准:

服务器端:Windows NT/Windows2000/Windows Server2003,Internet Information Server (IIS)6.0及其以上版本。.NET Framework版本为2.0以上版本。必须为该站点配置应用程序池。

数据库:采用Access,运行于服务器端。

客户端:经过测试,本系统可以使用IE6.0+;FireFox2.0+;Safari等主流浏览器浏览,解决浏览器的兼容问题。

5.2 系统测试

系统测试是软件开发中不可缺少的一个环节,它是衡量我们开发系统的一个标尺。它的目标是发现软件中的错误,然后通过调试对其进行改正,从而开发出高质量的完全符合用户需要的软件。

对本系统的测试主要包括以下几个方面: 1.连接测试

一个好的系统应该不包含中断链接,花费时间检查链接可以避免错误信息的发生率。链接测试可以分为三个方面:首先,测试所有链接是否按指示的那样确实链接到了该链接的页面;其次,测试所链接的页面是否存在;最后,保证Web应用系统尚没有孤立的页面(没有链接指向该页面)。

经过系统连接测试,已经把系统中存在的所有错误链接都修改正确了。用户可以放心使用。

2.检查布局的一致性

对于一个好的系统,布局的一致性也是十分重要的。我们在设计系统时,常常会因为追求单个页面的美观而忽略了系统的整体效果。这就需要对系统进行整体浏览,检查布局和图像的一致性。

通过对系统的整体浏览调试,已经可以保证系统整体布局的一致性,相信能够为用户提供简洁美观的页面。

27/31

第五章 系统测试与维护

5.3 系统维护

本系统在运行过程中可能会伴随出现各种各样的软硬件问题,这就需要进行系统的软件与硬件维护。

1.系统的硬件维护

硬件系统的维护由专职的硬件人员承担,维护分为以下两种: (1) 定期的预防性维护,如周末或月末进行的例行检查与保养。 (2) 突发性的故障维修,由专职人员过厂商进行,这种维护也有时间要求,以免影响系统的正常工作。

由于本系统是基于单机建立的,学校已经有专门的机器硬件维护人员,只要原来的维护人员进行正常的维护就可以保证本系统可以正常地运行了。

2.系统的软件维护

系统的软件维护主要包括程序的维护,数据文件的维护,代码的维护。本系统采用Access为数据库,客户端应用程序采用ASPX编写,系统的软件维护自然跟其有着密切的关系。

Access系统的运行需要有专门人员负责进行系统的正确性维护,防止因用户或管理人员的非法操作带来的系统错误;随着学校环境和业务量的增减,系统可能会不适应当时情况,这时就需要进行系统的完善性维护。除此之外,还要进行系统的预防性维护。

由于在编写本系统时,特别注意了代码的规范化,在命名规则,程序书写规范上做了很大的努力,这对将来的代码维护带来了方便。

总之,在系统正式投入运行之后,为了让系统长期高效地工作,必须加强对系统运行的日常管理。

28/31

调试与运行

调试与运行

经过了历时两个月的开发,系统大体成功完成。经过测试。该系统有一定的稳定性高效性。用户登录系统和用户注册系统实现了用户的账户建立与进入系统的方法,限定了特殊字符应用。用户可以进入系统发表自己的想法和言论,该系统运用了时间控件,返回了当前日期,在用户发表日志时系统保存时会自动的获取日期以显示发表该日志的时间,其他用户可根据本用户的日志发表留言,本用户可删除其他用户的留言信息。

本系统有管理员系统,主要用于用户资料管理等,但由于管理员系统中的问题未能处理完全该功能还无法完全运行。

29/31

总结

总 结

通过半期的学习,让我懂的了怎样使用asp.net工具制作网页,并对其中的控件有了一个大致的了解,比较直观的认识。通过后面的代码实现,也让我充分认识到自己写代码时的不足,虽然对基本的数据库连接都会写,可是代码中重复代码过多,代码不够精简。有时不是很明确,以至于有时候写代码的时候有些功能来回写。通过这阵子的实训,让我充分认识到了自己的不足,我会私下好好自学设计模式,争取吧asp.net中的思想用到自己以后的代码中,让系统更加完美。

30/31

参考文献

参考文献

[1] 王辉 来羽 陈德祥. 《ASP.NET 3.5(C#)实用教程》.清华大学出版社. [2] 陈艳平. 《SQL Server 2008 数据库案例与实训教程》. 北京理工大学出版社. [3] 曾海 高春艳 于一 张春. 《JavaScript 程序设计基础教程》.人民邮电出版社.

31/31

因篇幅问题不能全部显示,请点此查看更多更全内容

Top