作为Java EE 6规范体系中一员,随着Java EE 6规范一起发布。
该版本在前一版本(Servlet 2.5)的基础上提供了若干新特性用于简化Web应用的开发和部署。 其中有几项特性的引入让开发者感到非常兴奋,同时也获得了Java社区的一片赞誉之声,有如下新特性:
异步处理支持:有了该特性,Servlet 线程不再需要一直阻塞,直到业务处理完毕才能再输出响应, 最后才结束该 Servlet 线程。在接收到请求之后,Servlet 线程可以将耗时的操作委派给另一个线程来完成, 自己在不生成响应的情况下返回至容器。 针对业务处理较耗时的情况,这将大大减少服务器资源的占用,并且提高并发处理速度。
新增的注解支持(在javax.servlet.annotation包中):该版本新增了若干注解,用于简化 Servlet、过滤器(Filter)和监听器(Listener)的声明, 这使得 web.xml 部署描述文件从该版本开始不再是必选的了。
可插性支持:熟悉Struts2的开发者一定会对其通过插件的方式 与包括Spring在内的各种常用框架的整合特性记忆犹新。 将相应的插件封装成JAR包并放在类路径下,Struts2运行时便能自动加载这些插件。 现在Servlet 3.0提供了类似的特性,开发者可以通过插件的方式很方便的扩充已有Web应用的功能, 而不需要修改原有的应用。