讲义15:服务器端编程:Request&Response

一、内容提要

B/S模型

Reponse对象

Request 对象

二、内容及操作步骤

1. B/S模型

Browser: 浏览器

Server: Web 服务器,IIS

2.Web 开发环境的组成部分

(1) 浏览器:呈现HTML,提供输入表单UI,与用户进行交互

(2) WEB服务器:获取浏览器请求,并作出响应。响应数据通常来自数据库服务器

(3) 数据库服务器:存储数据的地方,通常可理解为装为Sql Server 的电脑

注意:

B/S之间基于HTTP协议通信

HTTP协议是请求-应答的协议,无状态。无状态是指两次请求-应答之间无相关性。

Web服务器通过Session会话对象管理浏览器与服务器之间多次请求-应答的相关性。

Session对象默认的生命期只有20分钟

3. 服务器端编程需解决的3个问题

(1) 服务端如何处理浏览器请求与应答问题:Request对象、Response对象

(2) 服务端如何管理与浏览器会话的问题:Session对象、Application对象、Cache对象

(3) 处理服务端变量、资源问题 :Server对象

4. 服务器编程相关的对象

(1) Request对象:在服务端,服务器用来获取浏览器请求的数据

类所在名称空间:System.Web.HttpRequest

是 页面对象Page 的属性

Request对象的成员:

属性:

QueryString: key-value 获取浏览器地址栏传入的参数信息,如: 1.aspx?id=100&type=1

Form : key-value 获取浏览器以表单的形式传入的参数信息

Cookies

Browser: 浏览器的版本号等信息

RawUrl : 浏览器的url串

UserHostAddress : 浏览器电脑的IP地址

(2) Response对象:在服务端,服务器用来向浏览器回应数据的对象

是 httpResponse类的实例

是 页面对象Page 的属性

Response对象的成员:

属性:

方法:

Redirect : 跳转

Write: 写入浏览器

问:页面对象?

Asp.net程序页面在服务端的实例,每一次请求一个ASPX页面的时候,服务端都会产生一个该页面对象的实例。

举例:用户登录过程分析

Login.htm => Login.aspx

[1] 浏览器第一次请求:在地址栏输入 Login.htm

[2] Web服务器将Login.htm的内容响应给浏览器

[3] 浏览器中呈现了一个用户登录界面,第一次会话结束

[4] 用户服在浏览器中输入登录信息并提交Login.aspx,发生第二次请求

[5] 服务器获取浏览器传入的登录信息,验证登录信息,如果成功,回应成功,否则回应失败

[6] 浏览器回应服务验证的结果界面,第二会话结束

三、常见错误

找不到项目文件存放位置

四、内容提要

集合:哈唏表、字典

Requst对象:QueryString、Form

Reponse对象:跳转、js输出

五、内容及操作步骤

1

集合:哈唏表、字典

1.1哈唏表:Hashtable 类

(1) 概述:是一种集合数据类型,每个成员是一个key-value对,键值对

(2) 类名:System.Collections.Hashtable

(3) 属性成员

方法成员:

1.2 字典类:Dictionary

(1) 概述:是一种集合数据类型,每个成员是一个key-value对,键值对

(2) 类名:System.Collections.Generic.Dictionary

(3) 属性成员

方法成员:

举例:

4

Request&Response对象的访问

(1) 是Page对象的属性:

在Web窗体的*.aspx.cs文件中,可以直接调用,也可以通过this关键字调用

(2)通过HTTP上下文对象访问

上下文对象:Context

上下文对象的类名:

System.Web.HttpContext

上下文类的静态成员:Current 可获得当前上下文对象的实例

举例:

5

Session对象

(1) 概述:在WEB服务器端用于管理浏览器与WEB服务端的会话状态,当新开一个浏览窗口向服务器发送请求时,服务器端就创建了一个Session对象,默认生命期20分钟。Session对象就一个全局唯一ID叫 SessionID,存储在浏览端的Cookie中,Cookie也是有生命期的。可将Session对象视为键值对集合。

(2) 类名:

System.Web.SessionState.HttpSessionState

(3) 属性:

(4) 方法:

(5) 举例:演示系统登录制作,思路如下:

制作登录页面,包括:用户名、密码、角色选择;提交

服务器端获取用户提交的信息:账号、密码、角色

验证:用户提交的账号口令与系统中存储的账号口令是否匹配

通过验证:

根据用户账号查询该用户其他信息,如:真实姓名、icon、角色名称、部分名称等,封闭为一个对象,如:CurrentUser

将CurrentUser类的对象写入到Session键值对中去。

写登录日志、获取用户权限等

没有通过验证:

提示错误请重试,更新出错计数器

检查出错计数器是否达到阀值,如达到:限制登录

六、常见错误

找不到项目文件存放位置

感谢阅读

关注“熊哥是程序猿”

学习更多知识

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171218G0F4LP00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券