隨筆-26  評(píng)論-44  文章-20  trackbacks-0
            2007年8月5日
          愛情是相知相交的默契,還是好奇加視覺沖擊的新鮮感,是平等相待,還是占有和被保護(hù)。漫長(zhǎng)的人生該和什么樣的人渡過,離婚爭(zhēng)吵難道無法避免?為什么對(duì)異性只是觀看美麗,卻無法去欣賞崇拜。如果不留心觀察,只是流于表面,又怎么能找到另一半。我們沾染太多世俗,儼然社會(huì)的傀儡,怎么才能逃離社會(huì)陰暗的一面,追尋愛情抑或人生的歸宿,只有留心觀察,認(rèn)真思考,不流于表面。
          posted @ 2009-08-02 19:07 開機(jī) 閱讀(198) | 評(píng)論 (0)編輯 收藏
               摘要:   閱讀全文
          posted @ 2008-11-10 21:45 開機(jī) 閱讀(1778) | 評(píng)論 (1)編輯 收藏
          在以前religionMIS基礎(chǔ)(見我的隨筆:extjs做的信息管理系統(tǒng))上加的sping bean,同時(shí)刪除的幾個(gè)類。

          代碼:http://www.aygfsteel.com/Files/yijia/(%E5%8E%9F%E5%88%9B)spring_religionMIS.rar

          spring包:http://www.aygfsteel.com/Files/yijia/spring.rar
          解壓后的spring.jar放到web-info/lib下即可。

          數(shù)據(jù)庫(kù)文件:http://www.aygfsteel.com/Files/yijia/reliongionmis 20080829 1731.rar
          是mysql做的。

          剛開始進(jìn)系統(tǒng)的時(shí)候有點(diǎn)小問題,沒數(shù)據(jù)顯示,按一下里面的按鈕,如添加,之后就能顯示數(shù)據(jù)了。各個(gè)功能就正常的。以前沒這個(gè)毛病,加了spring 后就這樣的,也許是以前每次都創(chuàng)建新實(shí)例沒問題,現(xiàn)在在spring容器配置后 單實(shí)例引起的問題,。總體來說,比以前好的不少。

          posted @ 2008-11-06 13:32 開機(jī) 閱讀(1350) | 評(píng)論 (0)編輯 收藏
          public class Table {
              String tableName;
              String mainPropertyName;
              static int count=1;
              static DBExcute dbExcute=(DBExcute)new ClassPathXmlApplicationContext("applicationContext.xml").getBean("dbExcute");
             
              Table(String tableName,String mainPropertyName){
                  this.tableName=tableName;
                  this.mainPropertyName=mainPropertyName;
                  System.out.println("construct table"+(count++)+" use:"+dbExcute);
              }
                  .............
                  .............
               public static void main(String []dsf){
               new Table("user","1");
            }
          }

          如上只new Table(..)一次:
          結(jié)果卻是:
          construct table1 use:null
          construct table2 use:null
          construct table3 use:null
          construct table4 use:null
          construct table5 use:null
          construct table6 use:com.yijia_ctgu.DB.DBExcute@535b58


          奇怪中。。。。。。。


          明白了,spring容器初始化的時(shí)候,初始化dbDAO bean會(huì)生成五個(gè)table,可能是先初始化,后才賦值給dbExcute,所以剛開始的五個(gè)都是null.

          posted @ 2008-11-05 14:45 開機(jī) 閱讀(277) | 評(píng)論 (1)編輯 收藏
          我在普通類的main方法中調(diào)用bean:
          Resource resource = new ClassPathResource("applicationContext.xml");
          BeanFactory factory = new XmlBeanFactory(resource);
          for(int i=1;i<5;i++){
                    DB dbDAO = (DB)factory.getBean("dbDAO");
                    System.out.println(dbDAO);
                }
          每次執(zhí)行程序(不停的調(diào)用main方法,不只是只看一次循環(huán)!)都是相同的引用:
          com.yijia_ctgu.DB.DB@12a54f9
          com.yijia_ctgu.DB.DB@12a54f9
          com.yijia_ctgu.DB.DB@12a54f9
          com.yijia_ctgu.DB.DB@12a54f9


          但是在servlet中使用時(shí):
          Resource resource = new ClassPathResource("applicationContext.xml");
          BeanFactory factory = new XmlBeanFactory(resource);
           dbDAO = (DB)factory.getBean("dbDAO");
          每次操作創(chuàng)建的都是不同的引用:
          如com.yijia_ctgu.DB.DB@16e1782
            com.yijia_ctgu.DB.DB@19be6ee

          為何會(huì)是這樣,是不是servlet每次都會(huì)重新生成spring容器?是servlet獲取bean的方式有問題嗎?還是servlet根本不可能每次使用相同的bean.

          我懂了,必須用別的方式:先在web.xml中定義applicatincontext的位置,再用WebApplicationContextUtils獲取ApplicationContext,在用它獲取bean,這樣就每次就是同樣的bean了。

          但是錯(cuò)誤還是在繼續(xù),spring我沒系統(tǒng)的學(xué),所以總是有太多的問題。

          posted @ 2008-11-05 10:34 開機(jī) 閱讀(361) | 評(píng)論 (0)編輯 收藏
          在web.xml中配置spring的contextconfigloaction時(shí),總是定位不到src/applicationContext.xml或者
          /src/applicationContext.xml(也許是我不懂父目錄當(dāng)前目錄之類的)。算了,直接刪除這個(gè)context-param,把a(bǔ)pplicationContext.xml文件復(fù)制到web-info下面,反正spring默認(rèn)的就是那里。
          要是剛開始myeclipse自動(dòng)生成的applicationContext.xml文件的位置就在web-info下就不什么事都沒了,不知道把它放到src有什么意圖?

          我暈啊,后來,程序還要到src下找applicationContext.xml文件,web-info下的也不能刪,無語了。

          我發(fā)布到tomcat的時(shí)候,是以WebRoot為根目錄的,即tomcat的server.xml中是這樣配置的:
          <Context path="" docBase="D:\spring_religionMIS\WebRoot"/>
          這也許就是定位不到src/..的原因吧,因?yàn)槌绦蚩偸菑腤ebRoot往下找,當(dāng)然找不到,我又用../src/applicationContext.xml定位也找不到,不知錯(cuò)在哪里?
          posted @ 2008-11-04 17:27 開機(jī) 閱讀(2188) | 評(píng)論 (2)編輯 收藏
          MyEclipse中,在加spring時(shí),開始只加了spring-core,spring-aop。后來想加spring-web上去,除了直接復(fù)制粘貼包上去,還有沒有更好的方法?
          posted @ 2008-11-03 21:27 開機(jī) 閱讀(226) | 評(píng)論 (0)編輯 收藏
            搞了半天,只要在myeclispe中打開tomcat就行了。
            我剛剛都是在外部用tomcat自帶的monitor打開的,以前沒注意到,寫在這里提醒自己,希望對(duì)出現(xiàn)類似狀況的同志有點(diǎn)幫助。
          posted @ 2008-11-03 15:16 開機(jī) 閱讀(754) | 評(píng)論 (0)編輯 收藏
          我用easyjweb project命令快速生成的工程后,在src/main/java下建了一個(gè)包c(diǎn)om.easyjweb.action在包下面寫了個(gè)HelloAction,但是運(yùn)行時(shí)出錯(cuò),說frameworkException: 沒有找到處理模板的類:com.easyjweb.action.HelloAction,我在web-inf的classes目錄里看了沒編譯后的文件。我是用easyjweb project命令快速生成的工程,為什么eclipse沒編譯對(duì)應(yīng)的java文件呢?

          我自己手工新建的工程,添加對(duì)應(yīng)的類,寫好web.xml,可以運(yùn)行程序。

          我又用easyjweb project ... -ejs命令試了試,寫了Java源文件后,發(fā)現(xiàn)classes目錄有了編譯后的文件,可是這樣生產(chǎn)的工程師EasyJweb+JPA+spring結(jié)構(gòu)的。我只是要個(gè)簡(jiǎn)單的應(yīng)用,用easyjweb project ..又試了幾次,還是不能編譯對(duì)應(yīng)的Java文件。哎,我也不知道問題出在哪里?我想這樣一個(gè)成名的框架一定不會(huì)有問題了。哪位熟悉此框架的大哥,能不能幫忙解答一下。
          posted @ 2008-08-30 18:12 開機(jī) 閱讀(393) | 評(píng)論 (1)編輯 收藏
            extjs做的信息管理系統(tǒng),由于業(yè)務(wù)簡(jiǎn)單,操作數(shù)據(jù)庫(kù)的API用自己寫的(我以前的 自己做試卷管理系統(tǒng) 系列中 提到),簡(jiǎn)單實(shí)用。在顯示打印頁面的時(shí)候,用到的servlet FormFilter,原因是數(shù)據(jù)在網(wǎng)絡(luò)間傳輸時(shí)原先在數(shù)據(jù)庫(kù)中的順序打亂了,在這個(gè)servlet中用數(shù)組給它重新排列打印頁面上數(shù)據(jù)的順序。
            程序盡量用只用一個(gè)方法完成所有g(shù)rid中一類類似的功能,用一個(gè)servlet完成所有一類類似的操作,用一個(gè)jsp顯示所有要打印的頁面。

          代碼下載:http://www.aygfsteel.com/Files/yijia/religionMIS.rar
          數(shù)據(jù)庫(kù)腳本在代碼根目錄下。
            開發(fā)環(huán)境:Eclipse3.2,mysql5.0,
                    eclispe開發(fā)環(huán)境中所有文件的編碼都設(shè)置為utf-8。修改mysql的配置文件,使其默認(rèn)編碼為utf-8(方法在網(wǎng)上可以搜到)或者用MySQL Administrator圖形工具也可設(shè)置。
            瀏覽器:firefox。我用的是firefox3,不知道firefox2可不可以。但在ie中運(yùn)行不了,我已經(jīng)試過了。
            還有什么問題,跟我留言,我非常樂意與大家交流,這是我暑假學(xué)extjs做的,算作練習(xí)。

          補(bǔ)充:編輯是自動(dòng)編輯,在grid輸入框編輯完后,監(jiān)聽事件負(fù)責(zé)主動(dòng)把編輯的結(jié)果上傳到數(shù)據(jù)庫(kù)。添加按鈕也是,點(diǎn)擊添加后,新紀(jì)錄在grid上顯示的同時(shí)也插入到數(shù)據(jù)庫(kù)。刪除可選中多行后刪除。up按鈕用的是ext.ux.uploaddialog上傳組件。打印頁面是用jsp顯示,原先還是想用extjs實(shí)現(xiàn),一來覺得復(fù)雜,二來不知道怎么打印ext窗口,就放棄了。

          posted @ 2008-08-29 17:56 開機(jī) 閱讀(6571) | 評(píng)論 (9)編輯 收藏
            做試卷管理系統(tǒng)的時(shí)候,寫了一個(gè)操作數(shù)據(jù)庫(kù)的工具,它與數(shù)據(jù)庫(kù)的具體的表,屬性都無關(guān):Tabel t=DB.getTabel("user")后可以操作相應(yīng)的數(shù)據(jù)表,只要這個(gè)名為user的表存在,t.search(property[][],start,limit)傳入一個(gè)屬性數(shù)組,property比如可以為{{"username","admin"},{"password","admin"}....},然后數(shù)據(jù)庫(kù)就可以在user表中查找username="admin"....的記錄,start,limit是查找起始點(diǎn)和數(shù)目限制,js分頁時(shí)用到。
            這樣一來,servlet也可以和具體的表,屬性無關(guān),只和幾個(gè)通用屬性有關(guān),如tableName,id(主鍵也可以為別的,在config.properties中配置),start,limit等等和具體數(shù)據(jù)庫(kù)無關(guān)的。奇妙就在這里:不管數(shù)據(jù)庫(kù)有多少?gòu)埍恚瑢?duì)于與每一個(gè)操作,servlet只有一個(gè),如Edit,而不需要EditUser,EditPaper....等等很多edit了。同樣以后系統(tǒng)怎樣擴(kuò)展,怎樣增加表,表的屬性怎樣變化。servlet都可以不變,他只是操作相應(yīng)的數(shù)據(jù)。那么具體的業(yè)務(wù)操作呢?
            js為這些帶來了可能,它與返回的數(shù)據(jù)交互操作,和在服務(wù)器沒有兩樣,為servlet省去了麻煩。
            以上是我個(gè)人感想,僅供參考。
            操作數(shù)據(jù)庫(kù)的工具和寫的servlet參見 自己動(dòng)手做試卷管理系統(tǒng)的幾篇隨筆。js不好意思公開了,這是給別人做的小項(xiàng)目。

          posted @ 2008-08-12 08:32 開機(jī) 閱讀(1686) | 評(píng)論 (7)編輯 收藏
          在實(shí)踐中的完善,操作數(shù)據(jù)庫(kù)的工具也漸漸的完善了,
          下面是我的操作數(shù)據(jù)庫(kù)的工具和使用它的servlet:http://www.aygfsteel.com/Files/yijia/com.rar
          另外還有使用到的第三方工具:http://www.aygfsteel.com/Files/yijia/lib.rar
           

          posted @ 2008-08-07 19:35 開機(jī) 閱讀(339) | 評(píng)論 (0)編輯 收藏
          參考 隨筆:自己動(dòng)手做試卷管理系統(tǒng)-用戶管理部分

          我增加了3個(gè)類:DB,Table,Row
          DB:用來取得所有的table,并生產(chǎn)相應(yīng)的Table對(duì)象,存貯在HashTable中,使用方法getTable("tableName");可以從HashTable中取得。注意:生產(chǎn)Table對(duì)象的時(shí)候,用了構(gòu)造方法:new Table("tableName","mainPropertyName");mainProperty是給表設(shè)置的主鍵名,在config.properties中可以修改。
          Table:定義了 取得某一行(getRow),插入記錄(insert)。這兩個(gè)方法都必須通過主鍵來操作。
                       刪除記錄(delete),搜索(search)。這兩個(gè)方法任意指定條件,如刪除 屬性u(píng)sername="321"的記錄。
                       計(jì)數(shù)(count),此方法有給定條件的,有無條件的(用來求 整個(gè)表有多少行)。
                       列表(list),返回一個(gè)List代表了整個(gè)表的信息。用到了RowSetDynaClass(在DBExcute類中),它是個(gè)好東東。
          Row:更簡(jiǎn)單了,兩個(gè)方法:set(String propertyName,String propertyValue)和get(String propertyName) 方法


          我的目的就是來做一個(gè)操作數(shù)據(jù)庫(kù)的通用工具,當(dāng)環(huán)境和數(shù)據(jù)變化時(shí),只需修改一下config.properties(當(dāng)然 性能和我這個(gè)業(yè)余的一樣,也是有點(diǎn)業(yè)余的)。
          下面是我檢測(cè)的代碼:
          try {  //取得user表中主鍵名(這里的主鍵名是username)為Root的行記錄的密碼項(xiàng)的值
                      System.out.println(DB.getDB().getTable("user").getRow("Root").get("password"));
                  } catch (NotQueryException e) {
                      // TODO Auto-generated catch block
                      e.printStackTrace();
                  } catch (SQLException e) {
                      // TODO Auto-generated catch block
                      e.printStackTrace();
                  }
          有很多地方還需要完善,特別是異常類,我寫的異常類有點(diǎn)少,不夠用,然后定義的也不是很好。連接池不知道是怎么建的,我發(fā)現(xiàn)用連接太浪費(fèi)啦,就上面的代碼就執(zhí)行了3次連接,getTable的時(shí)候,getRow的時(shí)候,getPassword的時(shí)候,(用HashTable來存貯Tabel對(duì)象,盡可能的減少了連接,節(jié)約了資源)。等等很多問題,還請(qǐng)各位多多指教!!!

          最后提醒一下:我只是在com.yijia_ctgu.DB包中增加了3個(gè)類,以前做的頁面jsp和servlet,bean都沒變化(還沒來得及用上這個(gè)工具)。java源文件和jsp文件的編碼是gb2312,注意改一下,不然會(huì)亂碼,其實(shí)用utf-8挺好的,不過我知道的遲了,現(xiàn)在想改,嫌麻煩的。

          代碼下載:http://www.aygfsteel.com/Files/yijia/papermanage0.3.rar

          改進(jìn)后的操作數(shù)據(jù)庫(kù)工具:http://www.aygfsteel.com/Files/yijia/yijia_ctgu.rar
          更新時(shí)間:2008年7月30日
          posted @ 2008-07-26 21:33 開機(jī) 閱讀(315) | 評(píng)論 (0)編輯 收藏
          jdbc中sql語句能不能這樣寫:
          String sql="delete from '"+tableName+"' where '"+property+"'='"+propertyName+"'";
          就是表的名字,屬性名和值 通過方法傳進(jìn)去,
          當(dāng)然我的這個(gè)失敗了,不知道有沒有方法達(dá)到同樣的效果?
          posted @ 2008-07-26 11:13 開機(jī) 閱讀(506) | 評(píng)論 (1)編輯 收藏
               摘要:   閱讀全文
          posted @ 2008-07-11 16:37 開機(jī) 閱讀(1440) | 評(píng)論 (0)編輯 收藏
               摘要:   閱讀全文
          posted @ 2008-07-10 10:03 開機(jī) 閱讀(287) | 評(píng)論 (0)編輯 收藏
               摘要:   閱讀全文
          posted @ 2008-07-10 10:02 開機(jī) 閱讀(419) | 評(píng)論 (0)編輯 收藏
               摘要: 開發(fā)環(huán)境:java5,myeclipse,tomcat。為了從基礎(chǔ)理解javaweb,采用jsp+servlet,沒用任何框架。
          源文件有四個(gè)包:
          com.yijia_ctgu.bean
          com.yijia_ctgu.DB
          com.yijia_ctgu.exception
          com.yijia_ctgu.servle  閱讀全文
          posted @ 2008-06-13 09:42 開機(jī) 閱讀(1058) | 評(píng)論 (7)編輯 收藏
               摘要: struts是控制器C,hibernate封裝的對(duì)數(shù)據(jù)庫(kù)的操作,是M層,spring在ssh中的主要作用是整合資源,就像一張地圖,web系統(tǒng)需要用到某些資源時(shí)就去里面找,這些資源可以是控制層對(duì)象,也可以是模型層對(duì)象,或者是更廣泛的東西。  閱讀全文
          posted @ 2008-06-09 08:36 開機(jī) 閱讀(398) | 評(píng)論 (2)編輯 收藏
               摘要:   閱讀全文
          posted @ 2008-06-08 10:33 開機(jī) 閱讀(1296) | 評(píng)論 (0)編輯 收藏
               摘要:   閱讀全文
          posted @ 2008-05-10 14:41 開機(jī) 閱讀(536) | 評(píng)論 (1)編輯 收藏

          回到原點(diǎn),重新開始.但愿一切,還不是太晚!

          posted @ 2008-05-09 16:31 開機(jī) 閱讀(216) | 評(píng)論 (0)編輯 收藏
            我是懶散的,但我也想做一個(gè)努力奮斗的人。無奈我的大腦就想睡了幾百年似的,一點(diǎn)活力也沒有。我真上懷疑我的腦袋還沒好好的利用過,就算用了也沒用對(duì)地方。
            誰又能做我的指路明燈呢?可是常言又道:人比先自救而人救之。
            我常常告訴自己從明天起好好的努力,或者就從現(xiàn)在起。但我也不知道這是對(duì)自己的第多少個(gè)承諾呢?
            為什么有些人能夠一輩子努力,不松懈,比如居里夫人這樣的。而我卻是在不斷的放棄,松懈了。所幸的是我不曾徹底的絕望過,還可以對(duì)自己說:從明天起好好干。

          posted @ 2007-08-12 16:33 開機(jī) 閱讀(343) | 評(píng)論 (2)編輯 收藏
          我能不能這樣想java的分布式計(jì)算。假如設(shè)計(jì)一個(gè)聊天工具,在自己的窗口寫下一行字的時(shí)候,同時(shí)在“聊友”的窗口寫下了這行字,也就是說聊天的人共用了某些類的實(shí)例,這些實(shí)例可以是:封裝了談話內(nèi)容,談話時(shí)間...的bean。這樣就不用顯式的調(diào)用socket之類的東東了,而且對(duì)數(shù)據(jù)庫(kù)的操作也更方便。
            如果真能這樣,寫一個(gè)聊天器就輕而易舉了。

          posted @ 2007-08-08 10:51 開機(jī) 閱讀(282) | 評(píng)論 (0)編輯 收藏
          在struts的表單bean的validate()方法中:
          if(username.trim().equals(""))
                      error.add("username", new ActionMessage("error.username.username_is_requred"));
          if(password.trim().equals(""))
                      error.add("password", new ActionError("error.password.password_is_requred"));
          測(cè)試后,兩個(gè)的效果看起來一樣。
          我初次嘗試這些,看不出它們的不同。
          那位高手有興趣的,請(qǐng)多多指教!
          posted @ 2007-08-06 22:57 開機(jī) 閱讀(1422) | 評(píng)論 (2)編輯 收藏
          我想我的配置應(yīng)該是對(duì)的,因?yàn)槟軌蛏蓌work.xml,也能有生成action的對(duì)話框出來,但是當(dāng)最后點(diǎn)finish時(shí),
          出現(xiàn)"xwork.xml not found"的錯(cuò)誤.在此前,我的src下已生成了xwork.xml了。
          也許是因?yàn)檫@個(gè)插件的版本(1.0.1)比較新,連它的配置都和網(wǎng)上介紹的不一樣,一般介紹的都要配置兩個(gè)參數(shù),但是在首選項(xiàng)里,eclipsework一欄里,只有一個(gè)參數(shù)可配置,我是把wizards.xml移動(dòng)到templates下,再
          配置wizards.xml的位置:..\templates\wizards.xml,這樣后Templates才可以用,但是為什么總是出現(xiàn)"xwork.xml not found"的錯(cuò)誤了,請(qǐng)大家指教!

          posted @ 2007-08-05 19:16 開機(jī) 閱讀(751) | 評(píng)論 (5)編輯 收藏
          主站蜘蛛池模板: 长汀县| 嵩明县| 张家界市| 钟山县| 易门县| 新乡市| 游戏| 建德市| 廊坊市| 庆元县| 仁怀市| 景洪市| 齐齐哈尔市| 江华| 广元市| 安达市| 稷山县| 沙雅县| 山东| 西和县| 日土县| 蕲春县| 连江县| 历史| 大足县| 渑池县| 鞍山市| 龙门县| 高碑店市| 家居| 新竹市| 包头市| 浦北县| 民丰县| 保靖县| 南宁市| 玉林市| 丽江市| 铜川市| 南郑县| 开远市|