2011-03-05 20 views
0

我與一些dobuts:jsp的性能如何?

1)我怎麼能最好的實踐有最好的性能與我的網站在jsp?

2)我應該如何處理request.session.getAttribute()和request.attribute()?

3)servlet和jsp之間的所有數據都應該在request.session.getAttribute中?或者在request.getAttribute中?

我問這個原因,在使用一段時間後,我的tomcat停下來了,我在另一個項目中使用了同樣的tomcat,這種情況從未發生過。

此致敬禮, 瓦爾特恩裏克。

回答

2
  1. 不要擔心jsp性能,它已被證明和測試已經足夠。
  2. 該會話對於許多請求之間的用戶有效,request.getAttribute對於每個新的對您的servlet發出的HTTP請求都是唯一的。
  3. 明確地將所有數據放入每個請求中,這意味着您必須使用request.getAttribute

如果你有你的tomcat的問題,我建議你要麼發表您的堆棧跟蹤或鉤一些監控工具(如您IDE debugger或類似jconsole)。

會話也很有用。會話通常包含有關登錄用戶及其首選項的信息。例如,它可用於存儲用戶名主題以便使用此類東西。

+0

在我的情況下,用戶應該登錄做一些操作,所以會話更適合,對吧? – 2011-03-05 12:02:12

+0

@Valter,** only **在會話中存儲用戶數據,從不在會話中存儲* request-specific *信息,例如'submitting a form'。 – 2011-03-05 12:05:13

+0

沒關係@Johan我沒有在會話中提交表單=) – 2011-03-05 12:08:37

0

回答你的問題是:

1)我怎麼能採取的最佳pratices擁有最好的性能比較與我的JSP網站?

而不是編碼servlet和jsp頁面,您應該使用MVC框架。還有像Spring,Struts中,檢票等許多Java MVC框架他們會幫助你在創造一個更好的穩定和維護應用

2)如何我應該用對待request.session.getAttribute()和request.attribute ()?

存儲數據的地方就是您的設計。如果您需要在多個請求中可訪問屬性,則必須將其放入會話中。而如果您只需要1或2個請求的屬性,則可以在請求前執行。上面提到的框架總是提供更好的管理。

3)servlet和jsp之間的所有數據應該在request.session.getAttribute中?或者在 request.getAttribute?

同樣,這取決於您的應用程序以及您需要多長時間才能訪問您的數據。

+0

我需要這些數據在多個請求中進行訪問,所以會話更好,對不對? 並感謝框架,要去尋找它。 – 2011-03-05 12:03:43

+0

y ..在這種情況下,您應該使用會話 – 2011-03-05 12:04:34

+0

感謝@Abdel的幫助。 – 2011-03-05 12:23:02