aspnet应用开发与实践期末考试复习课案.docx

上传人:b****5 文档编号:7823297 上传时间:2023-01-26 格式:DOCX 页数:14 大小:25.59KB
下载 相关 举报
aspnet应用开发与实践期末考试复习课案.docx_第1页
第1页 / 共14页
aspnet应用开发与实践期末考试复习课案.docx_第2页
第2页 / 共14页
aspnet应用开发与实践期末考试复习课案.docx_第3页
第3页 / 共14页
aspnet应用开发与实践期末考试复习课案.docx_第4页
第4页 / 共14页
aspnet应用开发与实践期末考试复习课案.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

aspnet应用开发与实践期末考试复习课案.docx

《aspnet应用开发与实践期末考试复习课案.docx》由会员分享,可在线阅读,更多相关《aspnet应用开发与实践期末考试复习课案.docx(14页珍藏版)》请在冰豆网上搜索。

aspnet应用开发与实践期末考试复习课案.docx

aspnet应用开发与实践期末考试复习课案

一、什么是WEB?

是一种基于超文本方式工作的信息系统,能够处理声音,图像,视频,文字,提供了以“超文本”、“超媒体”,“超文本传输协议”为主的信息资源

二、B/S?

Browser/Server:

浏览器/服务器结构,在这种结构中,客户端不需要开发任何用户界面,而统一采用浏览器的显示方式,将业务处理交给了服务器。

三、C/S?

Client/Server:

客户端/服务器结构,客户端需要安装专用的客户端软件,而且服务器通常采用高性能的PC站或者工作站,并采用大型数据库(Oracle,SQLServer等)

四、B/S和C/S的比较

1.开发和维护成本方面:

C/S结构的开发和维护成本都比B/S高,因为每当系统更新或者出错的时候,C/S结构要对每一个客户端进行更新、修改;B/S结构就不用了,直接对服务端进行更新修改,然后所有用户通过浏览器访问的页面都是经过了更新的。

2.客户端负载:

C/S的客户端不仅负责与用户的交互,收集信息,还需要完成对数据库、文档等信息的处理工作。

B/S端则是把事务处理交给了服务器,由服务器进行处理,浏览器只负责显示。

这明显表明B/S的客户端负载更低,性能更好。

3.安全性:

C/S适合专人使用的系统,B/S适合多人使用的系统,所以C/S结构的安全性更高

五、CSS简介

答:

级联样式表,用来定义网页中控件、字体、图像等元素的样式,例如字体的颜色。

有两种使用方法:

1.直接在网页中使用:

2.引入外部样式:

六、javascript简介

答:

是一种基于事件和对象驱动的具有安全性的解释型脚本语言,不仅可以编写客户端的脚本程序,还可以编写服务器端的脚本程序。

有两种使用方法:

1.直接在网页中使用:

...

2.引入外部js:

七、HTTP

HyperTextTransferProctocal,超文本传输协议:

是浏览器和服务器之间的应用层通信协议。

HTTP协议是基于TCP/IP的协议,它不仅需要能正确的传输超文本,还要求能控制传输超文本中某一部分的内容,还要求能控制显示超文本中的某一部分内容

八、web系统三层架构

三层架构是指系统的业务应用划分为:

逻辑层、表示层、数据层,使得系统更有利于开发、维护、扩展,实现了高内聚,低耦合的目标。

为什么使用?

优点?

1.从开发角度和应用角度来看:

三层架构比二层架构,单层架构具有更大的优势,适合团队合作,每个人都有自己的分工,协同合作使工作效率倍增。

而且只需要少数人对系统有全面的了解,从一定程度上降低了开发的难度。

2.可以更好地支持分布式计算:

逻辑层的应用程序可以在多个机器上运行,充分利用网络的计算功能,分布式计算潜力巨大。

3.安全性高:

这是三层架构最大的优点,比如必须得经过控制层才能访问数据层(数据安全性),减少了入口点,提升系统安全性。

九、什么是MVC?

(一)Model-View-Controller:

mvc包含三个控件:

1.Model:

模型层,实体类的定义,包含它的属性、方法等

2.View:

表示层,展示数据,用户可以看到并与之交互的界面。

3.Controller:

控制层,连接模型层和数据层,用户通过View层发送请求,Controller层调用Model层进行处理,得到结果数据,再次在View层上展示出来

