Zarar Siddiqi写了一篇题为"
Are JSPs Dead?,"的文章,文中不无夸张地建议,JSP技术应该也许根本不该出现在JavaEE开发的前沿阵地上,或许仅仅是ASP的原因吧.他说:
JSP给Java的应用的重用所带来的阻碍是巨大的, J2EE中并没有提供这种机制.而如果你非要这么做的话,则必然以牺牲其他模块或应用的更大的可重用性为代价。对于容器的高度依赖导致了对SE的重用不可实现,同时测试工作也变得举步维艰,您或许不得不建立一些Mock对象来观察结果.JSP和Servlet一对一的绑定,对我来说也不是什么有趣的事情,后台对JSP编译为Java类的处理也毫无意义. 既然可以通过Servlet为网页直接服务,为什么还要多余的推出一种混合的技术呢?
如果您还在考虑用JSP做您的MVC模型中的V部分来开发哪怕是一个中等大小的应用,您已经在犯严重的错误了。特别是,如果您的JSP仅仅作为视图显示的时候(页面中没有实际代码,只有taglibs),因为,您甚至连它仅有的“优点”——内嵌Java代码都没有应用。如果您是那种认为标签库没有想象中那么糟的人,那么您还是可以使用页面脚本,以此来生产您认为合格的软件。您已经无药可救了。
Zarar建议使用Freemarker, Velocity, 以及AJAX 来替换JSP.
这实在是种有趣的想法, 因为不论我们喜欢与否 (Zarar显然属于“否”的行列) JSPs是Java EE中默认的显示技术. JSP是否称职呢? 是否还有其他的可以成为标准的技术呢? 您又在应用何种技术呢? 为什么? (那些还被迫夹在陈旧的项目的中的,仍在使用Struts 1.1和JSPs的“可怜”的朋友们呢?)
@2008 杨一. 版权所有. 保留所有权利