Servlet3.0新特性

Servlet3.0新特性

大家好,又见面了,我是全栈君。

回顾基础知识,可以发现很多基础的东西值得去研究。

注意:

开发Servlet3的程序需要一定的环境支持。Servlet3是Java EE6规范的一部分,Tomcat7都提供了对Java EE6规范的支持,Tomcat7需要使用JDK6。

Servlet3.0新特性在infoq上介绍如下:

  • 可插拔的Web框架
    • 几乎所有基于Java的web框架都建立在servlet之上。现今大多数web框架要么通过servlet、要么通过Web.xml插入。利用标注(Annotation)来定义servlet、listener、filter将使之(可插拔)成为可能。程序访问web.xml和动态改变web应用配置是所期望的特性。该JSR将致力于提供把不同web框架无缝地插入到web应用的能力。
  • EOD
    • 标注——利用标注来作为编程的声明风格。
    • web应用零配置是EoD努力方向之一。部署描述符将被用来覆盖配置。
    • 范型(generic)——在API中尽可能利用范型。
    • 使用其它语言增强可能需要改善API可用性的地方。
  • 支持异步和Comet
    • 非阻塞输入——从客户端接收数据,即使数据到达缓慢也不会发生阻塞。
    • 非阻塞输出——发送数据到客户端,即使客户端或网络很慢也不会发生阻塞。
    • 延迟请求处理——Ajax web应用的Comet风格,可以要求一个请求处理被延迟,直到超时或一个事件发生。延迟请求处理对以下情况也很有用:如果远程的/迟缓的资源必须在为该请求服务之前被获得;或者如果访问一个特殊资源,其需要扼杀一些请求以防止太多的并发访问。
    • 延迟响应关闭——Ajax web应用的Comet风格,可以要求响应保持打开,以允许当异步事件产生时发送额外的数据。
    • 阻塞/非阻塞通知——通知阻塞或非阻塞事件。
    • 频道概念——订阅一个频道,以及从该频道获取异步事件的能力。这意味着可以创建、订阅、退订,以及应用一些诸如谁能加入、谁不能加入的安全限制。
  • 安全
    • login/logout能力。
    • 自注册。
  • 结合
    • 结合/需求,来自REST JST JSR(JSR 311 )。
    • 结合/需求,来自JSF 2.0 JSR(JSR 134 )。
  • 其它
    • 支持更好的欢迎文件(welcome file)。
    • ServletContextListener排序。
    • 容器范围内定义init参数。
    • 文件上载——过程侦听——存储中间或最终文件。
    • 澄清线程安全问题。

其实经过上面的特信,最明显的和最实用的一个应该是标注式编程。

比如在3.0以前,声明Servlet的做法可以要在web.xml上配置mapping,然后再编写类实现。如:http://www.runoob.com/servlet/servlet-first-example.html

而在3.0已经不用这么麻烦,直接在类上用特性标记头去标注即可,而且参数那些也直接实用标注进行实现。如:http://www.cnblogs.com/luxh/archive/2012/06/06/2537458.html

就这一个特点使开发起来就非常的爽!

总结:

在使用sping mvc久了之后,再来回顾这些基础点来对比框架的发展历史和使用方式有很大的帮助,能一点一点的分析这个功能为什么要这样做,和是怎么做出来的。

参考:

http://www.infoq.com/cn/news/2007/06/servlet3

http://www.ibm.com/developerworks/cn/java/j-lo-servlet30/index.html

http://blog.csdn.net/zhongweijian/article/details/8279650

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108633.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • js操作元素属性_如何将ajax返回的网页加载出来

    js操作元素属性_如何将ajax返回的网页加载出来session时使用sessionStorage.Storage表示存储的意思。一.设置值sessionStorage.setItem(key,value);设置元素的值,setItem.类似于服务器端的setAttribute();二.得到值vardata=sessionStorage.getItem(key);类似于服务器端的getAttribute…

    2022年10月10日
    0
  • Linux nmap命令整理

    Linux nmap命令整理nmap–iflist:查看本地主机的接口信息和路由信息-A:选项用于使用进攻性方式扫描-T4:指定扫描过程使用的时序,总有6个级别(0-5),级别越高,扫描速度越快,但也容易被防火墙或IDS检测并屏蔽掉,在网络通讯状况较好的情况下推荐使用T4-oXtest.xml:将扫描结果生成test.xml文件,如果中断,则结果打不开-oAtest.xml:将扫描结果生成test.xml文件,中断后,结果也可保存-oGtest.txt:将扫描结果生成test…

    2022年5月28日
    43
  • pytest测试框架常用功能_unittest批量加载用例

    pytest测试框架常用功能_unittest批量加载用例目录前言###文章内容有配套的学习视频和笔记都放在了文章末尾###1、什么是单元测试框架2、单元测试框架主要做什么3、单元测试框架和自动化测试框架有什么关系4、Pytest测试框架说明5、Pytest框架和Unittest框架区别重点:配套学习资料和视频教学前言大家好我是测试达人,最近我会更新一系列pytest的框架全套教程,不比你在培训机构花的几千块买的ppt教程好吗?==白嫖真香!!###文章内容有配套的学习视频和笔记都放在了文章末尾###1、什么是单

    2022年10月14日
    0
  • nginx配置https转发

    nginx配置https转发

    2021年5月14日
    209
  • 憨批的语义分割重制版5——Keras 搭建自己的Unet语义分割平台

    憨批的语义分割重制版5——Keras 搭建自己的Unet语义分割平台憨批的语义分割12——Keras搭建自己的Unet语义分割平台注意事项学习前言什么是Unet模型代码下载Unet实现思路一、预测部分1、主干网络介绍2、加强特征提取结构3、利用特征获得预测结果二、训练部分1、训练文件详解2、LOSS解析训练自己的Unet模型注意事项这是重新构建了的Unet语义分割网络,主要是文件框架上的构建,还有代码的实现,和之前的语义分割网络相比,更加完整也更清晰一些。建议还是学习这个版本的Unet。学习前言重置一下我最喜欢的Unet。什么是Unet模型Unet是一个优秀

    2022年6月26日
    21
  • 如何将ofd文件转成pdf格式?

    如何将ofd文件转成pdf格式?自电子发票改为ofd格式文件后,很多通知、办公文档也逐步开始用ofd替代,但毕竟使用还不算普及,我们也都更习惯PDF格式。那么如何将OFD文件转成PDF呢?对于不熟悉和不知如何打开OFD文件的人来说,最简单的方法当然是直接转成PDF后再打开查看或修改,这里我们需要用到专门的转换工具。不需要安装软件,只需要搜索speedpdf打开这个在线工具页面就能转换,首页就能找到我们需要的OFD转PDF功能。(除此之外还有XPS和CAD这些很难找到转换工具的格式转换哦)转换过程也非常简单,添加需要转换的文档后,点击

    2022年5月27日
    36

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号