(二)MVC原理:

mvc架构使得程序的输入、处理输出强制性分离,使得软件的可读性、可维护性、可扩展性、可封装性得到了显著提高,mvc包含三个控件

(三)mvc优点:

1.提高代码重用率:

多个视图能共享一个模型,因为已经将数据和业务从表示层分离出来,所以可以最大化的重用代码。

2.提高程序的可维护性、可扩展性、可读性、可封装性:

各部分相互独立,互不影响,因为控制层和视图层相分离,所以很容易修改数据层和业务层。

3.有利于团队开发:

因为有良好的项目框架,可以减少编码工作量,部分模型(model)和存储过程一般可以用工具自动生成

十、的优势:

1.高效的运行性能:

采用页面脱离代码技术,以及采用缓存机制,提高性能

2.简易性、灵活性:

很多功能都可以扩展,可以轻松的将自定义功能添加到程序当中

3.可管理性:

中新增的功能使得管理程序更加方便

4.开发效率:

内置大量服务器控件,可高效快速的创建网站

十一、网站的运行原理

网站运行时,当一个HTTP请求被IIS服务器接受到以后,IIS首先通过客户端请求的页面类型为其加载相应的dll文件,然后在处理过程中将这条请求发送给能处理这条请求的模块(mvc中的模块层model)。

在中,这个模块叫做HTTPHandler(HTTP处理程序组件),之所以aspx这样的文件可以被服务器处理,就是因为在服务器中有专门的HTTPHandler去处理aspx文件。

当然,在发送到HttpHandler之前,还要经过HttpModule,有四个原因:

一、为了某些必须得过程;二、安全性;三、为了提高效率;四、为了用户能在更多的环节上进行控制,增加用户的控制能力。

十二、网站的运行机制

Http请求-->IIS服务器(由于安装.NETFrameWork时,注册了ISAPI扩展功能(aspnet_isapi.dll))-->

接下来asp会判断站点是否是第一次被访问,如果是第一次被访问,则运行初始化工作(如加载bin目录中的dll动态链接库等)。

asp运行时还要创建HttpContext上下文实例响应HttpTextWriter实例,然后就是寻找合适的HttpHandler,并等待其经过处理然后返回的结果。

最后还要一些后续工作(如保存session),再通过IIS把响应结果返回给客户端。

十三、.net框架,两个主要的组件

1.公共语言运行库(CommonlanguageRuntime)(CLR):

是所有.net程序的执行引擎,为每一个.net程序准备了一个独立、安全、稳定的执行环境,包括内存管理、安全控制、代码执行、代码完全验证.....

2.类库(ClassLibrary):

是所有.net程序的一个公共的基础类库,程序开发人员只要思考程序的逻辑部分,其他(如数学计算、数据库操作)等各种复杂功能,利用这些类库实现即可。

十四、内置对象包括:

1.request:

响应对象,是HttpRequest类的一个实例,它提供对当前页请求的访问,包括标题,Cookie...

2.response:

请求对象,将数据从服务器发送回浏览器,它允许将数据作为请求的结果发送至浏览器中,并提供有关相应的信息。

3.application:

全局应用对象,用于共享应用程序级信息,即多个用户共享一个Application对象

4.session:

会话对象,session对象和application对象有些类似,都是用来存储跨网页程序的变量或者对象。

5.cookie:

保存信息对象,用于保存浏览器访问的服务器页面,也可以用它存放非敏感的用户信息。

6.server:

服务器信息处理对象,提供对服务器上属性和方法的访问,用于访问服务器上的资源

7.Page

7.Request.From和Request.QueryString对应的是Form提交时的两种不同提交方法_取得客户端在FROM表单中所输入的信息方法和_从查询字符串中读取用户提交的数据方法

8.Application提供两个事件_ApplicationOnStartApplication开始的时候调用该事件__Application_OnEnd_____Application结束时调用该事件

大题:

一、在iis上发布程序:

使用Vs2008的IDE自带的发布功能,进行发布操作.

a.在经过VS调试且运行正常的ASP.NET网站项目中,右键点击网站项目,选择"发布网站"后点击"目标路径"后便的Browser按钮(就那个...按钮),将弹出一个"发布网站"对话框.

