阅读更多

35顶
4踩

编程语言
所有现代的Java web应用都使用Servlets和Filters过滤器,它们是Java EE的脊梁,是通向web的沟通枢纽。 JSR-315:Servlet 3.0 Public Review 现在已经公开的Servlet 3.0规范发布了,而且随之在GlassFish的主程序内提供了参考实现。新的Servlet 3.0规范,引起了Java社区的激烈讨论,从JSR 315制定专家组为Servlet做的选择到Java EE 6平台都引起了争论。

Servlet API从最早的草稿方案开始一直是相当粗糙的,JSR 315专家组就是着手对servlet规范进行修缮和改进,比如更容易开发Ease of Development (EoD),提供可插件性pluggability 和异步asynchronous 支持。

Rajiv Modanni作为规范专家组的领导,描述这三个方面:

Rajiv Modanni 写道
更容易开发:在早期草稿中,我们添加了annotations,允许开发者写servlet本质上类似于POJO。但是经过专家组的讨论和来自社区反馈后,我们决定现在删除函数层annotations,类似@GET,@POST等,还是保留doGet,doPost函数规范和需要扩展HttpServlet。但是最高层annotations依然存在,为了更好的使用在应用中被重新命名。@WebServlet annotation 用来申明一个servlet,@ServletFilter用来申明一个过滤器,@WebServletContextListener用来定义ServletContextListeners。除了这些annotations,其他annotations类似@Resource能支持Servlet 2.5以前的web应用。

提供可插件性:我们在Servlet 3.0中提供了新的方法让配置框架更加简单。

异步处理:这是修改最大的一块。在草稿中,我们定义了suspend和resume,certain语法,但是专家组提供了其他的方法来满足不同的需求。


专家组成员Roy Van Rijn表明了为什么一些以前草稿中的属性没有出现的原因:

Roy Van Rijn 写道
我倾向于对GET/POST函数不使用annotations,但是我阅读了Java EE 6规范,而Java EE 6规范提倡使用annotations,所以JSR-315编写者其实是没有选择的(糟糕的解释)。我把我的意见发给了JSR专家组,但是没有得到任何反馈。


Greg Wilkins对于Servlet 3.0发表了激烈的意见,他认为新的规范严重缺乏文档,而且不和谐的专家组在糟糕的讨论进程中仓促完成了规范。

Greg Wilkins 写道
首先新的规范API设计没有考虑到实现复杂性,验证实用性和倾听社区反馈

要求测试现实被拒绝

没有一个开放的值得考虑的方式来搜集社区用户的需求,只是采用了极少数社区讨论意见。

一些未经证实的需求,比如异步请求被添加进入规范

如同其他JCP文件一样新规范文档写的很糟糕

新规范的某些部分反而会降低开发效率,提高安全危险


详情查看:[url]Servlet 3.0 Public Review Sparks a Debate[/url]

关于Servlet 3.0具体实现方面的讨论,推荐查看TheServerSide的:Pondering About JSR-135, the New Servlet 3.0 Specification
35
4
评论 共 6 条 请登录后发表评论
6 楼 hantsy 2008-12-24 22:14
其实这些东西应该在 Java EE 5 时考虑的。
5 楼 shoppingbill 2008-12-24 21:34
annotation 还是值得期待
4 楼 larryzou 2008-12-24 15:35
jerry 写道

SUN提倡的东西不一定就是真理,而且这个比例占的相当大.

JSR不是sun。有很多JSR标准Sun都根本没参与
3 楼 guooo 2008-12-23 22:50
jerry 写道

SUN提倡的东西不一定就是真理,而且这个比例占的相当大.

