zoukankan      html  css  js  c++  java
  • 浅谈servlet版本

    说白话,eclipseJ2EE版本新建一个web项目后,在IDE中的项目根目录下会看到2.3,2.4,2.5,3.0,3.1。。。。据说最新的4.0在路上,已经有草案了,很期待ing。

    360百科是这么描述的:

    Servlet(Server Applet),全称Java Servlet,未有中文译文。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。

    Servlet运行于支持Java的应用服务器中。从实现上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。

    最早支持Servlet标准的是JavaSoft的Java Web Server。此后,一些其它的基于Java的Web服务器开始支持标准的Servlet。

    等等了,还有很多就不再粘贴,主要说下版本问题:

    Servlet2.2

    :引入了 self-contained Web applications 的概念。

    servlet2.3

    : 2000年10月份出来

    Servlet API 2.3中最重大的改变是增加了 filters

    Servlet 2.3 增加了 filters 和 filter chains 的功能。引入了 context 和 session listeners 的概念,当 context 或 session 被初始化或者被将要被释放的时候,和当向 context 或 session 中绑定属性或解除绑定的时候,可以对类进行监测。

    servlet2.4

    : 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()

    Servlet2.5

    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

    新增Event: ServletRequestEvent,ServletRequestAttributeEvent

    Servlet3.0

    Servlet 3.0 作为 Java EE 6 规范体系中一员,随着 Java EE 6 规范一起发布。该版本在前一版本(Servlet 2.5)的基础上提供了若干新特性用于简化 Web 应用的开发和部署。其中有几项特性的引入让开发者感到非常兴奋,同时也获得了 Java 社区的一片赞誉之声:

    Servlet4.0草案

    从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)

  • 相关阅读:
    go语言的grpc安装记录
    MySQL1:客户端/服务器架构
    设计模式
    乐观锁与悲观锁的选择
    compareAndSwapObject 产生ABD原因
    wangEditor
    ckeditor4学习
    git公司远程提交
    java面试题总结
    基本数据类型和包装类
  • 原文地址:https://www.cnblogs.com/tenglongwentian/p/6219233.html
Copyright © 2011-2022 走看看