ADO.NET(一)--WebForm简单介绍

WebForm

B/S程序

浏览器服务应用程序,直接可以解释为网站类应用程序

在这里插入图片描述

静态网页与服务器技术

静态网页

  1. 以.html或以.htm为后缀的网页文件
  2. 只能单纯的显示文本和图像
  3. 无法和用户进行数据交互,无法根据用户的请求显示不同的网页内容(也就是无法和后台数据库交互)

服务器端开发技术

  1. 不仅可以显示文本和图像
  2. 还可以根据用户的需求,动态的显示不同的网页内容(可以和后台数据库交互)

客户端和服务器

B/S程序中的客户端和服务器的概念和C/S程序有着不同的辨别方式

.NET C/S中

  1. 客户端基本上是由Winform、WPF、控制台等后端语言设计好客户端界面,然后程序通过Socket网络或者服务等技术连接服务器进行工作
  2. 服务器端基本上以SQL数据库为主以及另外的服务端应用程序作为客户端的服务软件,服务器必备一个能够执行计算机语言的环境

.NET B/S中

  1. 客户端软件基本上指的是浏览器软件,而客户端程序指的是HTML页面,可以理解为BS项目其实就是将CS中的客户端通过HTML+CSS的页面替换,最终客户在浏览器中看见的永远都是HTML文件,因为浏览器能够执行的语言HTML+CSS+JS
  2. 服务器端是指远程具有执行服务器语言(C#/Java/PHP/Python…)等一系列计算机语言的环境的计算机,服务器语言能够访问数据库,根据请求将数据获取到之后在进行和客户端网页交互,将数据交给客户端显示

BS和CS

CS的工作原理:服务器计算机语言----数据库进行交互

BS的工作原理:客户端页面----服务器计算机语言----数据库进行交互

ADO.NET指的是通过C#语言访问数据库的这个过程技术

ASP.NET指的是客户端网页通过ADO.NET技术进行页面数据刷新的这个过程技术

服务器:必备的两个条件

  1. 能够支持服务端应用程序开发语言所能够正常运行的环境
  2. 服务器上必须提供一个支持应用程序的数据库(数据库直接放在服务器上也行,或者这个服务器要能够通过自身能够找到目标数据库)

常见的服务端开发技术

ASP、ASP.NET、JSP、PHP…

ASP

(Active Server Page)–动态服务器页面,使用VBScript开发后台程序

ASP.NET

  1. 基于.NET平台,可以使用C#也可以使用VB.NET开发后台程序
  2. ASP.NET主要用来开发Web应用程序
  3. ASP.NET程序主要运行在IIS中

了解IIS

  1. IIS(Internet Information Services)是微软的Internet服务器
  2. IIS是Windows Server操作系统免费捆绑的组件
  3. IIS是Web应用程序运行的服务器

WebForm

表单回顾

<form action="/" method="post">
     <input type="text" name="num1" value="" />+
     <input type="text" name="num2" value="" />=
     <input type="text" name="res" value="" />
     <input type="submit" name="btnRsault" value="计算" />
</form>
  1. 表单的作用:收集用户输入的数据,并提交给后台服务器
  2. 表单的组成:表单域、表单元素、提示信息
  3. 表单的属性:
    1. action:数据提交的目的地(后台数据接收与处理模块:C#文件)
    2. method:数据提交的形式(post:隐式发送;get显示发送)
    3. name:name属性决定哪个表单元素中的value的值能够被提交到后台

静态页面运行

  1. 文件目录作为地址运行:file:///E:/Y11%E7%8F%AD/0416ASP.NET-WebForm/code/ASP.NETWebDemo/ASP.NETWebDemo/01index.html
  2. 以虚拟服务地址运行:https://localhost:44305/01index.html

这两种运行方式完全不一样:打开html根目录运行html文件是不需要网络传输,必须要保证客户端计算机能够访问到目标地址文件。运行原理是:浏览器直接执行这个html文件

而虚拟服务地址运行,相当于将html文件存放在了一个服务器上,访问的时候只要网络能够打通则即可通过网络路径进行访问这个html文件。运行原理:浏览器先从服务器路径上将该html文件下载到本地浏览器内存中,然后执行下载的html文件

报文

当Form表达向服务器发起请求时,会将表单中设置有name属性的表单元素的value值放进报文中通过Internet网络传输,BS的数据传输基本上全部凭借报文进行传输数据,HTTP协议传输协议就是传输报文。报文的格式是世界万维网组织提供的报文格式

在这里插入图片描述

  1. 如果表单提交方式是以get提交:

    具有name属性的表单元素的value值会被封装在消息头的请求网址中随着网络进行传输,意味着可以在浏览器的URL框中的网址后面以“name1值=value1值&name2值=value2值…”形式传输

在这里插入图片描述

  1. 如果表单提交方式是以post提交:

    具有name属性的表单元素的value值会被封装在报文的参数中随着网络进行传输,意味着在浏览器的URL框中看不到传输的数据格式

在这里插入图片描述

总结:

  1. 如果表单元素的value值要被传输到服务器,则必须要设置name属性
  2. get提交则提交的数据信息会在URL框中出现,因此传输数据量有限,不安全,但是传输速度快
  3. post提交则提交的数据信息不回出现在URL框中,因此传输数据量没有限制,相对比较安全,但是传输速度相比较较慢

面试题

1、get在浏览器回退时是无害的,而post会再次请求。
2、get产生的URL地址可以被收藏,而post不会。
3、get请求会被浏览器主动缓存,而post不会,除非手动设置。
4、get请求只能进行URL编程,而post支持多种编码方式。
5、get请求参数会被完整保留在浏览器历史里,而post中的参数不会被保留。
6、get请求在URL中传送的参数有长度限制,而post没有。
7、对参数的数据类型,get只接受ascll字符,而post没有限制。
8、get不如post安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
9、get参数通过URL传递,post放在request body中。

一般处理程序

什么是一般处理程序

一般处理程序是一个后缀为.ashx的代码文件,该文件的类实现了IHttpHandler接口,这个类用于负责处理它所对应的URL的访问请求,并接受客户端发送的请求信息和发送响应内容。

提示:实现IHttpHandler接口的类是作为一个外部请求程序的前提,凡是没有实现该接口的类都不能被浏览器访问。

什么时候用

虽然通过标准的方式可以创建处理程序,但是实现的步骤比较复杂,为了方便网站开发中对处理程序的应用,从Asp.net 2.0开始,asp.net提供了称为一般处理程序的处理程序,允许我们使用比较简单的方式定义扩展名为ashx的专用处理程序。

对于asp.net网站来说,网站最佳的处理结果就是HTML网页,生成网页的工作通常使用扩展名为aspx的Web窗体来完成。对于处理结果不是HTML的请求,都可以通过一般处理程序完成。例如生成RSS Feed、XML、图片等。

一般处理程序是asp.net网站中最为简单、高效的处理程序,在处理返回类型不是HTML的请求中有着重要的作用。

简单理解:一般处理程序就类似于CS程序中的Program文件可以直接运行执行,可以处理一些简单的客户端的需求

    public class Handler1 : IHttpHandler
    {
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            context.Response.Write("Hello World");
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }

方法

  1. ProcessRequest方法:处理请求的方法,是一般处理程序的核心方法

    HttpContext参数:这个对象中包含有网络传输的所有的内容,例如客户端发起请求的所有的表单数据等

    HttpContext对象的属性:

    1. Request属性:是一个对象,这个对象包含有报文所有的请求头的数据信息
    2. Response属性:是一个对象,这个对象包含有报文所有的响应头的数据信息
发布了148 篇原创文章 · 获赞 365 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/chonbi/article/details/105566157