新servlet API的重要意义 Servlet API一直是Java最大成功点之一。它是由1997年引入的1.0版发展起来的,从1999年开始servlets被并入Java2 企业版(J2EE)。上一个最大变动的规范是2003年的2.5版。现在提出的Servlet 3.0规范供大众评审的最后草案已经发布,所以正是检验新特性的时候。
但是首先让我们总结一下从版本1.0到2.5的演变: • 部署描述符。符合标准的web.xml用来向容器传递与部署相关的设置。起初的版本五花八门,不同厂商用的web.xml都是自己特有的。 • 安全。
在2.1版本中,在应用之间导致许可……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
新servlet API的重要意义
Servlet API一直是Java最大成功点之一。它是由1997年引入的1.0版发展起来的,从1999年开始servlets被并入Java2 企业版(J2EE)。上一个最大变动的规范是2003年的2.5版。现在提出的Servlet 3.0规范供大众评审的最后草案已经发布,所以正是检验新特性的时候。但是首先让我们总结一下从版本1.0到2.5的演变:
• 部署描述符。符合标准的web.xml用来向容器传递与部署相关的设置。起初的版本五花八门,不同厂商用的web.xml都是自己特有的。
• 安全。在2.1版本中,在应用之间导致许可信息泄露的方法已经被删除或修改。
• 开发转给Java社区。开发规范被转交给JCP(Java Community Process)委员会作为2000年的JSR (Java规范请求) 53,并于2001年发布了第一个版本。另外,这个组织还制定了JSP1.2规范。
• 事件监听器。2.3版本引入了一种通过事件影响web应用的机制,使应用能够被传递给相关的处理。它的配置要借助于web.xml中的条目。
• 过滤器。2.3版本还引入一个叫做“过滤器”的概念,可以用来重定向或修改一个请求及响应。过滤器的配置也是在部署描述符中完成的。
当servlet2.5被设计出来时,从Java普通版本到标准的Java类库及许多专有工具,在许多重要的方面都已经改进。这些改进对servlet开发者有很明显的帮助。尤其是,Java语言在1.4版本中加入的非阻塞输入输出(NIO)和1.5版本中加入的标注(annotation)。Servlet 3.0 的API恰好利用了这两个特性。
进入3.0时代
从2007年7月开始3.0版本的制定进程。JSR委员会的各类专家审查了许多提议和讨论,跟最初的草案比规范有了很大改变。下面这几点大意是规范的作者们觉得最重要部分:
• 可插接式的应用与简易的部署
需要使用程序标注和更灵活的配置来简化部署,使向servlet容器插入一个新应用时变得更容易。理想的情况是,使用了标注的web应用不再需要额外的配置文件。有了Java标注,让很多开发者可以向Java类中加元数据,很受一些工具包开发者们的欢迎,因为他们能促进可插接性。
• 支持高级的输入输出
在NIO之前,Java网络工具要求为每个原始的网络连接分配一个程序的线程,所以一个servlet容器要对同步连接的数量加以严格限制。而非阻塞的输入和输出(NIO)提高了请求的数量,这些请求可以被处理,并且能和像AJAX这样的新富互联网应用技术一起良好地工作。
• 用Jersey和其他高级工具调整
在web服务工具方面也有的显著创新,比如在依赖于servlet API的Jersy工程中实现了RESTfulWeb服务API(JSR-311)。Servlet 3.0将支持Jersey和许多其他技术,像JavaServerFaces, Portlets, 和JavaFX。
翻译
相关推荐
-
高效使用PortletSession小技巧
PortletSession有一个有趣的方面,就是在默认的情况下,它的数据实际上是存储的PortletSession中的,而且是本地的,只能访问portlet创建的实例。
-
尊重servlet API 高效开发portlet
即使是经验软件开发人员跳转到JSR-286 portlet开发时也会心乱如麻,portlet和servlet有什么不同?
-
Java程序员必备的七大全能
Java已逐渐成为了企业开发的首选语言,众多的IT组织使用Java来做大型企业项目。作为Java程序员你的技能是否能够满足企业的要求?
-
Java web服务:web服务安全性状态
所有主要web服务栈都为WS-Security和相关web服务安全性标准提供一定程度的支持。我在本系列中介绍的3个开源栈—Apache Axis2、Sun/Oracle Metro……