Servlet 3.0 Public Review 引起Java社区激烈讨论
程序员文章站
2022-03-23 09:21:06
...
所有现代的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作为规范专家组的领导,描述这三个方面:
专家组成员Roy Van Rijn表明了为什么一些以前草稿中的属性没有出现的原因:
Greg Wilkins对于Servlet 3.0发表了激烈的意见,他认为新的规范严重缺乏文档,而且不和谐的专家组在糟糕的讨论进程中仓促完成了规范。
详情查看:[url]Servlet 3.0 Public Review Sparks a Debate[/url]
关于Servlet 3.0具体实现方面的讨论,推荐查看TheServerSide的:Pondering About JSR-135, the New Servlet 3.0 Specification
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语法,但是专家组提供了其他的方法来满足不同的需求。
提供可插件性:我们在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文件一样新规范文档写的很糟糕
新规范的某些部分反而会降低开发效率,提高安全危险
要求测试现实被拒绝
没有一个开放的值得考虑的方式来搜集社区用户的需求,只是采用了极少数社区讨论意见。
一些未经证实的需求,比如异步请求被添加进入规范
如同其他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