LoggingFilter Session 以及Async
Java中的Filter 并不是一个标准的Servlet ,它不能处理用户请求,也不能对客户端生成响应。 主要用于对HttpServletRequest 进行预处理,也可以对HttpServletResponse 进行后处理,是个典型的处理链。
过滤链的好处是,执行过程中任何时候都可以打断,只要不执行chain.doFilter()就不会再执行后面的过滤器和请求的内容。而在实际使用时,就要特别注意过滤链的执行顺序问题。
过滤器的作用描述:
- 在HttpServletRequest 到达Servlet 之前,拦截客户的HttpServletRequest 。
- 根据需要检查HttpServletRequest ,也可以修改HttpServletRequest 头和数据。
- 在HttpServletResponse 到达客户端之前,拦截HttpServletResponse 。
- 根据需要检查HttpServletResponse ,可以修改HttpServletResponse 头和数据。
Session:在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下)。因此,在需要保存用户数据时,服务器程序可以把用户数据写到用户浏览器独占的session中,当用户使用浏览器访问其它程序时,其它程序可以从用户的session中取出该用户的数据,为用户服务。
Async:Async函数定义:
async 函数就是 Generator 函数的语法糖。
前文有一个 Generator 函数,依次读取两个文件。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
var fs = require( 'fs' );
var readFile = function (fileName){
return new Promise( function (resolve, reject){
fs.readFile(fileName, function (error, data){
if (error) reject(error);
resolve(data);
});
});
};
var gen = function * (){
var f1 = yield readFile( '/etc/fstab' );
var f2 = yield readFile( '/etc/shells' );
console.log(f1.toString());
console.log(f2.toString());
};
|
写成 async 函数,就是下面这样。
1
2
3
4
5
6
|
var asyncReadFile = async function (){
var f1 = await readFile( '/etc/fstab' );
var f2 = await readFile( '/etc/shells' );
console.log(f1.toString());
console.log(f2.toString());
};
|
优点:1.内置执行器。 Generator 函数的执行必须靠执行器,所以才有了 co 函数库,而 async 函数自带执行器。也就是说,async 函数的执行,与普通函数一模一样,只要一行。
2.更好的语义。 async 和 await,比起星号和 yield,语义更清楚了。async 表示函数里有异步操作,await 表示紧跟在后面的表达式需要等待结果。
3.更广的适用性。 co 函数库约定,yield 命令后面只能是 Thunk 函数或 Promise 对象,而 async 函数的 await 命令后面,可以跟 Promise 对象和原始类型的值(数值、字符串和布尔值,但这时等同于同步操作)
转载于:https://www.cnblogs.com/fl2017/p/8691098.html
LoggingFilter Session 以及Async相关推荐
- python3 异步 async with 用法
异步上下文管理器"async with" 异步上下文管理器指的是在enter和exit方法处能够暂停执行的上下文管理器. 为了实现这样的功能,需要加入两个新的方法:__aenter ...
- python async_python async with和async for的使用
网上async with和async for的中文资料比较少,我把PEP 492中的官方陈述翻译一下. 异步上下文管理器"async with" 异步上下文管理器指的是在enter ...
- Python中的async with用法
原文出处:<async with和async for> 网上async with和async for的中文资料比较少,我把PEP 492中的官方陈述翻译一下. 异步上下文管理器" ...
- 介绍一个效率爆表的数据采集框架
作者 | 俊欣 来源丨关于数据分析与可视化 今天我们来聊一下如何用协程来进行数据的抓取,协程又称为是微线程,也被称为是用户级线程,在单线程的情况下完成多任务,多个任务按照一定顺序交替执行. 那么aio ...
- python scrapy框架基如何实现多线程_【转】爬虫的一般方法、异步、并发与框架scrapy的效率比较...
问题的由来 我们的需求为爬取红色框框内的名人(有500条记录,图片只展示了一部分)的 名字以及其介绍,关于其介绍,点击该名人的名字即可,如下图: 这就意味着我们需要爬取500个这样的页面,即500个H ...
- asyncio简单入门(二)
请求网页 方法一: import asyncio import requestsasync def main():loop = asyncio.get_event_loop()future1 = lo ...
- Python爬虫入门教程石家庄链家租房数据抓取
1. 写在前面 这篇博客爬取了链家网的租房信息,爬取到的数据在后面的博客中可以作为一些数据分析的素材. 我们需要爬取的网址为:https://sjz.lianjia.com/zufang/ 2. 分析 ...
- 不会这几个库,都不敢说我会Python爬虫
很多朋友不知道Python爬虫怎么入门,怎么学习,到底要学习哪些内容.今天我来给大家说说学习爬虫,我们必须掌握的一些第三方库. 废话不多说,直接上干货. 1 请求库 1. requests GitHu ...
- 第17讲:aiohttp 异步爬虫实战
在上一课时我们介绍了异步爬虫的基本原理和 asyncio 的基本用法,另外在最后简单提及了 aiohttp 实现网页爬取的过程,这一可是我们来介绍一下 aiohttp 的常见用法,以及通过一个实战案例 ...
- 1分钟爬取全国高校信息,制成大屏可视化!
记得当初高考完,我选学校的时候是在书店买的高校信息排名的书,然而书中的信息都是很久之前的,并没有什么太大帮助.今天就来带大家爬点真正有用的东西,全国高校信息,涵盖绝大多数高校,并制作可视化看板.话不多 ...
最新文章
- 李彦宏喊你来坐出租车,无人驾驶的那种;百度还要继续搞芯片,联手华为的那种...
- python语言怎么学-怎么学Python语言呢?粤嵌Python学习路线入门
- 【Java并发编程】—–“J.U.C”:ConcurrentLinkedQueue
- ajax发送post请求_按键精灵安卓版发送post和get请求
- Debug Tensorflow: 随着训练进行,内存消耗越来越大
- 解决vmware移动虚拟机之后执行ifconfig命令无输出的问题
- 前端学习(2045)vue之电商管理系统电商系统之优化chainwebpack自定义打包入口
- 最实用的Git命令总结:新建本地分支、远程分支、关联和取消关联分支、清除本地和远程分支、合并分支、版本还原、tag命令、中文乱码解决方案、如何fork一个分支和修改后发起合并请求
- 应用配置管理ACM 使用场景快速入门
- MOSS2007服务器端的安装与基本配置
- endnote无法同步原因_endnote不能同步(endnote retrieving references)的解决方法
- python3 下载文件-使用Python 3从网上下载文件
- 苹果成为存储厂商的新饽饽
- selenium:解决页面元素display:none的方法
- AGC002E(AtCoder1999) Candy Piles(博弈论)
- iwebshop关于按钮点击提示的系列代码操作流程
- 01、静态工厂方法替代构造器
- 【UVA-10891】Game of Sum【区间DP】
- 敏捷开发宣言 (一)
- docker 安装 oracle
热门文章
- 文献阅读 Fully Convolutional Networks for Semantic Segmentation
- (6)matplotlib下水平竖直线绘制
- sonar mysql svn_jenkins+sonarqube+svn/git踩过的坑
- LibSvm使用说明和LibSvm源码解析
- R-FCN算法及Caffe代码详解
- python-random
- rsr分档matlab,matlab练习程序(dubins曲线)
- 用 Truffle 插件自动在Etherscan上验证合约代码
- C++ STL容器在for循环中删除迭代器 正确方法 it++正确吗
- 【Django 2021年最新版教程9】数据库查询操作