Zarar Siddiqi: JSP是不是應(yīng)該退出歷史舞臺(tái)了?(譯自theServerSide.com)
Zarar Siddiqi寫(xiě)了一篇題為"Are JSPs Dead?,"的文章,文中不無(wú)夸張地建議,JSP技術(shù)應(yīng)該也許根本不該出現(xiàn)在JavaEE開(kāi)發(fā)的前沿陣地上,或許僅僅是ASP的原因吧.他說(shuō):JSP給Java的應(yīng)用的重用所帶來(lái)的阻礙是巨大的, J2EE中并沒(méi)有提供這種機(jī)制.而如果你非要這么做的話,則必然以犧牲其他模塊或應(yīng)用的更大的可重用性為代價(jià)。對(duì)于容器的高度依賴(lài)導(dǎo)致了對(duì)SE的重用不可實(shí)現(xiàn),同時(shí)測(cè)試工作也變得舉步維艱,您或許不得不建立一些Mock對(duì)象來(lái)觀察結(jié)果.JSP和Servlet一對(duì)一的綁定,對(duì)我來(lái)說(shuō)也不是什么有趣的事情,后臺(tái)對(duì)JSP編譯為Java類(lèi)的處理也毫無(wú)意義. 既然可以通過(guò)Servlet為網(wǎng)頁(yè)直接服務(wù),為什么還要多余的推出一種混合的技術(shù)呢?Zarar建議使用Freemarker, Velocity, 以及AJAX 來(lái)替換JSP.
如果您還在考慮用JSP做您的MVC模型中的V部分來(lái)開(kāi)發(fā)哪怕是一個(gè)中等大小的應(yīng)用,您已經(jīng)在犯嚴(yán)重的錯(cuò)誤了。特別是,如果您的JSP僅僅作為視圖顯示的時(shí)候(頁(yè)面中沒(méi)有實(shí)際代碼,只有taglibs),因?yàn)椋踔吝B它僅有的“優(yōu)點(diǎn)”——內(nèi)嵌Java代碼都沒(méi)有應(yīng)用。如果您是那種認(rèn)為標(biāo)簽庫(kù)沒(méi)有想象中那么糟的人,那么您還是可以使用頁(yè)面腳本,以此來(lái)生產(chǎn)您認(rèn)為合格的軟件。您已經(jīng)無(wú)藥可救了。
這實(shí)在是種有趣的想法, 因?yàn)椴徽撐覀兿矚g與否 (Zarar顯然屬于“否”的行列) JSPs是Java EE中默認(rèn)的顯示技術(shù). JSP是否稱(chēng)職呢? 是否還有其他的可以成為標(biāo)準(zhǔn)的技術(shù)呢? 您又在應(yīng)用何種技術(shù)呢? 為什么? (那些還被迫夾在陳舊的項(xiàng)目的中的,仍在使用Struts 1.1和JSPs的“可憐”的朋友們呢?)
@2008 楊一. 版權(quán)所有. 保留所有權(quán)利
posted on 2007-04-22 15:31 楊一 閱讀(2025) 評(píng)論(5) 編輯 收藏 所屬分類(lèi): Java EE