雅典之夏的小站
          知人者智 自知者明 Fighting!!
          我來解決手機電池問題 :
          工具----設置------網絡設置-------運營商選擇------ 手動 -------選擇你使用的運營商------ok??。這樣大概要待機多1/3時間
          posted @ 2007-01-10 11:06 rkind 閱讀(243) | 評論 (0)編輯 收藏
          http://looline.blogspot.com/
          posted @ 2006-12-08 16:19 rkind 閱讀(252) | 評論 (0)編輯 收藏
          今天在試驗了一下在Struts-config中配置數據源,雖然說這種方法并不推薦,
          操作步驟:
          ????? 首先導入幾個需要的包:首先自己連接數據庫用的包,因為我用的是Mysql所以用的是“mm.mysql-2.0.4-bin.jar”,還有“commons-dbcp-1.2.1.jar”這個是數據源中要用到的包,還有“commons-pool-1.2.jar”這個不太清楚
          ???? 其次在Struts-config.xml中加入如下代碼
          ????<data-sources>
          ????????
          <data-source?key="rki"?type="org.apache.commons.dbcp.BasicDataSource">? //type代表類,rki表示當有多個數據源時相
          //當于一個索引,id值

          ????????????
          <set-property?property="driverClassName"?value="org.gjt.mm.mysql.Driver"?/>//連接mysql所需的類庫
          ????????????
          <set-property?property="url"?value="jdbc:mysql://172.20.0.40:3306/test?useUnicode=true&amp;characterEncoding=GBK"?/>
          ????????????
          <set-property?property="username"?value="root"?/>
          ????????????
          <set-property?property="password"?value="你的密碼"?/>
          ????????????
          <set-property?property="maxActive"?value="10"?/>
          ????????????
          <set-property?property="maxWait"?value="500"?/>
          ????????????
          <set-property?property="defaultAutoCommit"?value="false"?/>
          ????????????
          <set-property?property="defaultReadOnly"?value="false"?/>
          ????????
          </data-source>
          ????
          </data-sources>
          然后現在就可以在你的Action試驗數據庫的連接,簡單引用的代碼片斷
          datasource?=?getDataSource(request,?"rki");
          ????????????conn?
          =?datasource.getConnection();
          ????????????Statement?state?
          =?conn.createStatement();
          ????????????System.out.println(
          "hello");
          ????????????String?sql?
          =?"select?*?from?notice?where?title='test'";
          ????????????ResultSet?rs?
          =?state.executeQuery(sql);
          ????????????
          while?(rs.next())?{
          ????????????????request.getSession().setAttribute(
          "cont",
          ????????????????????????rs.getString(
          "content"));
          ????????????????System.out.println(
          "database?connect?true");
          ????????????}

          ????????????rs.close();
          在試驗的過程中,老是不能連接,出“Initializing application data source”我仔細檢查過以上的配置并沒有問題,重啟了幾次服務器也不行,查了N多資料,最后居然自己好了,郁悶的要死
          一點總結,
          ?????????? 可見在Struts中配置數據源要比別的連接方法要復雜,而且效率上來說也不一定要好,還不如自己通過自己編寫簡單的訪問數據庫的類,或者是直接采用Tomcat的數據源要方便 一些。
          posted @ 2006-10-31 15:49 rkind 閱讀(372) | 評論 (0)編輯 收藏
          在Struts中可以通過<html:errors/>來顯示錯誤信息,今天簡單看了一點,總結一下:
          1)如果是采用了formbean的validate的話,首先,struts-config.xml中Action需要加入validate="true"
          ??????其實,在Actionform中的validate必須返回一個自己定義的Actionerrors,如例:
          ????public?ActionErrors?validate(ActionMapping?mapping,
          ????????????HttpServletRequest?request)?
          {
          ????????ActionErrors?errors?
          =?new?ActionErrors();
          ????????
          if?(this.content.equals(""))?{
          ????????????errors.add(
          "content",?new?ActionError("error.user"));
          ????????}

          ????????
          return?errors;
          ????}
          2)如果沒有采用,而是用Action驗證的話,也需要先定義一個Actionerrors,然后再通過
          saveErrors(request,errors);把Actionerrrors保存到request中
          3)需要注意的
          ? a,每個ActionErrors都有一個String,和一個ActionError構成,ActionError里面的String是和項目資源文件里的一一對應的,String是和html:errors中property相對應的。
          posted @ 2006-10-30 17:23 rkind 閱讀(560) | 評論 (0)編輯 收藏

          這就是在前面的簡單應用中,在view中,通過<bean:write name="myform" property="name">調用Actionform時出的問題,這個問題的直接原因很簡單就是:找不到"myform"這個Bean,用網上的話說就是在Action里一般會request.setAttribute()一些對象,然后在轉向的jsp文件里(用tag或request.getAttribute()方法)得到這些對象并顯示出來。這個異常是說jsp要得到一個對象,但前面的Action里并沒有將對象設置到request(也可以是session、servletContext)里。可能是名字錯了,請檢查jsp里的tag的一般是name屬性,或getAttribute()方法的參數值;或者是Action邏輯有問題沒有執行setAttribute()方法就先轉向了。
          還有另外一個可能,純粹是jsp文件的問題,例如<logic:iterate>會指定一個id值,然后在循環里<bean:write>使用這個值作為name的值,如果這兩個值不同,也會出現此異常。(都是一個道理,request里沒有對應的對象。)
          ”。
          ??????我對Actionform的機制不理解,心中的疑問:
          ??????1)如果ActionForm是Struts自動封裝到Request中,那么我可以直接在view.jsp中,能過<bean:write>調用這個ActionForm,如果假設這種情況成立時,那么Beanwrite中的bean名應該是ActionForm的類名,還是在Struts-config.xml里給ActionForm定義的類名?
          ????? 2)如果沒有封裝的話,那么是不是需要在Action中把Actionform通過request.setAttribute("","")放到request中
          還是要放到Session中,
          ????? 我測試時候出的問題
          ?????? 有一次就是在1)的情況下測試成功的,但是以后再怎么試都不行,那次是引用的Struts-config.xml里給ActionForm定義的類名。非常奇怪,
          ????????還有就是2)的情況,測試中如果Action和Frombean在一個包下面,那么通過request.setAttribute("",""),就可以獲取到Bean,如果不是的話,有時候行,有時候不行,
          ??????? 如果通過request.getSession.setAttribute()設置ActionForm的話,每次都可以,他們的Scope肯定在一個Request中,那么為什么Session就可以,而Request不行。(結論:因為是在Actionfoward中設置了“redirect='true',這樣的話一跳轉時,Request中的內容都會被重置,所以不行,把這一句去掉就可以了”)

          posted @ 2006-10-30 14:07 rkind 閱讀(8522) | 評論 (1)編輯 收藏
          主站蜘蛛池模板: 曲水县| 五台县| 雷州市| 大冶市| 贡觉县| 寿阳县| 太仆寺旗| 新干县| 日照市| 肇东市| 萍乡市| 闵行区| 永昌县| 龙陵县| 资源县| 漠河县| 拉孜县| 瑞金市| 正宁县| 竹山县| 桃园县| 利辛县| 渭南市| 辉南县| 翁源县| 修文县| 东辽县| 太仓市| 苍山县| 阳春市| 遂宁市| 朝阳区| 嵊州市| 花垣县| 平乐县| 绥江县| 阳江市| 九江县| 普陀区| 卓资县| 加查县|