2 楼 jerry 2008-12-23 21:16
SUN提倡的东西不一定就是真理,而且这个比例占的相当大.
1 楼 ageless 2008-12-23 18:01
 

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Java™ Servlet 规范.

    1.6 与 Java Servlet 规范 2.5 版本间的兼容性 ..............................................................................................14 1.6.1 监听器(Listener)顺序 .................................

  • Servlet 3.0 结合WebMultipart注解实现文件上传

    在Servlet 3.0之前,上传文件需要借助第三方的jar包,而在3.0版本,servlet提供了自己的文件上传API。主要是一个类Part和一个注解@MultipartConfig 2. API介绍 Servlet接收到文件上传请求,会将其封装为一个Part对象...

  • Servlet 3.0

    Java EE 5.0 规范的笔墨在EJB3.0与Web Service上,... 在JavaOne2007 上有篇 The Future of the java Technology Web Tier宣讲了Sun的Servlet 3.0、REST、Comet计划,在大家渐渐失望的时候,又在前面吊了一个红萝卜。Se

  • Java Web开发的未来--Servlet 3.0,Comet,REST...

    原文地址:...--江南白衣 Java EE 5.0 规范的笔墨在EJB3.0与Web Service上,随着万众期待的Struts2.0揭开面纱,Java在Web应用开发上便变得沉闷乏味起来。 在JavaOne2007

  • Servlet 3.0、REST、Comet

    java EE 5.0 规范的笔墨在EJB3.0与Web Service上,...在JavaOne2007 上有篇 The Future of the Java Technology Web Tier宣讲了Sun的Servlet 3.0、REST、Comet计划,在大家渐渐失望的时候,又在前面吊了一个红萝卜。...

  • Asynchronous processing support in Servlet 3.0

    passed public review in January 2009, is a major release with important new features that will change the lives of Java Web developers for the better. Here's a list of what you can expect in ...

  • Java Servlet API 2.5/3.0的官方下载

    Java Servlet Technology的ORACLE官方网址: ... 它里面说:Java Servlet 3.0 Specification now available for Public Review The Public Review Draft Specif

  • New Servlet 3.0 (JSR-315) Specification

    Introduction ... modern Java web applications use Servlets and Filters. They are the backbone of Java EE, the communication gateway to the World Wide Web. Now there is a new specific...

  • Java-Web-Review02day之thymeleaf

    //Servlet从3.0版本开始支持注解方式的注册 @WebServlet("/index") public class IndexServlet extends ViewBaseServlet { @Override public void doGet(HttpServletRequest request , HttpServletResponse ...

  • JAVA web学习笔记

    IDEA新建module的时候没有javaee的选项,这时候可以先选择普通的java项目进行创建。将jar包拷到libs文件夹下,右键add as library。右键a文件夹,选择Add Framework Support。然后选中Web Application,点击右下角的...

  • Servlet3.1规范(最终版) PDF

    14 与 Java Servlet 规范 2.5 版本间的兼容性 .............................................................................................. 14 1.6.1 监听器(Listener)顺序 .................................

  • Servlet

    使⽤ Java 语⾔编写的服务器端程序, 可以像⽣成动态的 WEB ⻚,Servlet 主要运⾏在服务器端,并由服务器调⽤执⾏, 是⼀种按照 Servlet 标准来开发的类。 是 SUN 公司提供的⼀⻔⽤于开发动态 Web 资源的技术。(⾔...

  • Java Web安全之代码审计

    通俗的说Java代码审计就是通过审计Java代码来发现Java应用程序自身中存在的安全问题,由于Java本身是编译型语言,所以即便只有class文件的情况下我们依然可以对Java代码进行审计。对于未编译的Java源代码文件我们...

  • CSDN博客之星:技术交流与个人品牌共筑的分享盛会

    文案: “CSDN博客之星”是技术人的闪耀舞台,汇聚创新与分享的力量!通过参与评选,你不仅能提升个人品牌,还能链接行业精英,拓展技术视野。活动见证无数博主的成长,助力优质内容传播。无论你是技术爱好者还是资深从业者,这里都能让你展现才华,加速成长。原创干货、粉丝互动、持续输出——掌握这些秘诀,让你的博客脱颖而出,成为下一个“博客之星”!

  • mpls-ospf全all

    mpls-ospf全all

  • 三菱FX3U PLC基于ST结构化文本与梯形图的四仓位配方控制系统解析

    内容概要:本文详细介绍了基于三菱FX3U PLC的四仓位配方控制系统,重点讲解了如何利用ST结构化文本和梯形图两种编程方式实现工业级配方管理。主要内容包括配方存储采用结构体数组的方式,使配方参数管理更加高效;配方执行过程中使用ST语言实现复杂的三段速控制逻辑,确保精确配料;通信方面通过FX3U-485ADP模块进行Modbus通信,保障数据传输的实时性和稳定性;报警系统采用状态码机制,便于快速定位和解决问题;此外,还涉及了分期付款功能以及暂停续料功能的具体实现方法。整个系统经过实际项目的验证,能够稳定应对每日200+批次的生产任务。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是对PLC编程有一定了解并希望深入掌握ST结构化文本和梯形图混合编程技巧的人群。 使用场景及目标:适用于需要高精度、高效率配方管理的工业生产线,如食品加工等行业。主要目标是提高生产效率,减少人为错误,增强系统的可靠性和易维护性。 其他说明:文中提供了大量具体的代码片段和实际案例,有助于读者更好地理解和应用所介绍的技术。同时强调了全中文变量命名的优势,使得新入职员工也能迅速上手。

  • 嵌入式系统开发-蓝桥杯STM32实战解析-第十四届模拟题代码与考点精讲

    内容概要:本资源包含2023年第十四届蓝桥杯嵌入式组省赛第一套模拟题的完整实现代码,涵盖STM32CubeMX工程配置、HAL库开发、传感器数据采集、LCD显示控制、按键中断处理等核心模块。配套代码注释详细,包含模块化工程结构设计思路及竞赛评分要点解析。 适用人群:电子类专业本科/高职学生、蓝桥杯嵌入式组参赛选手、STM32开发初学者、嵌入式系统设计爱好者。 使用场景及目标:适用于蓝桥杯赛前专项训练、嵌入式系统开发实战演练、STM32HAL库应用学习。通过本资源可掌握竞赛级项目开发规范,提升外设驱动开发能力,理解实时数据采集与界面交互的实现逻辑。 其他说明:代码基于STM32G4系列开发板实现,包含多任务调度框架设计,涉及ADC/DAC、TIM定时器、GPIO中断等关键外设操作。建议配合官方开发板使用,资源包含硬件连接示意图及调试排错指南,注意部分外设配置需根据实际硬件调整。

  • 基于MATLAB的8字漂移轨迹车辆动力学仿真建模与实现

    内容概要:本文详细介绍了如何利用MATLAB构建一个能够模拟8字漂移动态特性的车辆模型。首先,通过设定车辆的基本参数(如质量、轴距、转动惯量)以及控制器参数(如比例系数、滑移率微分系数),并采用双频正弦波叠加的方法生成8字轨迹。接着,深入探讨了轮胎滑移率的非线性特性及其对横摆角速度的影响,展示了如何通过引入迟滞效应使仿真的物理行为更加逼真。此外,文中还讨论了转向增益、扭矩分配等关键因素对漂移稳定性和轨迹精度的作用,并提供了具体的代码实现方法。最后,通过轨迹可视化工具验证了模型的有效性。 适合人群:对汽车动力学感兴趣的研究人员、工程师以及有一定MATLAB编程基础的学习者。 使用场景及目标:适用于研究车辆动态性能、开发自动驾驶系统或进行赛车运动分析等领域。主要目标是帮助读者掌握车辆动力学建模的基本原理和技术手段,同时提高其解决复杂工程问题的能力。 其他说明:文中不仅给出了完整的代码示例,还分享了许多实用的小贴士,如如何调整参数以获得更好的仿真效果,以及如何优化代码结构以提升运行效率。对于希望深入了解车辆控制系统设计的人来说,这是一份不可多得的学习资料。

Global site tag (gtag.js) - Google Analytics