写点什么

Sun 向 JCP 提交了 Servlet3.0 规范

  • 2007 年 6 月 23 日
  • 本文字数:1275 字

    阅读完需:约 4 分钟

Sun 已经向 JCP(Java Community Process)提交了 Servlet3.0 规范——JSR 315(Java Specification Request)。其高级目标包括可插拔 web 框架、EoD(ease of development——易于开发)特征、支持异步和 Comet、安全、与其他规范结合、以及其它各项改进。它准备包含在 Java EE 6 中,Java EE 6 的最终版大约于 2008 第 4 季度发布。预计不出 2007 年 7 月 2 日就会出评论。

以下是这些目标的详细版本,来自 JSR 315 提案

  • 可插拔的 Web 框架
    • 几乎所有基于 Java 的 web 框架都建立在 servlet 之上。现今大多数 web 框架要么通过 servlet、要么通过 Web.xml 插入。利用标注(Annotation)来定义 servlet、listener、filter 将使之(可插拔)成为可能。程序访问 web.xml 和动态改变 web 应用配置是所期望的特性。该 JSR 将致力于提供把不同 web 框架无缝地插入到 web 应用的能力。
  • EOD
    • 标注——利用标注来作为编程的声明风格。
    • web 应用零配置是 EoD 努力方向之一。部署描述符将被用来覆盖配置。
    • 范型(generic)——在 API 中尽可能利用范型。
    • 使用其它语言增强可能需要改善 API 可用性的地方。
  • 支持异步和 Comet
    • 非阻塞输入——从客户端接收数据,即使数据到达缓慢也不会发生阻塞。
    • 非阻塞输出——发送数据到客户端,即使客户端或网络很慢也不会发生阻塞。
    • 延迟请求处理——Ajax web 应用的 Comet 风格,可以要求一个请求处理被延迟,直到超时或一个事件发生。延迟请求处理对以下情况也很有用:如果远程的 / 迟缓的资源必须在为该请求服务之前被获得;或者如果访问一个特殊资源,其需要扼杀一些请求以防止太多的并发访问。
    • 延迟响应关闭——Ajax web 应用的 Comet 风格,可以要求响应保持打开,以允许当异步事件产生时发送额外的数据。
    • 阻塞 / 非阻塞通知——通知阻塞或非阻塞事件。
    • 频道概念——订阅一个频道,以及从该频道获取异步事件的能力。这意味着可以创建、订阅、退订,以及应用一些诸如谁能加入、谁不能加入的安全限制。
  • 安全
    • login/logout 能力。
    • 自注册。
  • 结合
    • 结合 / 需求,来自 REST JST JSR( JSR 311 )。
    • 结合 / 需求,来自 JSF 2.0 JSR( JSR 134 )。
  • 其它
    • 支持更好的欢迎文件(welcome file)。
    • ServletContextListener 排序。
    • 容器范围内定义 init 参数。
    • 文件上载——过程侦听——存储中间或最终文件。
    • 澄清线程安全问题。

Greg Wilkins, Jetty 的主要开发者和本 JSR 的支撑成员,反对“支持异步和Comet”之下的一些目标。对于非阻塞输入和输出,他认为这一能力应该加入到容器中,而不是曝露给servlet 开发者。对于延迟请求处理,他认为挂起/ 恢复语义会更好些,而且他们还将导致对延迟响应关闭的需求。

适当的时候现有项目将被用来作为指南。例如当前支持Comet 的容器,如 Grizzly Tomcat 和 Jetty,在为 Comet 定义 API 时,将被复查(review)。“ Comet 是一种编程技术,允许 web 服务器无需任何客户端请求而发送数据到客户端。它允许创建托管在浏览器中的事件驱动 web 应用。”针对于可插拔 web 框架,现存的一些 web 框架如 Shale DWR Spring Web Flow Wiched 也将被分析。

查看英文原文: Sun Submits Servlet 3.0 Specification to JCP

2007 年 6 月 23 日 09:422027
用户头像

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

关注

评论

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

4月月更开奖啦!中奖者速来领取!

InfoQ写作社区官方

热门活动

玩了一场剧本杀,同车队友“不是人”

脑极体

快速上手 Pythond 采集器的最佳实践

观测云

运维 可观测性 可观测

关于数据一致性的理论

穿过生命散发芬芳

数据一致性 5月月更

在线HTTP请求头响应头转JSON工具

入门小站

工具

linux之iftop命令

入门小站

Linux

谁说 Zadig 只能复制环境?数百微服务一套环境实现高效协作

Zadig

DevOps 云原生 CI/CD 软件交付

钉钉 Flutter 跨四端方案设计与技术实践 | Dutter

阿里巴巴终端技术

flutter 移动端 跨端框架 桌面端

如何开发 LAXCUS 分布式应用软件(四):编写边缘端软件

LAXCUS分布式操作系统

并行计算 端边云协同架构 分布式操作系统 分布式应用软件

云图说|华为云帮助中心最佳实践:源自项目实战的上云指导

华为云开发者联盟

最佳实践 华为云 云图说 帮助中心 业务上云

维护版式文档技术生态 国际PDF协会向福昕软件发来感谢信

联营汇聚

备受关注的Bit.Store,最新动态一览

西柚子

时序数据库在监控运维平台中的应用

CnosDB

IoT 时序数据库 开源社区 CnosDB infra

我国类脑计算处于什么水平?人工智能下神经科学启发的类脑计算。

蓝海大脑GPU

人工智能 液冷服务器 类脑计算 神经科学

实现同比、环比计算的N种姿势

葡萄城技术团队

数据分析 BI数据分析 同比 环比

“四大高手”为你的 Vue 应用程序保驾护航

葡萄城技术团队

深入剖析 split locks,i++ 可能导致的灾难

火山引擎开发者社区

2021年国内促进软件产业发展十大事件出炉,HarmonyOS 2入选

科技汇

数据产品经理的价值管理

第519区

团队管理 项目管理 产品经理 数据产品经理 项目经理

基于 Agora SDK 实现 Windows 端的一对一视频通话(基于3.6.2版本)

声网

人工智能 音视频 sdk

动辄“耗资过亿”的表格工具,究竟难在哪儿?

葡萄城技术团队

【刷题第五天】1. 两数之和

白日梦

5月月更

Cilium 多集群 ClusterMesh 介绍

Se7en

“软件定义汽车”的数字化之变,华为云低代码平台带来了什么?

脑极体

架起医院就诊“快车道”,YRCloudFile 打造智慧 PACS 存储系统

焱融科技

云计算 分布式 高性能 文件存储 智慧医疗

Hadoop Echarts

Emperor_LawD

hadoop 5月月更

Sun向JCP提交了Servlet3.0规范_Java_Xandy Johnson_InfoQ精选文章