|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
而学习JAVA我觉得最应该避免的就是:只学习,不思考,只记忆,不实践!JSR-315公布了Servlet3.0标准的公然预览版,同时在GlassFish代码分支上供应了参考完成。此次公布激发了人们关于专家组(ExpertGroup)为下一代ServletAPI和全部JavaEE6平台做出的各类选择的争辩。
ServletAPI一向处于风口浪尖,从早期草稿入手下手,JSR315专家组努力于在相似便利开辟、插件性等范畴完美和进步该标准,其首脑之一RajivMordani,如许说道:
- 便利开辟(EaseofDevelopment):在初期草案中,我们增加了一些注解,同意你像POJO一样写Servlet。可是在专家组的多少次会商和社区反应以后,我们决意删除像@GET,@POST如许的办法层注解,保存doGet、doPos办法和扩大HttpServlet类。可是,那些重定名以更无效利用的最顶层注解仍旧存在。@WebServlet用于声明一个servlet,@ServletFilter声明过滤器,@WebServletContextListener定义ServletContextListener。除这些注解,像@Resource这类自Servlet2.5就一向撑持的注解则坚持稳定。
- 可拔出性:构建于servlet之上的Web框架在开辟职员中很受接待,个中良多人提出了林林总总的成绩。为了更好地撑持框架便于开辟职员编写web使用,我们在servlet3.0标准中增加一些体例以匡助开辟职员依据本身情形利用和办理框架。
- 异步处置:这是我们在servlet3.0标准中变更最年夜的部分。在初期草案中,我们停息、从头入手下手、断定了我们界说的语义。可是,在这以后,专家组关于怎样办理异步处置的各类用例举行了大批的会商,标准中做出的修正如今也能够办理各类成绩。
RoyVanRijn表达了他关于初期草案中呈现的一些特征的担心:我更偏向于完整不利用针对GET/POST办法的注解,可是我发明JavaEE6标准倡始利用相似的注解,JSR-315的编写者“别无选择”(糟的托言)。我在本文中表达的概念已发给了JSR构造,但至今没有回应。
我也找不到一位成员给出缘故原由、注释、廓清等等。比来JavaEE6标准公布公然预览版,个中包括了对Servlet3.0标准的援用,以是这会成为JavaEE6的一部分。可是我恳请他们花工夫从头思索关于注解的决意。 跟着标准公然预览版的公布,来自Webtide的GregWilkins以为该标准十分糟,是反面谐的专家组和出缺陷的流程的产品。他的次要概念包含:
- 它代表了API计划上的一次头脑实行,不存眷完成的庞大性、试用可行性和社区反应。
- 请求测试完成的哀求被回绝了。
- 没有公然的大概公道的机制来搜集来自社区的需乞降可贵的社区征询。
- 一些含混的需求(好比包装的异步哀求)在较晚时分包括出去,没有效例和用户需求。
- 写的十分糟,就像年夜多半JCP文档一样。
- 一些新的特征引发了平安隐患,并大概招致部署迟缓。
- 异步servlet的倡议被改动了,与初期草案分歧。最后的办法是JettyContinuations的了局,从2008年3月便可在Jetty-7pre-release中试用,已在良多框架和使用中测试过,包含ometd、DWR、JSF和BlazeDS。
Greg总结说:我信任在如今的预览版中有分明的毛病,这些缺点已多的让人很简单就能够发明。当我从专家组收到关于这些成绩的撑持信息时,我没法确信标准首脑的正当身份,我大概由于过于严峻而没法失掉匡助了。 Rajiv对Greg的回复中指出:
- 在GlassFish中有相干完成。
- 他从没看到过Greg的哀求。
- 假如不喜好新功效,能够克制利用。
- 没有分明的证据标明部署会变慢。
- 异步servlet增添的体例更被社区所喜好,他援用了专家组的邮件。
Rajiv也提到了来自RedHat的BillBurke写的一篇博文,个中他品评了Jetty6中的异步servlet完成。
随后,GregWilkins公布他努力于Servlet3.0异步servlet的一个完成,他在博客上枚举了一些修改/扩大和与专家组的延续会商。个中包含:
- 新的异步分发器范例(ASYNCDispatcherType),用于分发异步哀求。
- 当哀求分发时,isAsyncStarted()办法为false。
- 假如getReader()大概getOutputStream()已被挪用,则挪用startAsync()大概startAsync(request.response)时会抛出IllegalStateException非常。这能够把异步处置器限定到复杂的情况下。
- 假如经由过程startAsync(request,response)启动异步形式,在AsyncContext上利用任何forward(...)办法城市有IllegalStateException非常。这制止了分发包装器的庞大,但同意异步处置器利用包装器。
- forward(path)和forward(context,path)办法还没有完成。
代码能够从Jetty分支和servlet-api分支中失掉。
Grep谈到了异步servlet的事变:固然还必要更多测试,可是这个代码已完成了基础的异步举动,不必要很庞大的从头分发哀求大概前递办法。我信任这代表了3.0的公道折衷计划。在我们从3.0的复杂子集里取得履历以后,假如必要更多的特征,能够增加到3.1中。 检察英文原文:Servlet3.0PublicReviewSparksaDebate
本文出自:http://www.infoq.com/cn/news/2008/12/servlet3_debate
那这个对象有什么意义?现在很多用javabean的人就不能保证对象有完整的意义,不成熟的使用模式等导致代码疯狂增长,调试维护的时间要得多得多。在说性能之前,先说说你这个比较的来历。据说微软为了证明。net网页编程比java好。 |
|