Servlet API的强筋实力

开发 后端
本文介绍Servlet API为J2EE阵容增加实力,包括介绍更灵活的Web框架,EOD的支持和异步通讯的支持。

在2005年9月26日,Sun推出了Servlet的最新版API:Servlet2.5。这套Servlet API和以前的Servlet有着很大的不同。最大的区别就是Servlet2.5是完全基于J2SE5.0的。因此,它也理所当然地拥有了J2SE5.0的所有特性。Servlet2.5利用J2SE5.0的注释特性使它的配置更容易。然而,由于在2005年J2SE5.0刚推出不久,支持J2SE5.0的Web服务器也不多,因此,当时Servlet2.5在使用上并没有马上普及。时隔两年后,Sun又推出了基于J2SE5.0的Servlet的第二个版本3.0(就是JSR-315)。在这一版本中增加了很多有趣的特性。如可编程的登入登出,通过annotations进行配置,异步通讯等。下面就让我们来看看Servet3.0的主要特性。

一、更灵活的Web框架

现在几乎所有的基于Java的Web框架都是建立在Servlet之上的。大多数Web构架都是通过Servlets或web.xml来配置和发布的。而J2SE新加入的注释功能为我们提供了更好的选择。我们可以利用注释来设置Servlets、Listeners、filters等。但注释是直接写在程序中的,无法动态改变配置,因此,JSR同时提供了这两种方式来操作Servlet。这样将使Web应用程序具有更大的弹性。

二、EOD的支持

Servlet3.0将使用多种技术来增强API的能力。如使用注释来声明编程类型。这将成为EOD的目标之一:使Web程序零配置。也就是说我们将使用发布描述来覆盖传统的配置文章。还有就是泛型的应用,将大大加强程序的Servlet的表现力。在未来的J2SE版本中将加入支持其他语言的能力,这也有助于增强Servlet API本身的实力。

三、异步通讯的支持

Servlet3.0支持以下异步通讯特性:

1.非阻塞(Non-blocking)输入:使用这种输入方式,可以在数据因某种原因暂时未到达时程序不会因此而被阻塞。

2.非阻塞输出:和非阻塞输入类似,当由于网络问题写入数据缓慢时程序不会受到阻塞。

3.延迟请求处理:在AJAXWeb程序中客户端程序可以向服务端发出异步请求,直到超时或事件返回来处理这个请求。延迟请求在其他的地方也是非常有用的,如我们在处理数据之前必须要得到一些资源,但这些资源正处在远程网络中,而且速度并不快。这就需要异步来处理这种情况。

4.阻塞-非阻塞通知:这个功能是将通知信息放到阻塞或非阻塞事件中。然后由客户端负责提取。

5.支持通道:通道是JDK1.4及以上版本提供的一种新的通讯API。使用Channel可以更好的进行网络之间的通讯。也可以增强创建、订阅、取消等操作的安全性。

6.安全:支持登录和注销功能。

7.其他功能
(1)支持欢迎界面。
(2)ServletContentListener排序。
(3)在初始化时可以定制容器的大小。
(4)可以监视文件上传的进程。

上面只是Servlet3.0的一部分特性。从这些特性可以看出,Servlet API确实得到了很大的飞越,除了Servlet,EJB3.0也利用J2SE5.0的新特性重获新生。也许在不久的将来Servlet3.0和EJB3.0将会成为新的组合,在J2EE应用中起着举足轻重的作用,就让我们拭目以待吧!

【编辑推荐】

  1. 详解Apache Servlet的安装
  2. 优化Servlet配置为web.xml瘦身
  3. 如何让XML来配置Servlet
  4. 解决Servlet JSP页面乱码问题
  5. Servlet和JSP的安全问题
责任编辑:佚名 来源: IT168
相关推荐

2009-07-08 11:37:32

Servlet API

2009-07-08 10:02:41

Servlet 3.0

2023-12-22 14:31:52

2009-07-03 10:31:57

什么是ServletServlet API

2016-08-25 08:58:36

云计算阿里云腾讯云

2009-07-03 13:49:23

Servlet API

2021-07-26 08:12:31

开源API网关

2009-07-06 15:47:11

Servlet API

2009-07-09 17:47:35

Java Servle

2016-12-16 18:23:49

企业办公

2009-07-08 09:35:53

Java ServleServlet 3.0

2009-07-09 11:21:40

Servlet注册

2009-07-06 09:03:10

Servlet定义

2009-07-07 10:16:42

Servlet引擎

2009-07-08 10:12:04

Servlet Con

2021-06-17 14:35:23

瑞数信息超融合

2013-07-08 09:41:50

HadoopGPU性能优化
点赞
收藏

51CTO技术栈公众号