b.在弹出的对话框中,先点击左侧的"本地IIS",然后在右侧的"资源管理器"上方,点击"创建新Web应用程序"后(也可以点击"创建虚拟目录"),输入应用程序的名字,之后一路ok就可以了

二、编程题:

关于DataTable、DataView(10分)

1.简述DataSet,DataTable,DataView三者之间的关系。

(1)一个DataSet对象包括一组DataTable对象和DataRelation对象,其中,每个DataTable对象由DataColumn、DataRow和DataRelation对象组成。

(2)在ADO.NET中,DataTable对象用于表示DataSet中的表。

DataTable表示一个内存内关系数据的表

(3)在ADO.NET中,DataView对象表示用于排序、筛选、搜索、编辑和导航的DataTable的可绑定数据的自定义视图;另外,可以自定义DataView来表示DataTable中数据的子集。

usingSystem;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Windows.Forms;

usingSystem.Data.SqlClient;

2.连接数据库并调用指定存储过程

//连接数据库

SqlConnectionconn=newSqlConnection(@"server=.;

database=ccc;IntegratedSecurity=True");

SqlCommandcmd=newSqlCommand("p_student",conn);

//指定类型为存储过程

cmd.CommandType=CommandType.StoredProcedure;

SqlDataAdaptersda=newSqlDataAdapter(cmd);

//数据集

DataSetds=newDataSet();

sda.Fill(ds);

this.dataGridView1.DataSource=

ds.Tables[0];

3.手动构造DataTable对象,并显示数据

privatevoidbutton1_Click(objectsender,EventArgse)

{

#region手动构造DataTable对象数据表

DataTabledt=newDataTable("student");

//产生列id

DataColumncol=newDataColumn("id");

//添加到表的列集合中

dt.Columns.Add(col);

//产生列name

DataColumncolname=newDataColumn("name");

//添加到表的列集合中

dt.Columns.Add(colname);

//产生列sex

DataColumncolsex=newDataColumn("sex");

//添加到表的列集合中

dt.Columns.Add(colsex);

//产生数据保存到dt中

DataRowrow=dt.NewRow();

//赋值1张三男

row[0]=1;//等价于row["id"]=1;

row[1]="张三";

row["sex"]="男";//等价于row[2]="男";

//添加到集合中

dt.Rows.Add(row);

DataRowrow2=dt.NewRow();

//赋值2张三男

row2[0]=2;

row2[1]="李四";

row2["sex"]="女";

//添加到集合中

dt.Rows.Add(row2);

#endregion

#regionDataView对象数据视图对象

//主要用于对DataTable表中数据的筛选和排序

DataViewdv=newDataView(dt);

//数据筛选where

//查询所有姓李的学生信息

//dv.RowFilter="namelike'李%'";

//排序orderby列名asc/desc升序/降序默认升序

dv.Sort="iddesc";

#endregion

//DataSet内存数据库数据集

DataSetds=newDataSet();

//将数据表添加到数据库中

ds.Tables.Add(dt);

//显示到界面上

this.dataGridView1.DataSource=ds.Tables[0];

}

4.构造DataSet对象,并显示数据

privatevoidbutton1_Click(objectsender,EventArgse)

{

//构造DataSet对象

DataSetds=newDataSet();

#region构造一个DataTable对象

DataTabledt=newDataTable("stu");

//产生几个列

DataColumncol=newDataColumn("id");

//添加到表中

dt.Columns.Add(col);

DataColumncol2=newDataColumn("name");

//添加到表中

dt.Columns.Add(col2);

DataColumncol3=newDataColumn("sex");

//添加到表中

dt.Columns.Add(col3);

//数据行

DataRowrow=dt.NewRow();

//给行中的数据赋值

row[0]="1";//等价于row["id"]="1";

row[1]="张三";

row[2]="男";

//将数据行添加到dt中

dt.Rows.Add(row);

DataRowrow2=dt.NewRow();

//给行中的数据赋值

row2[0]="2";//等价于row["id"]="2";

row2[1]="李四";

row2[2]="男";

//将数据行添加到dt中

dt.Rows.Add(row2);

#endregion

//将表dt添加到ds中

ds.Tables.Add(dt);

//DataView对象

DataViewview=newDataView(dt);

//排序

//view.Sort="iddesc";//asc/desc升序/降序默认升序

//筛选

view.RowFilter="len(name)=2";//"namelike'张%'";

//显示数据到DataGridView中

this.dataGridView1.DataSource=view;

}

5.通过sql语句查询数据库,并通过datagridview显示数据

privatevoidbutton1_Click(objectsender,EventArgse)

{

//查询数据库

SqlConnectionconn=new

SqlConnection(@"DataSource=.;

InitialCatalog=CCC;

IntegratedSecurity=True");

//查询语句

stringsql="select*fromstudent";

//适配器对象

SqlDataAdaptersda=

newSqlDataAdapter(sql,conn);

//数据集对象

DataSetds=newDataSet();

sda.Fill(ds);

this.dataGridView1.DataSource=

ds.Tables[0];

}

6.通过存储过程查询数据库,并通过datagridview显示数据

privatevoidbutton2_Click(objectsender,EventArgse)

{

//查询数据库

SqlConnectionconn=new

SqlConnection(@"DataSource=.;

InitialCatalog=CCC;

IntegratedSecurity=True");

//查询语句

//适配器对象

SqlDataAdaptersda=

newSqlDataAdapter("p_select",conn);

//指定命令类型为存储过程

sda.SelectCommand.CommandType=

CommandType.StoredProcedure;

//数据集对象

DataSetds=newDataSet();

sda.Fill(ds);

this.dataGridView1.DataSource=

ds.Tables[0];

}

           

三、文件流操作(10分)

usingSystem;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Windows.Forms;

usingSystem.IO;

1.打开会话窗口,获取某一个文件夹的路径

privatevoidbutton1_Click(objectsender,EventArgse)

{//弹出文件夹浏览对话框

FolderBrowserDialogf=newFolderBrowserDialog();

//显示出来

DialogResultdr=f.ShowDialog();

if(dr==DialogResult.OK)

{//选择了打开

//获取选中的路径

stringpath=f.SelectedPath;

this.textBox1.Text=path;

}

}

2.显示某一个文件夹下的所有文件

privatevoidbutton2_Click(objectsender,EventArgse)

{

stringcondition=this.textBox2.Text;

//获取文件夹下的所有子文件

stringpath=this.textBox1.Text;

//创建文件夹对象

DirectoryInfodir=

newDirectoryInfo(path);

//获取所有的子文件

FileInfo[]fs=dir.GetFiles(condition);

//循环显示到ListView中

//for(inta:

arr)

//清空

this.listView1.Items.Clear();

foreach(variteminfs)

{

ListViewItemlvi=

newListViewItem(item.Name);

lvi.SubItems.Add(item.Extension);

lvi.SubItems.Add(item

.CreationTime.ToString());

//添加到ListView中

this.listView1.Items.Add(lvi);

}

}

2.调用存储过程

SqlConnectionconn=newSqlConnection("server=.;database=master;integratedsecurity=true");

SqlCommandcmd=newSqlCommand("test1",conn);

//指定类型为存储过程

cmd.CommandType=CommandType.StoredProcedure;

//查询结果

SqlDataAdaptersda=newSqlDataAdapter(cmd);

DataSetds=newDataSet();

sda.Fill(ds);

this.dataGridView1.DataSource=ds.Tables[0];

3.IO流读取操作

//1.创建文件流

FileStreamfsRead=newFileStream("1.txt",FileMode.Open);

//2.创建缓冲区,正常情况下,是不会直接等于文件大小的。

这里只有读,所以就这么干了。

byte[]bytes=newbyte[fsRead.Length];

//3.开始读取,返回值是读取到的长度。

intr=fsRead.Read(bytes,0,bytes.Lenght);

//4.关闭释放流

fsRead.Close();

fsRead.Dispose();

4.IO流写入操作

//1.创建写入的文件流

  FileStreamfsWritefsWrite=newFileStream(@"xxx",FileMode.OpenOrCreate);

 //2.创建缓冲区

    Stringmsg="HelloWorld";

    byte[]bytes=Enconding.UTF8.GetBytes(msg);

  //3.开始写入

   fsWrite.Write(bytes,0,bytes.Length);

 //4.关闭

   fsWrite.Close();

   fsWrite.Dispose();

1.在文件流写入的时候,经常需

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1