24
ASP.NET 学学 2009-07-22 by haha

Asp.net 介绍

  • Upload
    yifeng

  • View
    1.400

  • Download
    0

Embed Size (px)

DESCRIPTION

ASP.NET的一次讲座PPT

Citation preview

Page 1: Asp.net 介绍

ASP.NET学习

2009-07-22 by haha

Page 2: Asp.net 介绍

Topic

ASP.NET 概念 C# VS Java ASP.NET HTTP 请求处理流程 ASP.NET 页面生命周期 ASP.NET VS JSP ASP.NET Web 服务器控件 ADO.NET ASP.NET Tutorial

Page 3: Asp.net 介绍

What is ASP.NET ? .Net Framework 是一种开发和执行环境 ( 平台 ) 。

借此,不同的编程语言和库可以无缝地协同工作来创建 Windows 、 Web 或 Mobile 应用程序,它们更易于构建、管理、部署,通过 CLR 为基础,支持多种语言开发。

CLR( 公共语言运行库, Common Language Runtime)和 Java 虚拟机一样也是一个运行时环境,它负责资源管理(内存分配和垃圾收集),并保证应用和底层操作系统之间必要的分离。

ASP.NET 是一种用于创建动态 Web 应用程序的技术。 是 .NET Framework 的一部分;可以采用大多数与 .NET 兼容的语言编写 ASP.NET 应用程序,其中包括 Visual Basic 、 C# 和 J# 。

Page 4: Asp.net 介绍
Page 5: Asp.net 介绍

Java - .NET platform

• Java Virtual Machine (JVM)aka Java Runtime Environment (JRE)

– Linux, Windows, Mac and Unix– download from Sun

• JIT compiler and libraries

• Java Development Kit (JDK)– Java compiler and utilities

• Java bytecode

• integrated development env. (IDE)– Eclipse (free - IBM)– Netbeans (free - Sun)

• application servers– Tomcat– Glassfish (Sun)– BEA Weblogic– IBM Websphere

• Microsoft .NET Framework 2.0 aka .NET common language runtime (CLR)

• all versions of Windows (40+)• download from Microsoft

• JIT compiler and libraries

• NET framework 2.0 SDK• C# and VB.NET compilers and utilities

• Common Intermediate Language (CIL)

• integrated development env. (IDE)• Visual Studio Express (free - Microsoft)

• application servers• Microsoft Internet Information Server (IIS)

FREE

NOT

Page 6: Asp.net 介绍

Why ASP.NET ?

ASP.NET 页面 (Web Forms) 要经过编译,与使用脚本编写语言相比,有更好的性能。

Web Forms 允许构建强大的基于窗体的 Web 页面。构建这些页面时,可以使用 ASP.NET 服务器控件创建常用的 UI 元素并对其进行编程以执行常见的任务。

另外, ASP.NET 中还包括有页面事件、 Web 控件、缓冲技术,以及服务器控件和对数据绑定的改进。供 ASP.NET 使用的类库,以及在 .NET 框架中允许通过外部调用函数,为程序员提供了更多新的开发机会。

Page 7: Asp.net 介绍

Preparation

Visual Studio 2008 —— 工欲善其事,必先利其器Visual Studio 2008 每日提示

SQLServer 2005

IIS 配置、部署 MSDN

http://msdn.microsoft.com/zh-cn/default.aspx

CreateSchema.sql

Page 8: Asp.net 介绍

C# VS Java 类的定义

Java 中,所有源文件的扩展名均为 .java 。类名必须与文件名匹配。C# 源代码用 .cs 扩展名表示,类名与文件名无关。

命名空间C# 通过 namespace 关键字将相关类按逻辑方式组合在一起。与 Java 包的作用相似,并且同一个类可以出现在两个不同的命名空间内。若要访问在当前命名空间之外的某个命名空间中定义的类,使用 using 指令,并在该指令后面加上命名空间名称。

访问权限C# 有 public 、 internal 、 protected 、 private ,比 java 多了个 internal ,其实它跟 java 的包访问差不多, internal 表示同一个编译集合(如 exe 、 dll )下的类可以互访。在 java 中, protected 拥有包访问权限;而在 C# 中, protected 只可以被本类和其继承子类存取。类的默认访问权限: internal

