如果引用或轉貼,麻煩註明出處與本網誌連結,否則視為侵權。

2011年10月22日

JSP and Struts開發經驗

 

作者 : Fred (Hainchu-Taiwan) 原作日期:2005/1/3

JSP

  • JSP程式的錯誤難以測試
  • JSP程式混合多種語法,包含HTML,JSP script,Java,Javascript, CSS
  • 發生錯誤時執行期才會顯示出來
  • 執行期產生的錯誤訊息顯示錯誤的程式行數並非JSP的程式行數,而是Web Server將JSP翻譯成Servlet後的程式行數,如果用Tomcat做Web Server還可以找到翻譯後的Servlet程式,但是其他Web Server可能就沒有了。

因應之道

  • 盡量簡化JSP的程式碼,避免複雜的邏輯,盡量是單純的HTML
  • 減少java scriptlet的使用
  • 利用Tag library,如Struts tags, JSTL tags

 

Jakarta Struts

Struts Tag的使用要嚴格檢查

  • HTML是給Web browser讀的,而這些browser由容錯機制,因此HTML寫錯或starting tag and closing tag不搭配時也不會造成無法執行的嚴重錯誤,但是Struts tags會經由web container及API解譯,如果有錯就會造成編譯的錯誤,而無法執行,因此這點是要特別注意的。

Struts Tag 並非標準

  • 建議採用JSTL取代Struts相關的Logic, Bean等tag library,只保留struts html tag for Action Form bean的使用。
  • 盡量使用ForwardAction以減少Java程式的數量
  • 透過ForwarAction可以將許多存取對象(Domain object)相同的action集合到同一個class內處理。如此不但減少維護的程式量也可以撰寫helping method將共同的程式碼extract成共用的method。

沒有留言:

張貼留言

歡迎提供意見, 謝謝 (註 : 留言經過版主審核通過才會發布)