一、新特性

1、增加新注解 @WebServlet、@WebFilter、@WebListener

2、异步支持: 在注解中或web.xml部署描述符声明的Servlet、Filer中声明async-supported为true即可,默认async-supported为false

3、可支持性插件:不修改已有Web,只需按一定格式(即:jar包的META-INFO目录下有web-fragment.xml文件)打成jar包,放到WAR包WEB-INFO\lib目录下,即可实现新功能的扩充。

注:1、可插拔jar包中的 @WebServlet、@WebFilter、@WebListener不起作用,Servlet、Filter、Listener必须显示声明到web-fragment.xml中,或者在ServletContainerInitializer子类动态注册,或者在ServletContextListener的contexInitialized方法中动态注册

2、web-fragment.xml中可用name和order标签指定加载顺序

3、WAR包中web.xml必须设置metadata-complete为true才支持可插拔特性,默认为false

4、ServletContext增强动态注册功能:不在部署描述符或web-fragment.xml中声明Servlet、Filter、Listener,动态注入三者

注:1、 动态注册只能在ServletContainerInitializer的onStarup方法或ServletContextListener的contexInitialized中使用

2、不可在ServletContextListener中再次注入ServletContextListener的实现类

5、HttpServletRequest对文件上传的支持:

1、@MultipartConfig支持MIME类型是multipart/form-data

2、HttpServletRequest新增 Part getPart(String name)、Collection<Part> getParts()两个方法对文件处理

6、ServletContainerInitializer

1、子类可以用@HandlesTypes标注,也可以不用

2、可以一个应用有多个子类实现

3、用户代替web.xml,可以完成容器初试化时的一些操作,如:注册Servlet、Filter、Listener

4、实现子类必须在WAR包的META-INF\services下的 javax.servlet.ServletContainerInitializer文件中写入全子类名

5、子类可以在web-fragment模块中

7、使用@HandlesTypes机制,可使servlet与自定义程序解耦

Servlet 3.0相关推荐

  1. Servlet 3.0 新特性概述

    Servlet 3.0 新特性概述 Servlet 3.0 作为 Java EE 6 规范体系中一员,随着 Java EE 6 规范一起发布.该版本在前一版本(Servlet 2.5)的基础上提供了若 ...

  2. Servlet 2.0 Servlet 3.0 新特性

    概念:透传. Callback 在异步线程中是如何使用的.?? Servlet 2.0 && Servlet 3.0 新特性 Servlet 2.0 && Servle ...

  3. Servlet 3.0 新特性详解

    https://www.ibm.com/developerworks/cn/java/j-lo-servlet30/ Servlet 3.0 新特性概述 Servlet 3.0 作为 Java EE ...

  4. servlet3.0新特性_查看Servlet 3.0的新增功能

    servlet3.0新特性 随着JEE6规范上市,在企业应用程序领域中如何开发应用程序方面发生了一些重大变化. 在本文中,我将介绍有关Web应用程序开发的一些更改. 首先,请告别web.xml部署描述 ...

  5. servlet 3.0异步_Servlet 3.0异步处理可将服务器吞吐量提高十倍

    servlet 3.0异步 Servlet是Java中处理服务器端逻辑的主要组件,新的3.0规范引入了一些非常有趣的功能,其中异步处理是最重要的功能之一. 可以利用异步处理来开发高度可伸缩的Web应用 ...

  6. 使用Servlet 3.0,Redis / Jedis和CDI的简单CRUD –第1部分

    在这篇文章中,我们将构建一个简单的用户界面. 数据将存储在Redis中. 为了与Redis交互,我们将使用Jedis库. CDI用于Depedency Injection,而Servlet 3.0用于 ...

  7. 使用Servlet 3.0,Redis / Jedis和CDI的简单CRUD –第2部分

    在本文中,我们将重点介绍CDI和Servlet 3.0. 您可以在此处看到第1部分. 让我们从CDI开始. 当我开始撰写源自该系列的文章时,我并没有考虑撰写CDI. 真诚地说,我以前从未使用过. 这篇 ...

  8. Servlet 3.0概述

    Servlet 3.0 –具有许多突破性的功能,这些功能最终将改变开发人员编写和编写JEE Web应用程序的方式–有人可能会说,它的约定违背了我们对事物在理论上"应该"如何工作的大 ...

  9. 查看Servlet 3.0的新增功能

    随着JEE6规范上市,在企业应用程序领域中如何开发应用程序方面发生了一些重大变化. 在本文中,我将介绍有关Web应用程序开发的一些更改. 首先,请告别web.xml部署描述符(至少是其中的一部分). ...

  10. 在Grails 2.0中使用Servlet 3.0异步功能

    上周,我与某人谈论了Grails 2中对Servlet 3.0异步功能的新支持,并意识到我对可用功能并不了解. 所以我想我会尝试一下并分享一些例子. 该文档对这个主题有些了解,因此首先介绍一些背景信息 ...

最新文章

  1. $0,$?,$!,$-,$*,$@,$#等的特殊用法
  2. Verilog HDL 使用规范(一)
  3. Bootstrap基础二十七 多媒体对象(Media Object)
  4. 剑指offer(60-67题)详解
  5. linux qt 5移植,Qt 5.13支持处理Lottie文件,可以方便地进行移植
  6. php中的foreach如何使用?
  7. 为啥一到年底腾讯市值就大涨??????
  8. jyputer notebook 、jypyter、IPython basics
  9. 爬虫python代码网易云_python-网易云简单爬虫
  10. note_maven的pom.xml部分配置说明
  11. 口语化讲某些软件如BT,电驴,向日葵等穿透内网原理
  12. String与字节数组转换
  13. 白鹭引擎 - 矢量绘图 ( graphics )
  14. 关于javascript中时间格式和时间戳的转换
  15. opendrive格式完全解析
  16. matlab fftshift函数,matlab fft fftshift--【转帖】
  17. 【转载】你必须知道的10种国产编程语言
  18. uni-app 图片上传组件 canvas压缩
  19. 你们公司测试都用什么工具啊?
  20. 三年级语文计算机之父教学反思,三年级语文教学反思15篇

热门文章

  1. 马云卸任阿里CEO 演讲笔记
  2. 五大派玩家角逐移动资讯市场,微博如何成“另类”?
  3. Elasticsearch整合Mysql新闻搜索
  4. 几个学习Silverlight及Silverlight示例的网站
  5. 任天堂服务器修改,任天堂服务器设置
  6. 各品类市场占有率——通过互联网大数据了解各品类的市场占有率
  7. java 2%3等于多少,Java别说取余(%)运算简单你真的会吗
  8. 六、 MySQL函数
  9. 计算机进位制及其规则,进位计数制及其转换方法过程详解
  10. 2018.09.25软件更新公告