NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

Tomcat 7 Beta 开始支持 Servlet 3.0、升级了安全性并提升了操作的友好性

  • 2010-07-09
  • 本文字数:1324 字

    阅读完需:约 4 分钟

近日,Apache 软件基金会发布了 Tomcat Web 服务器 7.0 Beta 版,这也是 3 年多以来首次发布的新版本。新版本的开发时间持续了 18 个月,现在各位读者可以从Apache 软件基金会的Tomcat 项目站点上下载

新版本的Tomcat 实现了很多新规范,包括 Servlet 3.0 JSP 2.2 EL 2.2 。对 Servlet 3.0 的支持也宣告世界上使用最广泛的 Java Web 容器已经与最新的 Servlet 规范(Java EE 6 规范的一部分)与时俱进了。Servlet 3.0 进行了很多增强(比如说 API 已经得到了增强)并引入了众多新特性,旨在简化开发者的工作量,可以更快速地构建可伸缩的应用。 Servlet 3.0 规范的一个关键特性就是对标准的(从技术角度来看,Tomcat、Jetty 等容器已经通过非标准的 API 实现了这些特性)异步 HTTP 请求与响应的支持。规范描述了文件上传的后端支持、这样就无需使用像 Apache Commons File Upload 组件等第三方程序库了。

规范还支持动态配置 Web 应用,这将产生深远的影响。可以通过注解来构造 Web 层(如 Servlet),这样就无需再使用 WEB-INF/web.xml 部署描述符文件了。此外,新的规范还定义了一个 API,通过这个 API 能够在运行期以编程的方式将 Servlet、Filter 注册到容器中。Web Fragments 的出现允许第三方程序库拥有自己的 web.xml 描述符文件,配置会加到 Web 应用的主 web.xml 文件中。比如说,可以将某个 Web 框架的 jar 文件直接放到应用的 WEB-INF/lib 目录下,容器会自动完成配置。

Tomcat 7 增加了对 Session 定位(fixation)攻击的防护措施。所谓 Session 定位攻击,就是强制将客户端的 Session ID 修改为明确的已知值。此外,Tomcat 7 还支持 SSL Session 跟踪,对各种访问机制(比如 JMX、Web、脚本访问等)提供更加细粒度的访问许可。

对于那些想要嵌入式容器的开发者来说,新版本的 Tomcat 7 提供了更大的灵活性;它公开了一个轻量级的 API 用于将容器嵌入到客户端代码中。除此之外,Tomcat 7 所需的 jar 文件更少,这样就可以根据需要构建 Tomcat 了。

此次发布还简化了服务器的管理工作,支持异步的日志线程,可以独立于请求 / 响应管道将其写到日志中。Tomcat 7 对内存泄漏的预防、识别与查找提供了极佳的支持,这种支持关键在于 Tomcat 7 改进的类装载器和 JreLeakPreventionListener 类。Tomcat 7 首度支持“aliases”,这非常类似于 Apache 服务器的同名特性。凭借这个特性,Tomcat 中的应用可以看到外部资源的内容,就像文件系统一样。

最后要说的是,Tomcat 7 并不支持 Java EE 6 web-profile。Java EE 6 web profile 定义了整个 Java EE 规范的一个子集,主要面向 Web 应用。若想了解关于 Java EE 6 规范、尤其是 web profile 规范的更多信息,请查看 Java EE 6 Platform 草案中的 Web Profile 章节。从概念上来说,这么做可以减少应用服务器厂商维护完整的向后兼容性的负担。Java EE 6 web profile 对于那些想要获得认证的 Servlet 容器来说是很理想的选择。 Simple Web Profile Application Server 项目就旨在通过 Apache 软件基金会自己的组件构建一个兼容于 Java EE 6 web-profile 的服务器,其基础则是 Apache Tomcat 7。

查看英文原文: Tomcat 7 Beta Debuts Servlet 3.0 Support, Security Upgrades and Operations-Friendly Updates

