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


相关推荐

  • 2019 Python接口自动化测试框架实战开发(一)

    2019 Python接口自动化测试框架实战开发(一)说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家!目录一丶叙述二丶接口基础知识三丶接口测试工具四丶Fiddler的使用五丶unittest使用六丶mock服务入门到实战七丶接口自动化框架设计到开发一丶叙述1.项目介绍整个项目分为四个部分:接口基础丶接口开发丶Unittest与接口测试结合以及接口自动化框架从设计到开发接口基础包括:H…

    2022年4月30日
    36
  • Grizzly开发Echoserver实战

    Grizzly开发Echoserver实战

    2022年1月31日
    36
  • 死链处理的详细步骤[通俗易懂]

    死链处理的详细步骤[通俗易懂]死链处理:查找死链;收集死链;提交处理  一:查找死链  1.工具检测,在360极速浏览器的拓展中心下载安装检查网页死链的插件,可以查找当前网页的死链  2.直接点击页面查找死链  3.网站日志分析查找死链,去空间商后台下载IIS。  4.百度站长平台里面有个链接分析,也可以查看  二:收集死链  1.建一个TXT文

    2022年7月22日
    15
  • 软件测试工程师女生_能进阿里的程序员都很强吗

    软件测试工程师女生_能进阿里的程序员都很强吗简单的先说一下,坐标杭州,14届本科毕业,算上年前在阿里巴巴的面试,一共有面试了有6家公司(因为不想请假,因此只是每个晚上去其他公司面试,所以面试的公司比较少)

    2022年10月14日
    4
  • SPSS 性别卡方分析[通俗易懂]

    SPSS 性别卡方分析[通俗易懂]1.新建数据集2.打开变量视图,分别输出group、sex和number其中标签是对数据的说明,值是spss中的显示,比如定义1=subject,则输入1就等价于subject变量视图:数据视图:3.数据分析:点击数据–个案加权–将人数加入个案加权系数否则结果一般有误4.卡方检验分析–描述统计–交叉表–统计–卡方检验确定结果输出:…

    2022年5月16日
    99
  • ubuntu LAMP 配置

    ubuntu LAMP 配置ubuntuLAMP配置文件位置:apache:/etc/apache2/apache2.confphp:/etc/php5/apache2/php.inimysql:/etc/mysql/my.cnfubuntuLAMP常见命令:apache重启:sudo/etc/init.d/apache2restart…

    2022年5月24日
    39

发表回复

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

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