雅典之夏的小站
          知人者智 自知者明 Fighting!!
          我來解決手機電池問題 :
          工具----設置------網絡設置-------運營商選擇------ 手動 -------選擇你使用的運營商------ok??。這樣大概要待機多1/3時間
          posted @ 2007-01-10 11:06 rkind 閱讀(244) | 評論 (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 閱讀(561) | 評論 (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)編輯 收藏

          1、簡介

          ????????????簡單的頁面輸入并顯示的功能,有兩個頁面,
          ????????????upnews.jsp 提供輸入內容的界面,show.jsp顯示已經輸入的內容

          2、源碼
          ??????struts-config,流程圖

          Snap3.jpg
          源代碼
          Strust-config.xml

          <form-bean?name="upNewsForm"?type="com.rkind.struts.form.UpNewsForm"?/>
          ????????<action?attribute="upNewsForm"?input="/upNews.jsp"?name="upNewsForm"?path="/upNews"?scope="request"?type="com.rkind.struts.action.UpNewsAction">
          ????????????
          <forward?name="suc"?path="/show.jsp"?redirect="true"?/>
          ????????
          </action>


          upnews.jsp
          ???? 都是eclispe自動生成的
          <html:form?action="/upNews">
          ????????????content?:?
          <html:text?property="content"/><html:errors?property="content"/><br/>
          ????????????
          <html:submit/><html:cancel/>
          ????????
          </html:form>

          show.jsp這個簡單就一句話,
          <bean:write?name="upNewsForm"?property="content"/>

          模型的部分 formbean,自動生成,未做改動
          Controller部分,核心啊
          UpNewsForm?upNewsForm?=?(UpNewsForm)?form;
          ????????
          //?TODO?Auto-generated?method?stub
          ????????String?te=upNewsForm.getContent();
          ????????
          try{
          ????????
          if(te.equals("")){
          ????????????
          return?new?ActionForward(mapping.getInput());????????
          ????????}

          ????????
          return?(mapping.findForward("suc"));
          ????????}
          catch(Exception?e){
          ????????????
          throw?new?RuntimeException(e.getMessage());

          好了,但是在測試的時候一直出問題,輸入以后不能正常,原因有2
          1、在鏈接時候,沒有加“/”導致不能正常連接
          2、forward?name="suc"?path="/show.jsp"?redirect="true"?起初沒有加redirect,不能跳轉。
          posted @ 2006-10-27 12:39 rkind 閱讀(486) | 評論 (0)編輯 收藏
          主站蜘蛛池模板: 天台县| 通城县| 湄潭县| 香格里拉县| 肇庆市| 建湖县| 胶南市| 林口县| 安平县| 图木舒克市| 德阳市| 平乐县| 嘉定区| 宁夏| 新宾| 延川县| 张家港市| 沙河市| 通城县| 昌吉市| 治县。| 道真| 景德镇市| 武清区| 辽中县| 浏阳市| 西乡县| 定州市| 黄石市| 麟游县| 观塘区| 抚顺县| 阳泉市| 团风县| 花垣县| 常宁市| 桃江县| 盱眙县| 包头市| 辛集市| 巴南区|