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


相关推荐

  • mybatishelperpro激活码_在线激活

    (mybatishelperpro激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html2K…

    2022年4月1日
  • RabbitVCS无法启动,右键失效解决方案

    RabbitVCS无法启动,右键失效解决方案本来用着好好的RabbitVCS,突然间就无法使用了;重新安装也无效,一旦重启就会出现如下错误:原因是RabbitVCS依赖python2.7,但是我的系统默认的python版本,已经改为python3.5了,所以才导致了这个错误,只要把python的版本改回python2.7就可以解决这个问题了:把python2.7设置为更高的权限即可。如下,再启动就OK…

    2022年7月18日
  • Java中的锁

    Java中的锁在学习或者使用Java的过程中进程会遇到各种各样的锁的概念:公平锁、非公平锁、自旋锁、可重入锁、偏向锁、轻量级锁、重量级锁、读写锁、互斥锁等待。这里整理了Java中的各种锁,若有不足之处希望大家在下方留言探讨。WARNING:本文适合有一定JAVA基础的同学阅读。公平锁和非公平锁公平锁是指多个线程在等待同一个锁时,必须按照申请锁的先后顺序来一次获得锁。公平锁的好处是等待锁的线程…

    2022年7月18日
  • 提高网站页面加载速度的方法

    提高网站页面加载速度的方法

    2021年9月23日
  • Dreamweaver8安装方法教程[通俗易懂]

    Dreamweaver8安装方法教程[通俗易懂]打开百度网盘下载http://pan.baidu.com/s/1wIMYi打开下载好的Dreamweaver8,点击下一步选择接受,下一步选择安装路径,点击下一步其它默认勾选的,不

    2022年7月26日
  • 网站ssl证书申请_证书注册需要什么材料

    网站ssl证书申请_证书注册需要什么材料HTTPS是指网站在地址栏显示的加密协议,这个协议称作为HTTPS,但实现HTTPS必须要用HTTPS证书才可以,这就告诉大家任何申请HTTPS证书。申请HTTPS方法1、HTTPS证书申请之前我们需要准备:域名、邮箱(用于接收证书)。2、然后将域名确定后提交至Gworg进行申请。3、根据要求完成域名认证,可选认证方式DNS解析、文件认证、邮箱。4、大约十几分钟就可以获得SSL证书文件。5、配置到指定的服务器或者CDN等产品。6、HTTPS证书只需几分钟就可以完成。如果对申请

    2022年10月1日

发表回复

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

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