一、内容提要
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键值对中去。
写登录日志、获取用户权限等
没有通过验证:
提示错误请重试,更新出错计数器
检查出错计数器是否达到阀值,如达到:限制登录
六、常见错误
找不到项目文件存放位置
感谢阅读
关注“熊哥是程序猿”
学习更多知识
领取专属 10元无门槛券
私享最新 技术干货