2010-07-09 21:231897
用户头像

发布了 88 篇内容, 共 258.6 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

索引为什么能提供查询性能...

小林coding

MySQL 索引 数据结构与算法 B+树

【领福利啦】广受欢迎的人工智能实战课程+“智能音箱”教程免费领!

小冬

人工智能 技术 福利 项目实战 智能音箱

Linux笔记(二): vim 基本操作

Leo

Linux 学习 大前端

感恩,改变世界的开发者们!

京东科技开发者

开发者 程序人生

技术实践丨基于MindSpore框架Yolov3-darknet模型的篮球动作检测体验

华为云开发者联盟

AI 华为云 modelarts

最详细的Linux TCP/IP 协议栈源码分析

linux大本营

Linux 后台开发 网络编程 C/C++ TCP/IP

Windows环境下如何进行线程Dump分析

Java老k

Java dump

谈谈持续集成、持续交付和持续部署三者究竟是什么,有何联系和区别呢!

ShenDu_Linux

Linux 持续集成 架构师 持续交付 持续部署

Week1 命题作业

J

极客大学架构师训练营

高德最佳实践:Serverless 规模化落地有哪些价值?

阿里巴巴云原生

阿里云 Serverless 云原生

微前端架构初探

徐小夕

Java 大前端

Linux 服务器开发学习路线总结(配图 c/c++ )后台开发、Golang后台开发、后端技术栈

Linux服务器开发

Linux 后台开发 后端 Linux服务器 Go 语言

前嗅教你大数据:常见的网站反爬策略与解决方案

前嗅大数据

大数据 数据采集 代理IP 网站反爬 反爬策略

CPU虚拟化系列文章1——x86架构CPU虚拟化

华章IT

云计算 Linux cpu 操作系统 虚拟化

基于 GraphQL 的信息聚合网关的实现与展望

QiLab

高并发系统设计 graphql

支付宝阿牛整合Netty+Redis+ZooKeeper「终极版」高并发手册

Java架构追梦

Java redis zookeeper 面试 Netty

没想到我费劲心力学的kafka,还不如阿里大佬整理的这份学习手册,真的是差距啊

小Q

Java kafka 学习 架构 面试

秋招offer收割机——后台服务器开发方向(专业学习路线图总结)

程序员小灰

c++ Linux 后台开发 架构师 服务器端开发

看了 5 种分布式事务方案,我司最终选择了 Seata,真香!

程序员小富

Java 分布式事务 seata

GitHub 标星 1.3k+,一款超赞的用于字符串处理的 Java 8 库,附带源码分析

沉默王二

Java GitHub 字符串

甲方日常 58

句子

工作 随笔杂谈 日常

LeetCode题解:17. 电话号码的字母组合,队列,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

接口测试和性能测试的区别

测试人生路

软件测试 性能测试 接口测试

监控之美——Prometheus云原生监控

华章IT

运维 云原生 监控 Prometheus

区块链可信数据服务平台搭建解决方案

t13823115967

区块链 可信区块链

广电总局严打劣迹主播:净化行业环境迫在眉睫

石头IT视角

收藏 | 阿里程序员常用的 15 款开发者工具(2020 版)

阿里巴巴云原生

阿里云 程序员 开发者 云原生 Java 25 周年

Spring 源码阅读环境的搭建

程序员小航

spring 源码 环境安装 源码阅读 spring 5

红外遥控接收发射原理及ESP8266实现

IoT云工坊

人工智能 物联网 esp8266 红外遥控 pwm

继linux命令之后,我又给你们整理了网络命令归纳,快给我来收藏

北游学Java

Linux 网络协议 网络 网络层

11.11数据可视化大屏设计揭秘

京东科技开发者

大数据 AI 数据分析 数据可视化 交互设计

Tomcat 7 Beta开始支持Servlet 3.0、升级了安全性并提升了操作的友好性_Java_Josh Long_InfoQ精选文章