Java Web 框架需要解決的幾個問題

最近接觸了一些腳本語言做的Web框架,發現相對於其他的動態語言,Java Web開發面臨着以下幾個問題。

首先就是開發效率,開發過Java Web應用的都知道,一般情況下,當我們進行了修改以後都需要進行重新的部署,這個很大程度上是因爲Java Web應用一直都是基於Servlet而實現的,雖然JavaWeb開發從最初的Servlet,一直到後來的StrutsSpring,模塊化,靈活性可能是提高了不少,但是歸根結底整個應用的實現還是圍繞着Servlet走,而Servlet說白了就是一個Java類,所以,這會帶來的一個問題就是,當這個Servlet被加載了以後,你根本沒有辦法進行程序式的卸載,唯一的辦法就是重啓虛擬機,這就爲什麼一般情況下我們修改了之後都要重啓一下服務器。不過現在大部分的IDE好像都支持這種自動發佈,所以,這個問題雖然不能根治,但是對於開發人員來說,好像嚴重性有下降的趨勢。

第二個問題就是測試,做過Ruby on Rails的同仁們可能都知道,Rails提供的測試還是比較完整的,單元測試,功能測試都有,雖然我們開發的時候,不一定每個方法都測試一下,但是個人觀點,有了測試,最起碼你要重構起來還是相當方便的。但是在JavaWeb開發裏面,我們一般很少說測試,當然也不是沒有,我記得我也用過HttpUnit之類的工具來測試,但是效果跟易用性對比於Rails還是相差比較明顯的,我覺得這主要是因爲動態語言的Web框架一般都會自備一個服務器,這樣的好處就是,服務器的代碼對於框架的其他部分來說,就是一個白盒了,要獲取狀態之類都比較方便。但一般的Java Web開發,我們基本上都是在Tomcat上面跑,Tomcat對於Web框架而言,就是一個大黑盒,所以,測起應用來,總是有一種隔靴搔癢的感覺。

第三個問題就是配置文件太多,最開始我們做Web開發的時候可能只要配一個web.xml就完事了,但是後面出來的框架,爲了靈活性,就整了一堆的配置文件給我們,有的用來配URL Mapping,有的用來做O/R mapping。所以,學習框架,就是學習怎麼寫不同的配置文件。在我看來,不管是什麼樣的Web開發,要做的無非就是那麼幾件事,第一個就是URL Mapping,就是把URL映射到對應的處理單元。然後就是做O/R mapping,如果不帶數據庫,那麼這步還可以省了。最後一個就是怎麼生成HTML,不管你是用標籤好,在頁面中嵌代碼也好,做的就是這麼一個事。現在大部分框架要配的,也就是這幾個。但是很多東西其實可以很簡單的,例如Django用正則表達式,就可以把mapping做完,RoR根據一定的默認規則也可以把絕大部分的問題解決。幸好,現在大部分的Java Web框架好像也開始往精簡這些配置文件方向走了,他們利用Annotation或者反射自動生成這些配置文件,雖然,從本質上說這些文件沒有消失,但最起碼這已經不是開發人員的事情了。

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章