Apache Tomcat8必备知识
Apache Tomcat8必备知识
作者:chszs,转载需注明。博客主页: http://blog.csdn.net/chszs
一、Apache Tomcat 8介绍
Apache Tomcat 8RC1版于前几日发布。它 经过了2年的开发,引入了很多新特征,由于目前还只是Alpha版,故不推荐在产品中使用。但是我们应该了解它有哪些新特性,以便在稳定版出来后,用到我们的开发项目中去。
Apache Tomcat 8支持Java EE 7规范,包括Java Servlet 3.1、JSP 2.3、Java统一表达式语言EL 3.0等。
我们可以来看看Tomcat最近几个版本分别支持的JavaEE规范。
------------------------
Tomcat 6:
Servlet 2.5、JSP 2.1、EL 2.1
Tomcat7:
Servlet 3.0、JSP 2.2、EL 2.2
Tomcat8:
Servlet 3.1、JSP 2.3、EL 3.0
------------------------
除此以外,Tomcat 8还支持像Java WebSocket 1.0这样的新规范。
二、Servlet 3.1介绍
Servlet 3.1最大的改进是实现了非阻塞式的I/O通信。这使得性能得到巨大的改进,数据可以通过ReadListener和WriteListener接口以异步的方式进行管理。
Servlet 3.1的第二大改进是HTTP协议的升级。它允许客户端指定双方通信所使用的协议。比如说,服务器和客户端原本使用HTTP通信协议,能够升级成WebSockets通信。
三、JSP 2.3介绍
JSP 2.3相比2.2版本,并没有增加什么新功能或新特性,主要是维护和清理。
四、EL 3.0介绍
EL 3.0较之前的版本有很大的改进和增强。主要有:
1)EL可以以"独立模式"的方式运行,即运行于Servlets和JSP页面之外。
简而言之,此增强可以使用ELProcessor类在Servlet容器内或容器外进行直接调用。
2)EL表达式还支持Lambda表达式,这一点与Java 8相似,这些表达式可以简化代码。
表达式包括:参数集、Lambda操作符、函数体。
3)集合操作符允许构造Set、List和Map等集合类型。
4)Java EL流式API包含了forEach、reduce、filter、map等过滤器。
这里可以获得集合或列表List,调用字符串夫妇,或者在列表List运行外部的过滤器或聚合函数。比如,你可以对字符串求和。
5)通过EL上下文的导入,开发者能够直接访问任何类的静态字段和方法。
五、WebSocket 1.0介绍
Tomcat 8正式支持WebSocket 1.0这个标准的API。尽管Tomcat 7也提供了支持,但是它只是部分支持,因为在Tomcat 7的时代,标准还未正式制定。目前,大多数网站还以半双工模式运行HTTP通信,这意味着通信在两端都可能发生,但是在同一时间点,只能有1个方向的通信。这有点像对讲机。
WebSockets协议是一个全双工协议,它意味着在同一时间点,通信是双向传输数据的。WebSockets也是HTML5的规范之一。
六、Tomcat 8内部的改进
Tomcat 8最大的变化是资源Resource。Tomcat 8的资源进行了重构,可以更好地支持外部资源。原先的别名Aliases、VirtualLoader、VirtualDirContext、JAR资源和外部仓库等,现在都以单个的、一致的方法进行配置。这个新的资源的实现也可以用于主WAR包,并作为其它多个Web应用程序的基础。
此外,还有对SPDY协议的支持,这里还有些争议,因为SPDY还不够完善。
最后,Tomcat 8还有些安全方面的增强,主要是SSL加密提供了额外的诊断信息。
Apache Tomcat8必备知识的更多相关文章
- Apache Tomcat8必备知识(完整的支持WebSockets 1.0)
一.Apache Tomcat 8介绍 Apache Tomcat 8RC1版于前几日发布.它 经过了2年的开发,引入了很多新特征,由于目前还只是Alpha版,故不推荐在产品中使用.但是我们应该了解它 ...
- Java面试必备知识
JAVA面试必备知识 第一,谈谈final, finally, finalize的区别. 第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可 ...
- <转载>Div+Css布局教程(-)CSS必备知识
目录: 1.Div+Css布局教程(-)CSS必备知识 注:本教程要求对html和css有基础了解. 一.CSS布局属性 Width:设置对象的宽度(width:45px). Height:设置对象的 ...
- 微软实战训练营(X)重点班第(1)课:SOA必备知识之ASP.NET Web Service开发实战
微软实战训练营 上海交大(A)实验班.(X)重点班 内部课程资料 链接:http://pan.baidu.com/s/1jGsTjq2 password:0wmf <微软实战训练营(X)重点班第 ...
- 移动web开发(一)——移动web开发必备知识
参考: 移动终端开发必备知识.http://isux.tencent.com/mobile-development-essential-knowledge.html
- Div+Css布局教程(-)CSS必备知识
目录: 1.Div+Css布局教程(-)CSS必备知识 注:本教程要求对html和css有基础了解. 一.CSS布局属性 Width:设置对象的宽度(width:45px). Height:设置对象的 ...
- 性能测试必备知识(2)- 查看 Linux 的 CPU 相关信息
做性能测试的必备知识系列,可以看下面链接的文章哦 https://www.cnblogs.com/poloyy/category/1806772.html 查看系统 CPU 信息 cat /proc/ ...
- 性能测试必备知识(4)- 使用 stress 和 sysstat
做性能测试的必备知识系列,可以看下面链接的文章哦 https://www.cnblogs.com/poloyy/category/1806772.html stress 介绍 Linux 系统压力测试 ...
- 性能测试必备知识(5)- 深入理解“CPU 上下文切换”
做性能测试的必备知识系列,可以看下面链接的文章哦 https://www.cnblogs.com/poloyy/category/1806772.html 前言 上一篇文章中,举例了大量进程等待 CP ...
随机推荐
- IDisposable 接口2
定义一种释放分配的资源的方法. 命名空间: System程序集: mscorlib(在 mscorlib.dll 中) 语法 C# C++ F# VB [ComVisibleAttribute(t ...
- jquery 的缺点
接口不统一 其中.each();.map();$.each();这些方法的参数函数的参数顺序是index, value这种顺序.但是$.map();方法的参数函数的参数顺序则是value,index这 ...
- 写一个基于NSURLSession的网络下载库
前段时间AFNetworking 更新到3.0 ,彻底废弃NSURLConnection的API转由NSURLSession来实现,代码并没有改动很大,AF封装的很好了,读完源码感觉收获很大. 下载不 ...
- IntelliJ IDEA提示忽略大小写
1.打开设置(CTRL+ALT+S) 2.搜索Code Completion,点击Case sensitive completion后面的选择框,选中None
- python challenge 16
前情回顾:上一篇 第16关地址 打开16关,又是一张奇奇怪怪很多点点的图片,应该又是与PIL库有关的. 页面的标题是:let me get this straight.这是英语中的一句俚语,意思是让我 ...
- (转)C++静态库与动态库
本文出自 http://www.cnblogs.com/skynet/p/3372855.html 吴秦 什么是库 库是写好的现有的,成熟的,可以复用的代码.现实中每个程序都要依赖很多基础的底层库,不 ...
- 【USACO 3.2.4】饲料调配
[描述] 农夫约翰从来只用调配得最好的饲料来喂他的奶牛.饲料用三种原料调配成:大麦,燕麦和小麦.他知道自己的饲料精确的配比,在市场上是买不到这样的饲料的.他只好购买其他三种混合饲料(同样都由三种麦子组 ...
- PHP迭代器
在所有语言中,所有迭代器都必须具有如下4想功能: 1.回滚迭代器到第一个元素 2.潜行到下一个元素 3.获取当前元素 4.验证是否到最后一个元素了 在PHP中我我们可以通过实现iterator来实现迭 ...
- Python datetime time 常用操作
测试版本: Python 2.7 获取当前时间的两种方法 import datetime,time now = time.strftime("%Y-%m-%d %H:%M:%S") ...
- jQuery获取JSON格式数据方法
getJSON方法: jQuery.getJSON(url,data,success(data,status,xhr)) $("button").click(function(){ ...