在Web项目开发中你是如何选择会话管理技术的
2010-06-14 16:52
771 查看
Ajax的定义
Ajax不是一个技术,它实际上是几种技术,每种技术都有其独特这处,合在一起就成了一个功能强大的新技术。Ajax包括:
XHTML和CSS
使用文档对象模型(Document Object Model)作动态显示和交互
使用XML和XSLT做数据交互和操作
使用XMLHttpRequest进行异步数据接收
使用JavaScript将它们绑定在一起
传统的web应用模型工作起来就象这样:大部分界面上的用户动作触发一个连接到Web服务器的HTTP请求。服务器完成一些处理---接收数据,处理计算,再访问其它的数据库系统,最后返回一个HTML页面到客户端。这是一个老套的模式,自采用超文本作为web使用以来,一直都这样用, 但看过《The Elements of User Experience》的读者一定知道,是什么限制了Web界面没有桌面软件那么好用。
图1: 传统Web应用模型(左)与Ajax模型的比较(右).
这种旧的途径让我们认识到了许多技术,但它不会产生很好的用户体验。当服务器正在处理自己的事情的时候,用户在做什么?没错,等待。每一个动作,用户都要等待。
很明显,如果我们按桌面程序的思维设计Web应用,我们不愿意让用户总是等待。当界面加载后,为什么还要让用户每次再花一半的时间从服务取数据?实际上,为什么老是让用户看到程序去服务器取数据呢? Ajax如何不同凡响
通过在用户和服务器之间引入一个Ajax引擎,可以消除Web的开始-停止-开始-停止这样的交互过程. 它就像增加了一层机制到程序中,使它响应更灵敏,而它的确做到了这一点。
不像加载一个页面一样,在会话的开始,浏览器加载了一个Ajax引擎---采用JavaScript编写并且通常在一个隐藏frame中。这个引擎负责绘制用户界面以及与服务器端通讯。Ajax引擎允许用异步的方式实现用户与程序的交互--不用等待服务器的通讯。所以用户再不不用打开一个空白窗口,看到等待光标不断的转,等待服务器完成后再响应。
图 2: 传统Web应用的同步交互过程(上)和Ajax应用的异步交互过程的比较(下).
通常要产生一个HTTP请求的用户动作现在通过JavaScript调用Ajax引擎来代替. 任何用户动作的响应不再要求直接传到服务器---例如简单的数据校验,内存中的数据编辑,甚至一些页面导航---引擎自己就可以处理它. 如果引擎需要从服务器取数据来响应用户动作---假设它提交需要处理的数据,载入另外的界面代码,或者接收新的数据---引擎让这些工作异步进行,通常使用XML, 不用再担误用户界面的交互。
简明net中GDI+的三种坐标各自的特点
编程 输入一个字符串 统计字母出现几次,如“Hello World!”中l出现三次。
我写的:避免双重循环:
#include "stdio.h"
#define N 100
int main() {
char s
;
printf("Input a string:/n");
scanf("%s",s);
int i,up[26]={0},down[26]={0};
for(i=0;i<N && s[i]!=0;i++) {
if(s[i]>='A' && s[i]<='Z') // 大写字母
up[ s[i]-'A' ]++;
else if(s[i]>='a' && s[i]<='z') //小写字母
down[ s[i]-'a' ]++;
else { // 其它 出错
printf("What you input is not a valid string,error--> %c/n",s[i]);
return 0;
}
}
printf("The result is as follows:/n");
for(i=0;i<26;i++) {
if(up[i]!=0)
printf("%c----%d/n",i+'A',up[i]);
if(down[i]!=0)
printf("%c----%d/n",i+'a',down[i]);
}
return 0;
}
Ajax不是一个技术,它实际上是几种技术,每种技术都有其独特这处,合在一起就成了一个功能强大的新技术。Ajax包括:
XHTML和CSS
使用文档对象模型(Document Object Model)作动态显示和交互
使用XML和XSLT做数据交互和操作
使用XMLHttpRequest进行异步数据接收
使用JavaScript将它们绑定在一起
传统的web应用模型工作起来就象这样:大部分界面上的用户动作触发一个连接到Web服务器的HTTP请求。服务器完成一些处理---接收数据,处理计算,再访问其它的数据库系统,最后返回一个HTML页面到客户端。这是一个老套的模式,自采用超文本作为web使用以来,一直都这样用, 但看过《The Elements of User Experience》的读者一定知道,是什么限制了Web界面没有桌面软件那么好用。
图1: 传统Web应用模型(左)与Ajax模型的比较(右).
这种旧的途径让我们认识到了许多技术,但它不会产生很好的用户体验。当服务器正在处理自己的事情的时候,用户在做什么?没错,等待。每一个动作,用户都要等待。
很明显,如果我们按桌面程序的思维设计Web应用,我们不愿意让用户总是等待。当界面加载后,为什么还要让用户每次再花一半的时间从服务取数据?实际上,为什么老是让用户看到程序去服务器取数据呢? Ajax如何不同凡响
通过在用户和服务器之间引入一个Ajax引擎,可以消除Web的开始-停止-开始-停止这样的交互过程. 它就像增加了一层机制到程序中,使它响应更灵敏,而它的确做到了这一点。
不像加载一个页面一样,在会话的开始,浏览器加载了一个Ajax引擎---采用JavaScript编写并且通常在一个隐藏frame中。这个引擎负责绘制用户界面以及与服务器端通讯。Ajax引擎允许用异步的方式实现用户与程序的交互--不用等待服务器的通讯。所以用户再不不用打开一个空白窗口,看到等待光标不断的转,等待服务器完成后再响应。
图 2: 传统Web应用的同步交互过程(上)和Ajax应用的异步交互过程的比较(下).
通常要产生一个HTTP请求的用户动作现在通过JavaScript调用Ajax引擎来代替. 任何用户动作的响应不再要求直接传到服务器---例如简单的数据校验,内存中的数据编辑,甚至一些页面导航---引擎自己就可以处理它. 如果引擎需要从服务器取数据来响应用户动作---假设它提交需要处理的数据,载入另外的界面代码,或者接收新的数据---引擎让这些工作异步进行,通常使用XML, 不用再担误用户界面的交互。
简明net中GDI+的三种坐标各自的特点
编程 输入一个字符串 统计字母出现几次,如“Hello World!”中l出现三次。
我写的:避免双重循环:
#include "stdio.h"
#define N 100
int main() {
char s
;
printf("Input a string:/n");
scanf("%s",s);
int i,up[26]={0},down[26]={0};
for(i=0;i<N && s[i]!=0;i++) {
if(s[i]>='A' && s[i]<='Z') // 大写字母
up[ s[i]-'A' ]++;
else if(s[i]>='a' && s[i]<='z') //小写字母
down[ s[i]-'a' ]++;
else { // 其它 出错
printf("What you input is not a valid string,error--> %c/n",s[i]);
return 0;
}
}
printf("The result is as follows:/n");
for(i=0;i<26;i++) {
if(up[i]!=0)
printf("%c----%d/n",i+'A',up[i]);
if(down[i]!=0)
printf("%c----%d/n",i+'a',down[i]);
}
return 0;
}
相关文章推荐
- Web开发之会话管理技术(Cookie、Session)
- 艾伟也谈项目管理,技术领导的疑难:如何掌控其他成员的开发
- 技术/开发人员如何转型项目管理
- [技术讨论]如何跟项目经理搞好关系,关于ajax的对话和开发工具
- JavaWeb项目开发案例精粹-第6章报价管理系统-03Dao层
- JavaWeb项目开发案例精粹-第6章报价管理系统-07View层
- 教你如何选择Node.js Web开发框架?
- Java Web项目开发到底需要掌握哪些技术?
- Java Web开发-项目部分(中国移动科技综合管理系统)视频――私塾在线提供
- 项目开发管理技术之项目版本控制、软件建模、软件测试、项目文档管理
- 如何选择Web开发框架
- 开发项目如何选择开发语言
- 如何选择Web开发框架
- 漫谈:选择Java Web开发真不容易 技术族谱
- 转载:如何开发高性能低成本的网站之技术选择
- 创业项目该如何选择技术?
- 如何做好WEB开发项目经理
- 如何开发高性能低成本的网站之技术选择
- Java Web项目开发到底需要掌握哪些技术?
- 项目管理如何和开发人员沟通?