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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 物联网的架构_物联网的应用有哪些

    物联网的架构_物联网的应用有哪些物联网是一个层次化的网络,从下往上可分为四层:感知层、网络层、平台层和应用层。在各层之间,信息不是单向传递的,也有交互或控制。在所传递的信息中,主要是物的信息,包括物的识别码、物的静态信息、物的动态信息等。感知层:感知层是物联网的皮肤和五官,可以识别物体,采集信息。数据采集与感知主要用于采集物理世界中发生的物理事件和数据,包括各类物理量、标识、音频、视频数据。物联网的数据采集涉及传感器、…

    2022年9月18日
    1
  • 解决修改JAVAHOME后java版本不改变问题[通俗易懂]

    网上有很多解决的方法,其中删除C:\Windows\System32文件下java相关联的exe文件即可,使用wherejava命令可以发现,在Javahome配置版本之前有两个或三个java可执行文件,因此删除这个干扰项就可以解决。java版本问题unsupportedmajor.minorversion51.0jdk1.7版本错误,可能项目是1.7,运行环境是1.6unsup…

    2022年4月9日
    57
  • 安卓之ViewPager详解_ViewPager怎么用_ViewPager仿微博特效

    首先,展示一下ViewPager是什么样子的,用过新浪微博客户端的应该对下面的画面很熟悉,(画面不是很美观,主要就是那么个意思,将就着看吧….)下面那个允许你来回滑动显示不同页面的区域就是一个ViewPager,在这里就不解释了.布局文件如下:activity_weibo.xml

    2022年3月9日
    34
  • java mediatype utf-8_Java MediaType.APPLICATION_JSON_UTF8屬性代碼示例

    java mediatype utf-8_Java MediaType.APPLICATION_JSON_UTF8屬性代碼示例/***Searches{@linkorg.springframework.web.bind.annotation.RequestMappingRequestMapping}*annotationonthegivenmethodargumentandextracts*IfRequestMappingannotationisnotfound,NoRequestM…

    2022年5月12日
    35
  • 博客日记目录[通俗易懂]

    博客日记目录[通俗易懂]用于整理博客,清晰记录发文过程2022年1月18日目录2022年1月2022年1月2022年1月20日【修改】Spring框架概述【补充】IOC操作Bean管理2022年1月19日【修改】Spring框架概述【补充】IOC操作Bean管理(xml)【修改】IDEA错误Nomainclassspecified【补充】新增视频版2022年1月18日【修改】Spring框架概述【补充】IOC操作Bean管理(xml)…

    2022年6月8日
    83
  • ubuntu kill命令_killall命令

    ubuntu kill命令_killall命令Linux中的kill命令用来终止指定的进程(terminate a process)的运行,是Linux下进程管理的常用命令。通常,终止一个前台进程可以使用Ctrl+C键,但是,对于一个后台进程就须用kill命令来终止,我们就需要先使用ps/pidof/pstree/top等工具获取进程PID,然后使用kill命令来杀掉该进程。kill命令是通过向进程发送指定的信号来结束相应进程的。在默认情况下…

    2025年6月20日
    2

发表回复

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

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