<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      一個區分Bean的作用域的例子,即的scope屬性

      [摘要]以前很不明白Bean的scope屬性的含義,今天做了一個實驗,終于差不多搞明白了。貼出來與大家共享。例子很簡單,Bean的功能為取當前時間,其代碼為:Common.java:------------...
      以前很不明白Bean的scope屬性的含義,今天做了一個實驗,終于差不多搞明白了。貼出來與大家共享。
      例子很簡單,Bean的功能為取當前時間,其代碼為:
      Common.java:
      --------------------
      package XX;

      import java.util.Date;
      import java.text.*;

      public class Common
      {
      Date d=new Date();
      public String now(String s)
      {
      SimpleDateFormat formatter = new SimpleDateFormat(s);
      return formatter.format(d);
      }
      }

      測試頁面的代碼為:
      date.jsp
      -----------------------------------------------------------
      <jsp:useBean id="cm" scope="XX" class="XX.Common"/>
      <%=cm.now("yyyy-MM-dd HH:mm:ss")%>


      測試結果:

      1、當scope=application時,我們瀏覽date.jsp,這時顯示出了系統時間?墒遣还芪覀冊趺此⑿,重新打開一次瀏覽器,甚至換臺機器,它顯示的時間始終不變,都是當初的時間(即bean剛創建時得到的系統時間),因為scope=application,所以Bean的實例在內存中只有一份,此時只要不重新啟動WEB服務,輸出不會變化。

      2、當scope=session時,瀏覽date.jsp,刷新時顯示也不會變化。可是當我們重新打開一瀏覽器,即一個新的session,系統便再次創建Bean的實例,取得當前系統時間,這時將得到正確的時間。同樣,再次刷新新打開的頁面(新的session),顯示也不會變化。

      3、當scope=page/request(它們的區別只在于包含靜態文件時,此處無區別)時,不斷刷新頁面將不斷得到當前系統時間。

      以上可以看出不同的scope,Bean有不同的作用域。使用時一定注意,不要將得到經常變動的Bean的scope設為application或session,那將得到不正確的結果.


      日韩精品一区二区三区高清