隨筆 - 20  文章 - 2  trackbacks - 0
          <2009年3月>
          22232425262728
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          常用鏈接

          留言簿(1)

          隨筆檔案

          相冊

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

           

          引用

          蔣委員長如何將class打包exe文件
          class文件打包exe文件要經(jīng)過兩個步驟:
          第一步:將class文件打包成jar文件,請參見我的上一篇文章:http://maidini.blog.163.com/blog/static/37762704200848910573/
          第二步:將jar文件打包成exe文件。這是今天的重點

          將jar打包exe 有許多工具,我以exe4j為例詳解打包過程:
          第一步:下載exe4j,最新版本為4.1 如下圖 exe4j的官方網(wǎng)站 
          引用 如何將class打包exe文件 - 紫依韻 - 見人還是人

          第二步:運行exe4j.exe 我使用的是免安裝版(zip) 如下圖
          引用 如何將class打包exe文件 - 紫依韻 - 見人還是人

          第三步:運行軟件exe4j,然后點擊Next
          引用 如何將class打包exe文件 - 紫依韻 - 見人還是人

          第四步:選擇第二項"JAR in EXE mode",然后點擊Next
          引用 如何將class打包exe文件 - 紫依韻 - 見人還是人

          第五步:在General中填入名稱,在Directories填入生成exe的目錄位置。如下圖:我將生成exe目錄設置為C:\ok ,然后點Next
          引用 如何將class打包exe文件 - 紫依韻 - 見人還是人

          第六步:Executable name處填入生成exe文件的名稱,Icon File處填寫圖標文件位置,再點Next
          引用 如何將class打包exe文件 - 紫依韻 - 見人還是人

          第七步:首先設置Class Path的位置,即jar文件的位置。然后點OK
          引用 如何將class打包exe文件 - 紫依韻 - 見人還是人

          第八步:接著設置Main-Class 的位置,即main方法所在的位置。然后點OK 如下圖
          引用 如何將class打包exe文件 - 紫依韻 - 見人還是人

          設置完成后,如下圖: 一定要先設置Class Path,再設置Main class
          引用 如何將class打包exe文件 - 紫依韻 - 見人還是人

          第九步:填寫版本號,最好不要填寫第二項。否則可能造成錯誤(見后面),最后點擊Finish即可
          引用 如何將class打包exe文件 - 紫依韻 - 見人還是人

          錯誤內容:No JVM could be found on your system. Please define EXE4J_JAVA_HOME to point to an installed JDK or JRE or download a JRE from www.java.com
          當時出現(xiàn)這個錯誤,查看了JDK和JRE都沒有問題,exe4j也是最新版。后來才發(fā)現(xiàn)是設置"Maximum version"。如果不填寫"Maximum version",就不報錯。也不知道是不是exe4j的BUG
          引用 如何將class打包exe文件 - 紫依韻 - 見人還是人

          第十步:完成所有設置,點擊“Click Here to Start the Application”可以運行測試生成的EXE文件
          引用 如何將class打包exe文件 - 紫依韻 - 見人還是人

          生成的最終的EXE程序,雙擊直接運行。現(xiàn)在可以把自己寫的小程序發(fā)給朋友們玩玩啦,呵呵
          引用 如何將class打包exe文件 - 紫依韻 - 見人還是人



          文章來源:http://wxq594808632.blog.163.com/blog/static/10907975520093842753860
          posted @ 2009-04-08 16:28 武志強 閱讀(1966) | 評論 (0)編輯 收藏

           

          引用

          蔣委員長如何將Class打包Jar文件--Eclipse
          開發(fā)環(huán)境:Eclipse + Win XP SP2
          使用插件:Fatjar、Jigloo

          閑話少說,直接切入正題。首先打開Eclipse,創(chuàng)建一個Java工程。如下圖:我機子上的是JDK1.6
          引用 如何將Class打包Jar文件--Eclipse - 紫依韻 - 見人還是人

          第二步:用Jigloo插件創(chuàng)建一個窗體,為了更明顯演示我將窗體名字修改為“這是一個測試程序”。如下圖:
          引用 如何將Class打包Jar文件--Eclipse - 紫依韻 - 見人還是人

          第三步:現(xiàn)在就該將運行正常的java程序打包成jar文件。我使用Fatjar插件打包相當方便、傻瓜。直接右鍵選擇要打包的工程,彈出的菜單中選擇“Build Fat Jar”。如下圖:
          引用 如何將Class打包Jar文件--Eclipse - 紫依韻 - 見人還是人

          第四步:彈出對話框,需要將引導路徑修改,其他選項使用默認設置,然后點擊Finish。“Main-Class”這項修改為Main方法所在的文件。此步不可缺少,否則打包的Jar文件雙擊不可運行。
          引用 如何將Class打包Jar文件--Eclipse - 紫依韻 - 見人還是人

          稍等一下,就打包成功如下圖:出現(xiàn)一個testexe_fat.jar文件。
          引用 如何將Class打包Jar文件--Eclipse - 紫依韻 - 見人還是人

          進入工程所在的目錄也可以看到一個testexe_fat.jar文件,雙擊它,就運行了。如果無誤應該彈出像圖2的界面。如下圖:
          引用 如何將Class打包Jar文件--Eclipse - 紫依韻 - 見人還是人

          選擇jar文件右鍵,點擊open。相當于雙擊jar文件如下圖:
          引用 如何將Class打包Jar文件--Eclipse - 紫依韻 - 見人還是人

          總結:打包Jar文件是將分散Class文件統(tǒng)一封裝的好辦法。雙擊運行速度與沒打包前運行速度沒有區(qū)別。打包一定要設置好Main-Class的路徑,否則JVM找不到入口程序。

          如果不知道如何在Eclipse中安裝插件,請參見我的另一篇文章:http://maidini.blog.163.com/blog/static/37762704200832671334860/



          文章來源:http://wxq594808632.blog.163.com/blog/static/1090797552009384273607
          posted @ 2009-04-08 16:27 武志強 閱讀(3184) | 評論 (2)編輯 收藏

           

          引用

          蔣委員長Eclipse的插件安裝

          眾所周知,Eclipse無法方便快速的開發(fā)Swing程序。因為Eclipse沒有自帶圖形化編碼窗口,如果要開發(fā)圖形化程序,只有手動敲代碼非常不方便?,F(xiàn)在有一個插件Jigloo提供圖形化程序開發(fā)窗口,可以即拖即顯。如何將它安裝到Eclipse當中呢?

          安裝插件一般使用Link方式:Link意味鏈接,Eclipse加載時通過鏈接找到安裝的插件
          引用 Eclipse的插件安裝 - 紫依韻 - 見人還是人
          如上圖所示:我的Eclipse路徑C:\Program Files\Eclipse 然后將Jigloo解壓到Eclipse安裝目錄中。這里需要注意Jigloo目錄下必須要有個叫Eclipse的目錄,Eclipse的目錄下才是放入features和plugins目錄。以上圖為例:C:\Program Files\Eclipse\Jigloo\Eclipse 路徑里放入features和plugins目錄,即features目錄路徑為:C:\Program Files\Eclipse\Jigloo\Eclipse\features,plugins目錄路徑為:C:\Program Files\Eclipse\Jigloo\Eclipse\plugins  這里必須要強調目錄路徑,因為我使用的是Link方式安裝插件。

          插件安裝位置正確后,就該鏈接了(Link)。在Eclipse路徑C:\Program Files\Eclipse下建立一個links目錄(必須這個名字),并在links目錄下建立一個Jigloo.link的文件(文件名必須同插件目錄名相同,后綴名必須是link)。最后用記事本打開Jigloo.link文件,填入path = Jigloo(path = 插件目錄名)。保存后,重新啟動Eclipse。如下圖
          引用 Eclipse的插件安裝 - 紫依韻 - 見人還是人
          在新建項目中出現(xiàn)了一個叫GUI Forms的項目,說明插件安裝成功,這就是Jigloo插件提供的圖形化開發(fā)工具。

          寫在最后:
          向大家推薦一個插件Aptana,這個插件可以調試Javascript代碼和HTML代碼。此插件還是第一款支持ajax調試的程序。詳見http://www.aptana.com/  插件下載地址http://update.aptana.com/install/studio/3.2/
          引用 Eclipse的插件安裝 - 紫依韻 - 見人還是人
          因為新版本要收費(只有一個月免費試用),我使用的老版本,安裝到Eclipse中有3個按鈕(如上圖,黃色驚嘆號和紅色叉)


          文章來源:http://wxq594808632.blog.163.com/blog/static/1090797552009384255251
          posted @ 2009-04-08 16:26 武志強 閱讀(2297) | 評論 (0)編輯 收藏

          如題,廢話不多說。

          JSP頁面

          hello.jsp

          <%@ page contentType="text/html; charset=GBK" %>
          <html>
          <head>
          <title>AJAX提交頁面</title>
          <meta http-equiv="Content-Type" content="text/html; charset=gbk">
          <script type="text/javascript" src="ajax.js"></script>
             <script type="text/javascript">
             function doso(){
               var url = "actAction.do";
               var s="武曉強斯蒂芬34-*(&_(*!$^_*!&#!^$+!*#&&";
               s=encodeURIComponent(s);      //轉換特殊字符
               var parameter ="name="+s+"&email=abc@abc.com&www=http://wxq594808632.blog.163.com/";
               var method = "POST";
               function callBack(text){           //回調函數(shù)
                alert("調用成功!\n名字為:"+text);
               }
             new Ajax().ajaxRequest(url,parameter,method,callBack);     //調用方法發(fā)送Request
             }
             </script>
          </head>
          <body>
          <input type="button" value="提交" onclick="doso()"/>
             </body>
          </html>

           

          java類

          ActAction.java

          package ajaxpost;

          import org.apache.struts.action.ActionMapping;
          import org.apache.struts.action.ActionForm;
          import javax.servlet.http.HttpServletRequest;
          import javax.servlet.http.HttpServletResponse;
          import org.apache.struts.action.ActionForward;
          import org.apache.struts.action.Action;
          import java.io.UnsupportedEncodingException;
          import java.io.IOException;
          import java.io.PrintWriter;

          public class ActAction extends Action {

              public ActionForward execute(ActionMapping mapping, ActionForm form,
                                           HttpServletRequest request,
                                           HttpServletResponse response) throws
                      UnsupportedEncodingException {
                  //設置字符編碼返回的編碼
                  response.setContentType("text/html;charset=UTF-8");
                  //接收字符的編碼
                  try {
                      request.setCharacterEncoding("UTF-8");
                  } catch (UnsupportedEncodingException e) {
                      e.printStackTrace();
                  }
                  PrintWriter out = null;
                  try {
                      out = response.getWriter();
                  } catch (IOException ex) {
                      ex.printStackTrace();
                  }
                  String name = request.getParameter("name");
                  String email = request.getParameter("email");
                  String www = request.getParameter("www");
                  System.out.println(email);
                  System.out.println(name);
                  System.out.println(www);
               //   out.print(name+"\n"+email+"\n"+www);
                  out.print(name);         //返回值
                  return null;
              }
          }

          最重要滴

          ajax.js

          我用別人的。感謝這位大哥。。

          /*
          author zhangshuling
          email 
          zhangshuling1214@126.com
          */
          function  Ajax(){
              var _xmlHttp = null;
           this.createXMLHttpRequest = function(){
            try{
             if (window.ActiveXObject) {                                                     
              _xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");                                     
             }                                                                               
             else if (window.XMLHttpRequest) {                                                   
              _xmlHttp = new XMLHttpRequest();                                               
             }
            }catch(e){
               alert(e.name +" : " + e.message);
            }
           }
           
           this.backFunction = function(_backFunction){
            if(_xmlHttp.readyState == 4) {
             if(_xmlHttp.status == 200) {
              _backFunction(_xmlHttp.responseText);//這里可以設置返回類型
             }
            }
             _xmlHttp.onreadystatechange = null;
           }

           this.doPost = function(_url,_parameter,_backFunction){
               try{
                _xmlHttp.open("POST",_url, false);
             _xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
             _xmlHttp.send(_parameter);
             }catch(e){
              alert(e.name +" : " + e.message);
               }
           }
           
           this.doGet = function(_url,_parameter,_backFunction){
              try{
                  var _random = Math.round(Math.random()*10000);
                  _xmlHttp.open("GET", (_url+"?random=" +_random +"&" + _parameter), false);
               _xmlHttp.send(null);
             }catch(e){
                alert(e.name +" : " + e.message);
             }
           }
           
              this.ajaxRequest = function(_url,_parameter,_method,_backFunction){
                    try{
                      this.createXMLHttpRequest();
                   if(_method.toLowerCase() == "post"){
                      this.doPost(_url,_parameter,_backFunction);
                   }else{
                      this.doGet(_url,_parameter,_backFunction); 
                   }
                   try{
                     _xmlHttp.onreadystatechange = this.backFunction(_backFunction);
                   }catch(err){
                      //??????IE?????????????????
                   }
                }catch(e){
                alert(e.name +" : " + e.message);
             }
               }

          }

          /*
           var url = "ajax.do";
           var parameter = "parameter=parameter";
           var method = "post"
           
           function callBack(text){
            ....
           }
           
           new Ajax().ajaxRequest(url,parameter,method,callBack);

          */

           

          經(jīng)過本人FF,IE6,IE7,測試。完全好用


          文章來源:http://wxq594808632.blog.163.com/blog/static/109079755200923121054225
          posted @ 2009-03-31 14:11 武志強 閱讀(844) | 評論 (0)編輯 收藏
          主站蜘蛛池模板: 视频| 乌鲁木齐市| 永靖县| 额尔古纳市| 雷州市| 红河县| 灵璧县| 陇川县| 长兴县| 简阳市| 瑞昌市| 新余市| 乳山市| 曲水县| 黔西| 靖安县| 瑞安市| 吉安县| 全椒县| 天长市| 彰化县| 同心县| 于田县| 金川县| 会泽县| 湖口县| 滁州市| 英吉沙县| 澄城县| 巴青县| 上饶县| 个旧市| 宁化县| 铜梁县| 阜新市| 开阳县| 望都县| 南丰县| 襄城县| 泸州市| 江北区|