1、定義公共servlet類
首先,在創建servlet時,要確保將該servlet的類定義爲public。Weblogic
Server(或其他任何應用服務器)需要以這種指定方式來訪問類。應用服務器可
能顯示缺乏訪問的錯誤,這類錯誤極難診斷。
2、使用定義的響應代碼
HttpServletresponse爲所有HTTP響應代碼提供公共的、靜態的、最終的定義
。使用它們而不是數字狀態代碼值,可以提高代碼的可讀性,減少出錯的可能。
例如,與其使用response.sendError("503");不如使用
response.sendError(response.SC_SERVICE_UNAVAILABLE);
3、使用無參數的init()方法
與其重寫HttpServlet方法init(),不如重寫init(ServletConfig config)。
在出現servlet2.3規範之前,init()方法必須調用super.init(config)。如果開
發人員忘記進行這項必須得調用,那麼servlet就有可能會出錯。新的init()方法
更安全一些,因爲它不要求開發人員進行任何特殊的調用。
4、使用web應用程序生命週期事件
可以使用ServletContextListener.contextInitialized()回調來完成初始化
任務,所產生的效果比使用servletgenghsevlet.init()方法將這些初始化任務捆
綁到某一特定的servlet,可以再配置web應用程序方面限制將來的靈活性。監聽
器提供了作爲整體捆綁到web應用程序的一個初始化機制。
5、牢記可伸縮性
應避免做一些抑制可伸縮性的事,比如對servlet使用單線程模型。回顧一下
前面的知識就會知道,該模型一次只能允許對servlet執行一個線程。如果可能的
話,不要使用該模型。
6、支持RequestDispatcher
不要對本地url使用HttpResponse.sendRedirect()。在可以內部地處理請求時
,重定向帶來了一些不必要的開銷。可以使用RequestDispatcher.forword()方法
將用戶重定向到另一個頁面(不如,如果用戶會話無效的話就重定向到登陸頁面
)。
7、調用include()來重用公共組件
可以使用RequestDispatcher.include()方法來重用公共HTML組件,以便有計
劃地包括服務器端。例如,一個應用程序可以包括每一頁上的體育部分。編寫一
個響應體育得分的servlet,並使每個生成頁面上都包含該servlet。
8、不要關閉/終止響應流
正如前面所提到的,在Weblogic Server不需要多次創建並毀壞servlet來處理
單個客戶端會話時,性能就會獲得提高。爲了避免破壞Keep—Alive優化,不要關
閉或刷新在servic()中發送的流。