前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >讲义15:服务器端编程:Request&Response

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

作者头像
企鹅号小编
发布2018-02-24 09:53:27
7770
发布2018-02-24 09:53:27
举报

一、内容提要

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键值对中去。

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

没有通过验证:

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

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

六、常见错误

找不到项目文件存放位置

感谢阅读

关注“熊哥是程序猿”

学习更多知识

本文来自企鹅号 - 熊哥是程序员媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文来自企鹅号 - 熊哥是程序员媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档