类内的成员变量默认的访问权限: private

Page 9: Asp.net 介绍

C# VS Java 方法参数

Java 语言总是使用传值调用,在 C# 中,所有参数在默认情况下均通过值传递。若要通过引用传递,您需要指定关键字 ref 或 out 。

Main 方法在 C# 中, Main 的首字母大写,而 Java 使用小写的 main 。Main 只能返回 int 或 void ,并有一个代表命令行参数的可选字符串数组参数在 java 中, public static void main(String[] args) 中只有 args 可变。

get 、 set 访问器在 java 中,我们使用 getters 和 setters ;在 c# 中,属性通过访问器进行访问,分为:读 /写属性、只读属性、只写属性person.cs

Page 10: Asp.net 介绍

C# VS Java foreach vs for

C# : foreach(int a in array) (array 是一个 int 数组 );

Java : for(int a : array)

继承、接口

Boxing and Unboxing

Page 11: Asp.net 介绍

C# VS JavaC# 中,防止一个类被继承,要用关键字 sealed ,而定义一个常量时,要用const ; java 统一用 final (多好啊)。

Java 的 boolean 在 C# 中称为 bool 。

在 C# 中,要比较两个引用变量是否指向同一个对象,不能用 java 中的 == ,而要用 Object里的 ReferenceEquals 方法。所以 java 中的 o1==o2等价于 C# 中的 Object.ReferenceEquals(o1, o2) 。

。。。

Page 12: Asp.net 介绍

ASP.NET Http 请求处理流程

Page 13: Asp.net 介绍

ASP.NET Http 请求处理流程

Page 14: Asp.net 介绍

ASP.NET 页面生命周期

Page 15: Asp.net 介绍

ASP.NET VS JSP• jsp+JavaBean• ASP.NET 采用了 Code-Behind 技术和服务器端控件,加入了服务器端的事件的概念

• JSP/Java bean are limited simple HTML inputs.ASP.NET support rich components (none-HTML, such as Grid and TreeView).

Page 16: Asp.net 介绍

WEB 服务器控件

Page 17: Asp.net 介绍

数据控件

Page 18: Asp.net 介绍

数据源控件

Page 19: Asp.net 介绍

SqlDataSource

Page 20: Asp.net 介绍

ADO.NET

ADO.NET 是一组向 .NET 程序员公开数据访问服务的类。ADO.NET 为创建分布式数据共享应用程序提供了一组丰富的组件。它提供了对关系数据、 XML 和应用程序数据的访问。

ADO.NET 通过数据处理将数据访问分解为多个可以单独使用或一前一后使用的不连续组件。 ADO.NET 包含用于连接到数据库、执行命令和检索结果的 .NET Framework 数据提供程序。可以直接处理检索到的结果,或将其放入 ADO.NET DataSet 对象,以便与来自多个源的数据或在层之间进行远程处理的数据组合在一起,以特殊方式向用户公开。

Page 21: Asp.net 介绍

using System;using System.Data;using System.Data.SqlClient;class Program{

static private string GetConnectionString() { // To avoid storing the connection string in your code, // you can retrieve it from a configuration file. return "Data Source=(local);Initial Catalog=Northwind;" + "Integrated Security=SSPI"; }

static void Main() { string connectionString = GetConnectionString();

string queryString = "SELECT CategoryID, CategoryName FROM dbo.Categories;";

Page 22: Asp.net 介绍

using (SqlConnection connection = new SqlConnection(connectionString)){

SqlCommand command = connection.CreateCommand(); command.CommandText = queryString;

try{

connection.Open();SqlDataReader reader = command.ExecuteReader();

while (reader.Read()){

Console.WriteLine(“\t{0}\t{1}”, reader[0], reader[1]);}reader.Close();

}catch (Exception ex){ Console.WriteLine(ex.Message);}}

}

Page 23: Asp.net 介绍

DEMOCreating a Data Access Layer

Page 24: Asp.net 介绍

DEMOCURD with SqlDataSource and ObjectDataSource