说白话,eclipseJ2EE版本新建一个web项目后,在IDE中的项目根目录下会看到2.3,2.4,2.5,3.0,3.1。。。。听说最新的4.0在路上,已经有草案了,很期待ing。web
360百科是这么描述的:服务器
Servlet(Server Applet),全称Java Servlet,未有中文译文。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,通常状况下,人们将Servlet理解为后者。session
Servlet运行于支持Java的应用服务器中。从实现上讲,Servlet能够响应任何类型的请求,但绝大多数状况下Servlet只用来扩展基于HTTP协议的Web服务器。app
最先支持Servlet标准的是JavaSoft的Java Web Server。此后,一些其它的基于Java的Web服务器开始支持标准的Servlet。eclipse
等等了,还有不少就再也不粘贴,主要说下版本问题:jsp
:引入了 self-contained Web applications 的概念。优化
: 2000年10月份出来spa
Servlet API 2.3中最重大的改变是增长了 filtersxml
Servlet 2.3 增长了 filters 和 filter chains 的功能。引入了 context 和 session listeners 的概念,当 context 或 session 被初始化或者被将要被释放的时候,和当向 context 或 session 中绑定属性或解除绑定的时候,能够对类进行监测。接口
: 2003年11月份出来
Servlet 2.4 加入了几个引发关注的特性,没有特别突出的新内容,而是花费了更多的功夫在推敲和阐明之前存在的一些特性上,对一些不严谨的地方进行了校验。
Servlet 2.4 增长了新的最低需求,新的监测 request 的方法,新的处理 response 的方法,新的国际化支持,RequestDispatcher 的几个处理,新的 request listener 类,session 的描述,和一个新的基于 Schema 的并拥有 J2EE 元素的发布描述符。这份文档规范全面而严格的进行了修订,除去了一些可能会影响到跨平台发布的模糊不清的因素。总而言之,这份规范增长了四个新类,七个新方法,一个新常量,再也不推荐使用一个类。
注意:改成 Schema 后主要增强了两项功能:
(1) 元素不依照顺序设定;
(2) 更强大的验证机制。
主要体如今:
a.检查元素的值是否为合法的值
b.检查元素的值是否为合法的文字字符或者数字字符
c.检查 Servlet, Filter, EJB-ref 等等元素的名称是否惟一
2.新增 Filter 四种设定:REQUEST、FORWARD、INCLUDE 和 ERROR。
3.新增 Request Listener、Event和Request Attribute Listener、Event。
4.取消 SingleThreadModel 接口。当 Servlet 实现 SingleThreadModel 接口时,它能确保同时间内,只能有一个 thread 执行此 Servlet。
5.<welcome-file-list>能够为Servlet。
6.ServletRequest接口新增一些方法。
public String getLocalName();
public String getLocalAddr();
public int getLocalPort();
public int getRemotePort()
2005 年 9 月发布 Servlet 2.5
Servlet 2.5 一些变化的介绍:
1) 基于最新的 J2SE 5.0 开发的。
2) 支持 annotations 。
3) web.xml 中的几处配置更加方便。
4) 去除了少数的限制。
5) 优化了一些实例
Servlet 的各个版本对监听器的变化有:
(1) Servlet 2.2 和 jsp1.1
新增Listener:HttpSessionBindingListener
新增Event: HttpSessionBindingEvent
(2) Servlet 2.3 和 jsp1.2
新增Listener:ServletContextListener,ServletContextAttributeListener
,HttpSessionListener,HttpSessionActivationListener,HttpSessionAttributeListener
新增Event: ServletContextEvent,ServletContextAttributeEvent,HttpSessionEvent
(3) Servlet 2.4 和 jsp2.0
新增Listener:ServletRequestListener,ServletRequestAttribureListener
Servlet 3.0 做为 Java EE 6 规范体系中一员,随着 Java EE 6 规范一块儿发布。该版本在前一版本(Servlet 2.5)的基础上提供了若干新特性用于简化 Web 应用的开发和部署。其中有几项特性的引入让开发者感到很是兴奋,同时也得到了 Java 社区的一片赞誉之声:
从3.1到4.0将是对Servlet 协议的一次大改动,而改动的关键之处在于对HTTP/2的支持。HTTP2将是是继上世纪末HTTP1.1协议规范化以来首个HTTP协议新版本,相对于HTTP1.1,HTTP2将带来许多的加强。在草案提议中,Shing Wai列举出了一些HTTP2的新特性,而这些特性也正是他但愿在Servlet 4.0 API中实现并暴露给用户的新功能,这些新特性以下:
1.请求/响应复用(Request/Response multiplexing)
2.流的优先级(Stream Prioritization)
3.服务器推送(Server Push)
4.HTTP1.1升级(Upgrade from HTTP 1.1)