Loading...

          java .net

          郁悶

          做了個小活兒弄得我不得安寧,

          心里有事兒,不安,做什么都沒心情,煩躁

          因為需要給人家去部署,跟公司說有事出去,都不好意思了,好多次了,唉,,,

          這么點小事搞的我到處撞墻,老婆都跑了,怪我,太咯色,呵呵,

          知道她很想讓我帶她出去逛街,可我真的是沒有心思,又不想讓她掃興,就這么不知如何是好的過了兩天

          她慌慌著五一回家,我確一點心思沒有,回家,向來對我沒有吸引力,家里人好像也沒問過我回不回去

          有個哥們兒真是讓我煩,格格不入,也不知是我變了,還是他變了,或許是我太敏感了,越來越咯色

          妹妹與老婆的中間是我,讓我這個不善維和的笨蛋自己在這發霉,好像現在也沒什么,只是老婆發發牢騷,感覺有顆定時炸彈在我心中

          下午把跟隨我征戰北京的自行車騎回來了,騎自行車,爽

          自己悶在家里發呆,頭疼。

          我好想過個快樂的周末,好久沒有了。都怪自己沒能力,太嫩

          以前覺得自己挺會小資的,現在怎么這么機械了呢,越來越俗了。

          posted @ 2008-08-26 22:06 豬 閱讀(200) | 評論 (0)編輯 收藏

          //elm: div id

          //url:flash url

          //w:width

          //h:height

          function insertFlash(elm, url, w, h, id) {
          if (!document.getElementById(elm)) return;
          var str = '';
          str += '<embed width="'+ w +'" height="'+ h +'" src="'+ url +'" quality="autohigh" wmode="opaque" type="application/x-shockwave-flash" plugspace="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" id='+id+'></embed>';
          document.getElementById(elm).innerHTML = str;
          }

          posted @ 2008-08-26 22:06 豬 閱讀(169) | 評論 (0)編輯 收藏
          import java.util.regex.Matcher;
          import java.util.regex.Pattern;
          public class Test
          {


              public static void main(String arg[])
              {
             
                  String s = "abc 123    456";
                  System.out.println(s);

                  while(true){
                 
                      int index = s.indexOf(" ");
                      if(index > 0){
                          s = s.replaceAll(" "," ");
                      }else{
                          break;
                      }
                  }
                 
                  System.out.println(s);
              }

          public static String replace(String inputStr, String replaceStr) {
                      Pattern p = Pattern.compile(" +");
                      Matcher m = p.matcher(inputStr);
                      return m.replaceAll(replaceStr);
                 }


          }
          posted @ 2008-08-26 22:06 豬 閱讀(291) | 評論 (0)編輯 收藏
          object oMissing = System.Reflection.Missing.Value;
                      Microsoft.Office.Interop.Word._Application oWord;
                      Microsoft.Office.Interop.Word._Document oDoc;
                      oWord = new Microsoft.Office.Interop.Word.Application();
                      //顯示word文檔
                      oWord.Visible = true;
                      //取得word文件模板
                      object fileName = System.Windows.Forms.Application.StartupPath + "\\word.doc";
                      //根據模板生成一個新文檔,相當于另存為
                      oDoc = oWord.Documents.Add(ref fileName, ref oMissing,
                                      ref oMissing, ref oMissing);

                      //復制第一個表格
                      oDoc.Tables[1].Select();
                      oWord.Selection.Copy();

                      //在這里操作表格中的文本
                      oDoc.Tables[1].Cell(1, 1).Range.Text = "這是第一個表格";

                      //下一頁
                      object mymissing = System.Reflection.Missing.Value;
                      object myunit = Microsoft.Office.Interop.Word.WdUnits.wdStory;
                      oWord.Selection.EndKey(ref myunit, ref mymissing);
                      object pBreak = (int)Microsoft.Office.Interop.Word.WdBreakType.wdPageBreak;
                      oWord.Selection.InsertBreak(ref pBreak);

                      //粘貼第一個表格
                      oWord.Selection.Paste();

                      oDoc.Tables[2].Cell(1, 1).Range.Text = "這是第二個表格";
          posted @ 2008-08-26 22:06 豬 閱讀(2794) | 評論 (0)編輯 收藏

          net start OracleDBConsolezhaochun
          net start OracleOraDb10g_home1iSQL*Plus
          net start OracleOraDb10g_home1TNSListener
          net start OracleServiceZHAOCHUN


          net stop OracleDBConsolezhaochun
          net stop OracleOraDb10g_home1iSQL*Plus
          net stop OracleOraDb10g_home1TNSListener
          net stop OracleServiceZHAOCHUN

          把zhaochun改成自己的服務名
          posted @ 2008-08-26 22:06 豬 閱讀(205) | 評論 (0)編輯 收藏
          誰沒有一些刻骨銘心事
          誰能預計后果
          誰沒有一些舊恨心魔
          一點點無心錯
          誰沒有一些得不到的夢
          誰人負你負我多
          誰愿意解釋為了什么
          一笑已經風云過
          posted @ 2008-08-26 22:06 豬 閱讀(105) | 評論 (0)編輯 收藏
          一個周末,兩天,除了吃飯一動不動坐在家里寫代碼,坐的我屁股疼,腰疼,脖子疼,腦袋疼,眼睛疼....由于決策缺乏前瞻,之前買的一個報表共享控件不能滿足現在的新需求,其實原來也有,只是不知道這s控件干不了這活兒,求助作者接連幾天都沒回音。
          被迫將這該死的控件從系統中剝離,想別的辦法代替,本來第一種方案使用水晶報表的,研究了一晚上沒有進展,放棄,主要是水晶報表畫格子太不方便了,也不知道是不是我沒找到良方,現在改用了word,在里面畫表格保存成模板,然后用程序填充數據。
          現在周末過完了,欣慰的是基本上舊的控件程序都剃掉了,換上了word模板,這樣最大的缺點就是速度,如果數據量大會很慢,還好,這是個小系統,數據量不算大。
          準備收工,洗個澡休息,明兒好上班,突然想起上來空間看看,發現訪問量一萬多了都,哈哈
          本來還想10000的時候抓個圖呢,一不小心,過了,呵呵
          posted @ 2008-08-26 22:06 豬 閱讀(119) | 評論 (0)編輯 收藏
          <html>
          <head>
              <title>彈出div</title>


             <style>
          .#floater {
          visibility: hidden;
          background-color: #f7fcfe;
          z-index: 100;
          width: 300px;
          height: 50px;
          position: absolute;
          text-align: center;
          font-size: 30px;
          color: #FF0000;
          font-weight: bold;
          vertical-align: middle;
          }
          </style>



          <script language="javaScript">
          function show()
          {
              var d_dialog = document.getElementById('dialog');
              d_dialog.style.top = document.body.clientHeight / 2 - 60;
              d_dialog.style.left =document.body.clientWidth / 2 -100;
              d_dialog.style.visibility='visible';
              init();
          }


          function divBlock_event_mousedown()
          {
              var e, obj, temp;
              obj=document.getElementById('dialog');
              e=window.event?window.event:e;
              obj.startX=e.clientX-obj.offsetLeft;
              obj.startY=e.clientY-obj.offsetTop;
              document.onmousemove=document_event_mousemove;
              temp=document.attachEvent?document.attachEvent('onmouseup',document_event_mouseup):document.addEventListener('mouseup',document_event_mouseup,'');
          }


          function document_event_mousemove(e)
          {
              var e, obj;
              obj=document.getElementById('dialog');
              e=window.event?window.event:e;
              with(obj.style){
                  position='absolute';
                  left=e.clientX-obj.startX+'px';
                  top=e.clientY-obj.startY+'px';
                  }
          }

          function document_event_mouseup(e)
          {
              var temp;
              document.onmousemove='';
              temp=document.detachEvent?document.detachEvent('onmouseup',document_event_mouseup):document.removeEventListener('mouseup',document_event_mouseup,'');
          }
          </script>
          <script language="JavaScript">
          self.onError=null;     
          currentX = currentY =0;     
          whichIt = null;     
          lastScrollX =-10; lastScrollY = -100;     
          NS = (document.layers) ? 1 : 0;     
          IE = (document.all) ? 1: 0;     
          <!-- STALKER CODE -->     
          function heartBeat() {     
              if(IE) { diffY = document.body.scrollTop; diffX = document.body.scrollLeft; }     
              if(NS) { diffY = self.pageYOffset; diffX = self.pageXOffset; }     
              if(diffY != lastScrollY) {     
                  percent = .1 * (diffY - lastScrollY);     


                  if(percent > 0) percent = Math.ceil(percent);     
                  else percent = Math.floor(percent);     
                  if(IE) document.all.dialog.style.pixelTop += percent;     
                  if(NS) document.dialog.top += percent;     
                  lastScrollY = lastScrollY + percent;     
              }     
              if(diffX != lastScrollX) {     
                  percent = .1 * (diffX - lastScrollX);     
                  if(percent > 0) percent = Math.ceil(percent);     
                  else percent = Math.floor(percent);     
                  if(IE) document.all.dialog.style.pixelLeft += percent;     
                  if(NS) document.dialog.left += percent;     
                  lastScrollX = lastScrollX + percent;     
              }     
          }     


          <!-- /STALKER CODE -->     
          <!-- DRAG Drop CODE -->     
          function checkFocus(x,y) {     
              stalkerx = document.dialog.pageX;     
              stalkery = document.dialog.pageY;     
              stalkerwidth = document.dialog.clip.width;     
              stalkerheight = document.dialog.clip.height;     
              if( (x > stalkerx && x < (stalkerx+stalkerwidth)) && (y > stalkery && y < (stalkery+stalkerheight))) return true;     
              else return false;     
          }     
          function grabIt(e) {     
              if(IE) {     
                  whichIt = event.srcElement;     
                  while (whichIt.id.indexOf("dialog") == -1) {     

                      whichIt = whichIt.parentElement;     
                      if (whichIt == null) { return true; }     
                  }     
                  whichIt.style.pixelLeft = whichIt.offsetLeft;     
                  whichIt.style.pixelTop = whichIt.offsetTop;     
                  currentX = (event.clientX + document.body.scrollLeft);     
                  currentY = (event.clientY + document.body.scrollTop);     
                  } else {     
                      window.captureEvents(Event.MOUSEMOVE);     
                      if(checkFocus (e.pageX,e.pageY)) {     
                          whichIt = document.dialog;     
                          StalkerTouchedX = e.pageX-document.dialog.pageX;     
                          StalkerTouchedY = e.pageY-document.dialog.pageY;     
                      }     
              }     


              return true;     
          }

          function moveIt(e) {     
          if (whichIt == null) { return false; }     
          if(IE) {     
          newX = (event.clientX + document.body.scrollLeft);     
          newY = (event.clientY + document.body.scrollTop);     
          distanceX = (newX - currentX); distanceY = (newY - currentY);     
          currentX = newX; currentY = newY;     
          whichIt.style.pixelLeft += distanceX;     
          whichIt.style.pixelTop += distanceY;     
          if(whichIt.style.pixelTop < document.body.scrollTop) whichIt.style.pixelTop = document.body.scrollTop;     
          if(whichIt.style.pixelLeft < document.body.scrollLeft) whichIt.style.pixelLeft = document.body.scrollLeft;     
          if(whichIt.style.pixelLeft > document.body.offsetWidth - document.body.scrollLeft - whichIt.style.pixelWidth - 20) whichIt.style.pixelLeft = document.body.offsetWidth - whichIt.style.pixelWidth - 20;     
          if(whichIt.style.pixelTop > document.body.offsetHeight + document.body.scrollTop - whichIt.style.pixelHeight - 5) whichIt.style.pixelTop = document.body.offsetHeight + document.body.scrollTop - whichIt.style.pixelHeight - 5;     
          event.returnValue = false;     
          } else {     
          whichIt.moveTo(e.pageX-StalkerTouchedX,e.pageY-StalkerTouchedY);     
          if(whichIt.left < 0+self.pageXOffset) whichIt.left = 0+self.pageXOffset;     
          if(whichIt.top < 0+self.pageYOffset) whichIt.top = 0+self.pageYOffset;     
          if( (whichIt.left + whichIt.clip.width) >= (window.innerWidth+self.pageXOffset-17)) whichIt.left = ((window.innerWidth+self.pageXOffset)-whichIt.clip.width)-17;     
          if( (whichIt.top + whichIt.clip.height) >= (window.innerHeight+self.pageYOffset-17)) whichIt.top = ((window.innerHeight+self.pageYOffset)-whichIt.clip.height)-17;     
          return false;     
          }     
          return false;     
          }     
          function dropIt() {     
          whichIt = null;     
          if(NS) window.releaseEvents (Event.MOUSEMOVE);     
          return true;     
          }     
          <!-- DRAG Drop CODE -->     
          if(NS) {     
          window.captureEvents(Event.MOUSEUP|Event.MOUSEDOWN);     
          window.onmousedown = grabIt;     
          window.onmousemove = moveIt;     
          window.onmouseup = dropIt;     
          }     
          if(IE) {     
          document.onmousedown = grabIt;     
          document.onmousemove = moveIt;     
          document.onmouseup = dropIt;     
          }     
          if(NS || IE) action = window.setInterval("heartBeat()",1);     
          </script>
          </head>
          <div id ="dialog" onmousedown="divBlock_event_mousedown()">在這里面定義html內容美化</div>
          <body onload="show()">
              <table border='0' width="100%" height="100%">
                  <tr>
                      <td>
                          測試
                      </td>
                  </tr>
                  <tr>
                     <td>
                       處理中,請等待……<br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>

                      <br>
                      <br>
                      <br>
                      <br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>

                      <br>
                      <br>
                      <br>
                      <br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>

                      <br>
                      <br>
                      <br>
                      <br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>

                      <br>
                      <br>
                      <br>
                      <br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>

                      <br>
                      <br>
                      <br>
                      <br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>

                      <br>
                      <br>
                      <br>
                      <br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>

                      <br>
                      <br>
                      <br>
                      <br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>

                      <br>
                      <br>
                      <br>
                      <br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>

                      <br>
                      <br>
                      <br>
                      <br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>

                      <br>
                      <br>
                      <br>
                      <br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>

                      <br>
                      <br>
                      <br>
                      <br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>

                      <br>
                      <br>
                      <br>
                      <br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>

                      <br>
                      <br>
                      <br>
                      <br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>

                      <br>
                      <br>
                      <br>
                      <br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>
                      處理中,請等待……<br>

                      <br>
                      <br>
                      <br>
                      <br>
                     </td>
                  </tr>
              </table>
          </body>
          </html>
          posted @ 2008-08-26 22:06 豬 閱讀(1657) | 評論 (1)編輯 收藏

          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
          <HTML>
          <HEAD>
          <TITLE> New Document </TITLE>
          <style type="text/css">
          <!--

          .#opstatdiv {
             visibility: hidden;
             background-color: #f7fcfe;
             z-index: 100;
             width: 200px;
             height: 50px;
             position: absolute;
             text-align: left;
             font-size: 12px;
             color: #FF0000;
             font-weight: bold;
             vertical-align: middle;
          }
          -->
          </style>
          <script type="text/javascript">

          function showOpstatView()
          {
          var msgStr = "提示信息";
          var d_dialog = document.getElementById('opstatdiv');
          d_dialog.innerHTML = msgStr;
          d_dialog.style.posLeft = document.body.scrollLeft + event.clientX + 10;
          d_dialog.style.posTop = document.body.scrollTop + event.clientY;
            
          d_dialog.style.visibility='visible';

          }

          function opstatDivClose()
          {
              var d_dialog = document.getElementById('opstatdiv');
              d_dialog.style.visibility='hidden';
          }

          </script>
          </HEAD>

          <BODY>
          <div id="opstatdiv"></div>
          <table>
          <tr>
             <td onmouseover="javascript:showOpstatView()" onmouseout="javascript:opstatDivClose()">>
             靠近我
             </td>
          </tr>
          </table>
          </BODY>
          </HTML>

          posted @ 2008-08-26 22:06 豬 閱讀(446) | 評論 (0)編輯 收藏

          C#操作Word中的表格

                      object oMissing = System.Reflection.Missing.Value;
                      Microsoft.Office.Interop.Word._Application oWord;
                      Microsoft.Office.Interop.Word._Document oDoc;
                      oWord = new Microsoft.Office.Interop.Word.Application();
                      //顯示word文檔
                      oWord.Visible = true;
                      //取得word文件模板
                      object fileName = System.Windows.Forms.Application.StartupPath + "\\word.doc";
                      //根據模板生成一個新文檔,相當于另存為
                      oDoc = oWord.Documents.Add(ref fileName, ref oMissing,
                                      ref oMissing, ref oMissing);
                      //在這里操作表格中的文本
                      oDoc.Tables[1].Cell(1, 1).Range.Text = "cell11";


                      //MessageBox.Show(oDoc.Content.Paragraphs[3].Range.Text);

          遇到的問題

          1、開始時添加word動態鏈接庫引用出錯,在引用里面有黃色感嘆號,在baidu上搜,找到原因,是因為,先安裝的office,后安裝的.net,默認沒有安裝.NET Programmability Support(.net可編程支持)。重新啟動office安裝程序,選修復,將.NET Programmability Support(.net可編程支持)選擇安裝到本機就OK了。

          參考:http://hi.baidu.com/devzhao/blog/item/4248624ab27e102008f7ef2c.html

          2、添加word引用的方法,在Program Files\Microsoft Office\OFFICE11中有個MSWORD.OLB文件,添加引用,就行了,還有中辦法好象在com組件中找到Microsoft Word 11.0 Object Library也行。

          3、操作word文檔的代碼參考:http://tmsoft.lsxy.com/index.php?load=read&id=334#comm_top

          另外,還不知道,這樣的代碼對客戶機配置有什么要求,office是肯定必須安裝了,安裝的版本有限制沒,以后客戶自己升級個office 2007會不會有問題????

          高手看到了,麻煩告訴小弟一下,謝過!!!

          posted @ 2008-08-26 22:06 豬 閱讀(323) | 評論 (0)編輯 收藏
          vss for eclipse 顯示簽出狀態老是無緣無故沒了,還得每次到baidu上搜,這次記下來省得忘,呵呵
          posted @ 2008-08-26 22:06 豬 閱讀(136) | 評論 (0)編輯 收藏
          JPA(Java Persistence API)
          JPA(Java Persistence API)作為Java EE 5.0平臺標準的ORM規范,將得到所有Java EE服務器的支持。Sun這次吸取了之前EJB規范慘痛失敗的經歷,在充分吸收現有ORM框架的基礎上,得到了一個易于使用、伸縮性強的ORM規范。
          posted @ 2008-08-26 22:06 豬 閱讀(135) | 評論 (0)編輯 收藏

          <%--

          /**

          *實現右鍵菜單功能

          */

          --%>

          <html>
              <body oncontextmenu = showMenu('')>
                  <form name = "menuForm">
                      <!--隱藏框,用來保存選擇的菜單的id值-->
                      <input type = "hidden" name = "id" value = "">
                      <table>
                      <tr>
                 <td><a href="javascript:clickMenu()" oncontextmenu = showMenu('0')>根目錄</a></td>
              </tr>
                      <tr>
                 <td><a href="javascript:clickMenu()" oncontextmenu = showMenu('1')>菜單一</a></td>
              </tr>

                      <tr><td><a href="javascript:clickMenu()" oncontextmenu = showMenu('2')>菜單二</a></td></tr>

                      </table>
                  </form>
              </body>

              <!-- 這里用來定義需要顯示的右鍵菜單 -->
              <div id="itemMenu" style="display:none">
                     <table border="1" width="100%" height="100%" bgcolor="#cccccc" style="border:thin" cellspacing="0">
                            <tr>
                                <td style="cursor:default;border:outset 1;" align="center" onclick="parent.create()">
                                新增
                                </td>
                            </tr>
                            <tr>
                                <td style="cursor:default;border:outset 1;" align="center" onclick="parent.update();">
                                修改
                                </td>
                            </tr>
                            <tr>
                                <td style="cursor:default;border:outset 1;" align="center" onclick="parent.del()">
                                刪除
                               </td>
                            </tr>
                     </table>
              </div>
              <!-- 右鍵菜單結束-->
          </html>


          <script language="JavaScript">

          /**

          *根據傳入的id顯示右鍵菜單

          */

          function showMenu(id){
              menuForm.id.value = id;

              if("" == id){
                  popMenu(itemMenu,100,"100");
              }
              else{
                  popMenu(itemMenu,100,"111");
              }

              event.returnValue=false;
              event.cancelBubble=true;
              return false;

          }


          /**

          *顯示彈出菜單

          *menuDiv:右鍵菜單的內容

          *width:行顯示的寬度

          *rowControlString:行控制字符串,0表示不顯示,1表示顯示,如“101”,則表示第1、3行顯示,第2行不顯示

          */

          function popMenu(menuDiv,width,rowControlString){
              //創建彈出菜單
              var pop=window.createPopup();

              //設置彈出菜單的內容
              pop.document.body.innerHTML=menuDiv.innerHTML;
              var rowObjs=pop.document.body.all[0].rows;

              //獲得彈出菜單的行數
              var rowCount=rowObjs.length;

              //循環設置每行的屬性
              for(var i=0;i<rowObjs.length;i++){
                  //如果設置該行不顯示,則行數減一
                  var hide=rowControlString.charAt(i)!='1';

                  if(hide){
                      rowCount--;
                  }

                  //設置是否顯示該行

                  rowObjs[i].style.display=(hide)?"none":"";

                  //設置鼠標滑入該行時的效果

                  rowObjs[i].cells[0].onmouseover=function(){
                      this.style.background="#818181";
                      this.style.color="white";
                  }
                  //設置鼠標滑出該行時的效果
                  rowObjs[i].cells[0].onmouseout=function(){
                      this.style.background="#cccccc";
                      this.style.color="black";
                  }

              }

              //屏蔽菜單的菜單
              pop.document.oncontextmenu=function() {
                      return false;
              }

              //選擇右鍵菜單的一項后,菜單隱藏
              pop.document.onclick=function(){
                      pop.hide();
              }
              //顯示菜單
              pop.show(event.clientX-1,event.clientY,width,rowCount*25,document.body);
              return true;

          }
          function create(){
              alert("create" + menuForm.id.value + "!");
          }

          function update(){
              alert("update" + menuForm.id.value + "!");
          }
          function del(){
              alert("delete" + menuForm.id.value + "!");
          }
          function clickMenu(){
              alert("you click a menu!");
          }
          </script>

          posted @ 2008-08-26 22:06 豬 閱讀(199) | 評論 (0)編輯 收藏
          用上百度Hi 的朋友加我好友啊,嘿嘿i

          在線等......
          posted @ 2008-08-26 22:06 豬 閱讀(117) | 評論 (0)編輯 收藏
          忙里偷閑
          研究了一下webservice,做了個hello world
          一點理解,xfire能把一個普通java類映射成web服務
          首先要建立一個供外部調用的接口interface
          然后建立一個類實現這個接口
          再然后在service.xml中配置web服務的名字,名稱空間,接口類名,實現接口的類名,這個service.xml文件要放在src/META-INF/xfire/services.xml
          最后在web.xml中配置xfire 的servlet
          OK了
          ===============接口HelloWorldService 類==================
          package com.capinfo.xfire.pojo;
          /**
          * @author sing
          * @explain:
          * @datetime:Mar 26, 2008 4:48:19 PM
          */

          public interface HelloWorldService {

              public String sayHello();
             
          }
          ==============接口實現類HelloWorldServiceImpl =====================
          package com.capinfo.xfire.pojo;
          /**
          * @author sing
          * @explain:
          * @datetime:Mar 26, 2008 4:50:15 PM
          */
          public class HelloWorldServiceImpl implements HelloWorldService {

              public String sayHello() {
                 
                  return "this.is.my first web service";
              }

          }
          ===============service.xml==================
          <?xml version="1.0" encoding="UTF-8"?>
          <beans xmlns="http://xfire.codehaus.org/config/1.0">
          <service>
              <name>HelloWorldService</name>
              <namespace>http://capinfo.com/HelloWorldService</namespace>
              <serviceClass>
                  com.capinfo.xfire.pojo.HelloWorldService
              </serviceClass>
              <implementationClass>
                  com.capinfo.xfire.pojo.HelloWorldServiceImpl
              </implementationClass>
          </service>
          </beans>
          ==============web.xml=======================
          <?xml version="1.0" encoding="UTF-8"?>
          <web-app version="2.4"
              xmlns="http://java.sun.com/xml/ns/j2ee"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
              http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

              <servlet>
                  <servlet-name>XFireServlet</servlet-name>
                  <display-name>XFire Servlet</display-name>
                  <servlet-class>
                      org.codehaus.xfire.transport.http.XFireConfigurableServlet
                  </servlet-class>
              </servlet>
             
              <servlet-mapping>
                  <servlet-name>XFireServlet</servlet-name>
                  <url-pattern>/servlet/XFireServlet/*</url-pattern>
              </servlet-mapping>

              <servlet-mapping>
                  <servlet-name>XFireServlet</servlet-name>
                  <url-pattern>/services/*</url-pattern>
              </servlet-mapping>
          <welcome-file-list>
              <welcome-file>index.jsp</welcome-file>
          </welcome-file-list>
          </web-app>
          ===================Test.java========================
          package com.capinfo.xfire.pojo;

          import java.net.MalformedURLException;

          import org.codehaus.xfire.client.XFireProxyFactory;
          import org.codehaus.xfire.service.Service;
          import org.codehaus.xfire.service.binding.ObjectServiceFactory;

          /**
          * @author spring
          * @explain:
          * @datetime:Mar 26, 2008 5:50:02 PM
          */
          public class Test {

              public static void main(String [] args){
                  Service serviceModel = new ObjectServiceFactory().create(HelloWorldService.class);
                  try {
                      HelloWorldService service = (HelloWorldService)
                          new XFireProxyFactory().create(serviceModel, "http://localhost:8081/xfire/services/HelloWorldService");
                      System.out.println(service.sayHello());
                  } catch (MalformedURLException e) {
                      e.printStackTrace();
                  }
              }
          }

          ======================放jar包========================
          "activation-1.1.jar"
          "commons-codec-1.3.jar"
          "commons-httpclient-3.0.jar"
          "commons-logging-1.0.4.jar"
          "jaxen-1.1-beta-9.jar"
          "jdom-1.0.jar"
          "mail-1.4.jar"
          "spring-1.2.6.jar"
          "stax-api-1.0.1.jar"
          "wsdl4j-1.6.1.jar"
          "wstx-asl-3.2.0.jar"
          "xbean-spring-2.8.jar"
          "xfire-all-1.2.6.jar"


          參考資源:http://www.aygfsteel.com/fastzch/archive/2008/01/03/172535.html
          posted @ 2008-08-26 22:06 豬 閱讀(285) | 評論 (0)編輯 收藏
          僅列出標題
          共27頁: First 上一頁 5 6 7 8 9 10 11 12 13 下一頁 Last 

          公告

          希望有一天

          我能用鼠標雙擊我的錢包

          然后選中一張100元

          按住“ctrl+c”

          接著不停的“ctrl+v”

          嘻嘻~~~笑醒~~~



          導航

          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          統計

          常用鏈接

          留言簿(6)

          隨筆分類(102)

          隨筆檔案(398)

          文章分類

          文章檔案(10)

          有趣網絡

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 云梦县| 海丰县| 巴彦县| 常山县| 基隆市| 兴城市| 苍山县| 天全县| 新兴县| 吉林市| 石柱| 陵水| 舞钢市| 平乡县| 永仁县| 湘潭市| 廊坊市| 石阡县| 凤城市| 色达县| 北安市| 延津县| 南郑县| 西贡区| 霍林郭勒市| 定西市| 石景山区| 利川市| 日土县| 八宿县| 连山| 武安市| 庆安县| 酉阳| 呼图壁县| 南华县| 武胜县| 平阳县| 祁连县| 利川市| 隆尧县|