java學習

          java學習

           

          在window下開機自動啟動tomcat方法

          在命令行框中輸入tomcat路徑,例如
          D:\tomcat-6.0.18\bin\service.bat install,在系統服務中找到tomcat,定義為自動啟動就好了

          posted @ 2012-12-18 13:18 楊軍威 閱讀(308) | 評論 (0)編輯 收藏

          extjs中Ext.BLANK_IMAGE_URL的作用

          在使用ExtJS時,我們往往需要在使用之前加入這么一句:
          Ext.BLANK_IMAGE_URL = "....."其中省略部分為s.gif在extjs包中的路徑。
          那么ExtJS為什么要設置這樣一個變量呢?如果我們不這樣做會帶來什么后果?
          首先說后果:
          如果沒有以上那句代碼,Ext會按照默認的地址:http://www.extjs.com/s.gif去下載這張圖片,由于網絡不通或者速度較慢等原因,可能導致這張圖片加載不成功,造成頁面上很多小白條。
          設置這個變量的原因:
          原來ExtJS中在創建組件的時候,組件中需要替換圖標的地方,初始化時都是拿這個s.gif替代的,如果用戶指定icon屬性,它會將s.gif替換為icon的地址,說白了,s.gif就是一個占位的功能。
          另外,如果看過ExtJS的源代碼可能發現,它對于ie和air的默認實現是去url請求這張圖片,而對于其它瀏覽器則直接使用圖片解碼,這是因為ie和air不支持圖片解碼。

          ----------------------------------------------------------------------------------------------------------

          Ext.BLANK_IMAGE_URL

          圖片位置默認指向:
          /resources/images/default/s.gif'

           

          最近在看Ext中jack的window導航式例時,看到一個細節,讓我頓時明白了作者的這一做法的初衷。
          作者在對一些需要應用圖片或者圖標的地方,都沒有顯式寫明要應用的圖標(片)路徑,
          而都是通過css來配置,許多應用圖標的地方剛開始都Ext.BLANK_IMAGE_URL來替代,
          而在css在加載之后就會替換到真實的圖標路徑 。
          這一招就徹底解決了界面的換膚問題。

          posted @ 2012-12-17 10:24 楊軍威 閱讀(512) | 評論 (0)編輯 收藏

          把extjs部署到tomcat中方法

          把extjs源代碼包發到wabapps中,啟動tomcat,在瀏覽器地址欄輸入http://localhost:8080/ext/docs/index.html就可以了

          posted @ 2012-12-17 10:07 楊軍威 閱讀(469) | 評論 (0)編輯 收藏

          簡單(靜態)工廠模式

          簡單工廠模式存在的目的是定義一個用于創建對象的接口,此模式由三個部分組成:
          (1)工廠類角色:這是本模式的核心,含有一定的邏輯和判斷,由一個具體類實現
          (2)抽象產品角色:一般是具體產品繼承的父類或者實現的接口,
          (3)工廠類所創建的對象就是此角色的實例

          posted @ 2012-12-11 14:55 楊軍威 閱讀(147) | 評論 (0)編輯 收藏

          讀取配置文件.properties中的數據

          .properties文件中的數據是鍵值對形式的,key = value格式,把此文件放在緊跟在src目錄下,新建一個類來讀取數據,例如:

          public class ReadCommand {
           /**
            * 讀取properties文件
            */

           private static ReadCommand readConfig = new ReadCommand();
           public static Map<String, String> nodeMap = new HashMap<String, String>();
           
           static{
            System.out.println("ReadConfig...");
            InputStream in = ReadCommand.class.getClassLoader().getResourceAsStream("light_command.properties");
            Properties prop = new Properties();
            try {
             prop.load(in);
             Enumeration en = prop.propertyNames();
             while(en.hasMoreElements()){
              String key = (String) en.nextElement();
              String value = (String) prop.get(key);
              nodeMap.put(key, value);
             }
            } catch (IOException e) {
             e.printStackTrace();
            }
           }
           
           //私有化構造函數
           private ReadCommand(){}
           
           /**
            * 實例化該類(單例)
            *  *  */
           public static ReadCommand getInstance(){
            return readConfig;
           }
           
           /**
            * 獲取配置的節點的信息
            * 
            *   */
           public Map<String, String> getNodes(){
            return nodeMap;
           }
          public static Map<String,String> getLightName(){
            Map<String, String> map = ReadConfig.getInstance().getNodes();
           
           return map;
           }
          Map<String,String> map = GetLightName.getLightName();
            Set<String> keys = map.keySet();//得到鍵值
            for(String key : keys){
             System.out.println(key+"-----"+map.get(key));
            }
          }

          posted @ 2012-12-11 11:31 楊軍威 閱讀(276) | 評論 (0)編輯 收藏

          extjs中嵌入別的系統的網頁

          Ext.ux.LightTabPanel.superclass.constructor.call(this, {
            id : this.panelId,
            title : this.treeNode.text,
            layout : 'border',
            closable : true,  
            autoScroll : true,
            width: '100%',
            height: '100%',
             html: '<iframe width=100% height=100% src=" });

          在面板的構造方法中這樣寫,就可以了

          posted @ 2012-11-27 17:05 楊軍威 閱讀(351) | 評論 (0)編輯 收藏

          extjs定時向后臺請求

          var alarmTask = {
             run   : function() {
             Ext.Ajax.request(寫需要請求的代碼);
             },
             interval : 5000
            };
            Ext.TaskMgr.start(alarmTask);

          posted @ 2012-11-23 14:57 楊軍威 閱讀(322) | 評論 (0)編輯 收藏

          刪除數組和集合中重復的數據

          List<String> a = new ArrayList<String>();
          a.add("6");
          a.add("3");
          a.add("4");
           a.add("1");
           a.add("1");
           a.add("2");
           a.add("2");
           a.add("3");
           a.add("4");
           a.add("5");
           a.add("6");
           a.add("5");
           List<String> b = new ArrayList<String>();
           for(String c : a){
            if(!b.contains(c)){
             b.add(c);
            }
           }
          在刪除集合中重復的數據時,只要先創建一個新的集合存放數據就好

          posted @ 2012-11-20 15:23 楊軍威 閱讀(221) | 評論 (0)編輯 收藏

          BeanNameAutoProxyCreator自動創建事務代理

          用BeanNameAutoProxyCreator自動創建事務代理
          下面介紹一種優秀的事務代理配置策略:采用這種配置策略,完全可以避免增量式配置,所有的事務代理由系統自動創建。容器中的目標bean自動消失,避免需要使用嵌套bean來保證目標bean不可被訪問。
          這種配置方式依賴于Spring提供的bean后處理器,該后處理器用于為每個bean自動創建代理,此處的代理不僅可以是事務代理,也可以是任意的代理,只需要有合適的攔截器即可。這些是AOP框架的概念讀者只需了解這種事務代理的配置方式即可。
          下面是采用BeanNameAutoProxyCreator配置事務代理的配置文件:
          <?xml version="1.0" encoding="gb2312"?>
          <!--  Spring配置文件的文件頭,包含DTD等信息-->
          <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
              "[url]http://www.springframework.org/dtd/spring-beans.dtd[/url]">
          <beans>
              <!--定義數據源-->
              <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
                  <!--  定義數據庫驅動-->
                      <property name="driverClassName"><value>com.mysql.jdbc.Driver</value></property>
                  <!--  定義數據庫url-->
                      <property name="url"><value>jdbc:mysql://localhost:3306/spring</value></property>
          <!--  定義數據庫用戶名-->
                      <property name="username"><value>root</value></property>
                  <!--  定義數據庫密碼-->
                      <property name="password"><value>32147</value></property>
              </bean>
              <!--定義一個hibernate的SessionFactory-->
          <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
                  <!--  定義SessionFactory必須注入DataSource-->
                      <property name="dataSource"><ref local="dataSource"/></property>
                      <property name="mappingResources">
                      <list>
                          <!--以下用來列出所有的PO映射文件-->
                          <value>Person.hbm.xml</value>
                      </list>
                      </property>
                      <property name="hibernateProperties">
                      <props>
          <!--此處用來定義hibernate的SessionFactory的屬性:
          不同數據庫連接,啟動時選擇create,update,create-drop-->
                      <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
                      <prop key="hibernate.hbm2ddl.auto">update</prop>
                  </props>
                  </property>
              </bean>
              <!--  定義事務管理器,使用適用于Hibernte的事務管理器-->
          <bean id="transactionManager"
                  class="org.springframework.orm.hibernate3.HibernateTransactionManager">
                      <!--  HibernateTransactionManager  bean需要依賴注入一個SessionFactory bean的引用-->
                      <property name="sessionFactory"><ref local="sessionFactory"/></property>
          </bean>
              <!--  配置事務攔截器-->
          <bean id="transactionInterceptor"
          class="org.springframework.transaction.interceptor.TransactionInterceptor">
                  <!--  事務攔截器bean需要依賴注入一個事務管理器 -->
                  <property name="transactionManager" ref="transactionManager"/>
                  <property name="transactionAttributes">
                      <!--  下面定義事務傳播屬性-->
                      <props>
                          <prop key="insert*">PROPAGATION_REQUIRED</prop>
                          <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
                          <prop key="*">PROPAGATION_REQUIRED</prop>
                      </props>
                  </property>
              </bean>
          <!-- 定義BeanNameAutoProxyCreator,該bean是個bean后處理器,無需被引用,因此沒有id屬性
          這個bean后處理器,根據事務攔截器為目標bean自動創建事務代理
              <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
                    指定對滿足哪些bean name的bean自動生成業務代理 -->
           <property name="beanNames">
                      <!--  下面是所有需要自動創建事務代理的bean-->
                      <list>
                          <value>personDao</value>
                      </list>
                      <!--  此處可增加其他需要自動創建事務代理的bean-->
                  </property>
                  <!--  下面定義BeanNameAutoProxyCreator所需的事務攔截器-->
                  <property name="interceptorNames">
                      <list>
                          <value>transactionInterceptor</value> 
                              <!-- 此處可增加其他新的Interceptor -->
                      </list>
                  </property>
              </bean>
              <!--定義DAO Bean ,由于BeanNameAutoProxyCreator自動生成事務代理-->
              <bean id="personDao" class="lee.PersonDaoHibernate">
                  <property name="sessionFactory"><ref local="sessionFactory"/></property>
          </bean>
          </beans>
          TranscationInterceptor是一個事務攔截器bean,需要傳入一個TransactionManager的引用。配置中使用Spring依賴注入該屬性,事務攔截器的事務屬性通過transactionAttributes來指定,該屬性有props子元素,配置文件中定義了三個事務傳播規則:
          所有以insert開始的方法,采用PROPAGATION_REQUIRED的事務傳播規則。程序拋出MyException異常及其子異常時,自動回滾事務。所有以find開頭的方法,采用PROPAGATION_REQUIRED事務傳播規則,并且只讀。其他方法,則采用PROPAGATION_REQUIRED的事務傳播規則。
          BeanNameAutoProxyCreator是個根據bean名生成自動代理的代理創建器,該bean通常需要接受兩個參數。第一個是beanNames屬性,該屬性用來設置哪些bean需要自動生成代理。另一個屬性是interceptorNames,該屬性則指定事務攔截器,自動創建事務代理時,系統會根據這些事務攔截器的屬性來生成對應的事務代理。

          posted @ 2012-11-20 14:04 楊軍威 閱讀(599) | 評論 (0)編輯 收藏

          ext中引用變量的使用

          在ext的js文件中,使用對象的屬性時,如果對象的屬性是基本數據類型和String時,和對象的屬性是引用屬性時,例如是別的類名時,可以這樣使用:
          var typeRecord = new Ext.data.Record.create([ {
            name : 'id',
            type : 'long'
           }, {
            name : 'rfid',
            type : 'string'
           }, {
            name : 'addTime',
            type : 'string'
           }, {
            name : 'food',//food是別的類的對象,Food
            type : 'AUTO'//定義為這樣
           }, {
            name : 'foodCode',
            type : 'string'
           }, {
            name : 'sum',
            type : 'string'
           }, {
            name : 'deadTime',
            type : 'string'
           }]);

          在使用時,這樣,例如:
            columns : [ {
             header : '編號',
             dataIndex : 'id',
             width : 60
            }, {
             header : '卡號',
             dataIndex : 'rfid'
            }, {
             header : '添加時間',
             dataIndex : 'addTime'
            }, {
             header : '食物現庫存',
             dataIndex : 'sum'
            }, {
             header : '食物快要過期,剩余天數',
             dataIndex : 'deadTime'
            }, {
             header : '所屬食物的常規數量',
             dataIndex : 'food',
             renderer: function(v){
              return v.num;
             }
            }, {
             header : '所屬食物的產地',
             dataIndex : 'food',//這樣就可以去到Food的對象food的address的數據了
             renderer: function(v){
              return v.address;
             }
            }, {
             header : '所屬食物的保質期',
             dataIndex : 'food',
             renderer: function(v){
              return v.limitTime;
             }
            }, {
             header : '所屬食物',
             dataIndex : 'food',
             renderer: function(v){
              return v.foodName;
             }
            }   ]

          posted @ 2012-11-20 13:46 楊軍威 閱讀(325) | 評論 (0)編輯 收藏

          僅列出標題
          共43頁: First 上一頁 35 36 37 38 39 40 41 42 43 下一頁 

          導航

          統計

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 中山市| 奉节县| 彩票| 大宁县| 犍为县| 甘洛县| 静安区| 诸暨市| 博爱县| 嘉峪关市| 韶山市| 双柏县| 时尚| 容城县| 鱼台县| 色达县| 洪雅县| 广南县| 托里县| 康马县| 海南省| 鹤峰县| 寿宁县| 呼伦贝尔市| 莱州市| 长海县| 南投县| 米泉市| 宜阳县| 商洛市| 南通市| 盐源县| 前郭尔| 梅河口市| 左权县| 南安市| 仁寿县| 潜江市| 贵州省| 营山县| 潮安县|