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