囝濼的博客[www.bluenuo.cn]

          網(wǎng)盤[disk.bluenuo.cn]
          隨筆 - 6, 文章 - 1, 評(píng)論 - 11, 引用 - 0
          數(shù)據(jù)加載中……

          2008年1月25日

          通用離開頁(yè)面前檢查form內(nèi)容是否發(fā)生改變

               摘要: 文/囝濼 www.bluenuo.cn 使用方法: 1.在需要的頁(yè)面引入javascript核心代碼(下面有,復(fù)制粘貼即可) 2.在body的onload事件中加入saveElementsOnLoad(myform);方法,其中myform是所驗(yàn)證的form對(duì)象 3.在body的onbeforeunload事件中加入return checkFormOnUnload(myform);其中my...  閱讀全文

          posted @ 2009-02-07 16:05 囝濼 閱讀(1832) | 評(píng)論 (0)編輯 收藏

          Linux下安裝使用Subversion

              這幾天把工作環(huán)境從windows下面轉(zhuǎn)到linux了,因?yàn)橛玫膉ava語(yǔ)言開發(fā),項(xiàng)目移植還是蠻容易的,但不準(zhǔn)備再用CVS來(lái)做版本控制系統(tǒng)了,決定換功能較強(qiáng)大的SVN,于是了解了下linux下安裝Subversion的方法,現(xiàn)總結(jié)如下

          文/囝濼 www.bluenuo.cn 


          編譯安裝相關(guān)軟件(我們采用源碼編譯安裝)
          a.httpd
          下載地址:http://httpd.apache.org
          下載
          httpd-*.tar.gz (*為版本號(hào),這里使用的是2.8.8)
          安裝
          #tar -zxvf httpd-2.8.8.tar.gz
          #cd httpd-2.8.8
          #./configure --enable-dav --enable-so --enable-maintainer-mode
          #make
          #make install
          b.
          Berkeley DB
          下載地址:http://www.oracle.com/technology/products/berkeley-db/index.html
          下載
          Berkeley DB 4.7.25.tar.gz
          安裝
          #tar -zxvf db-4.4.20.NC.tar.gz
          #cd db-4.4.20.NC/build_unix/
          #../dist/configure --prefix=/usr/local/bdb
          #make
          #make install

          c.Subversion
          下載地址:http://subversion.tigris.org
          下載
          subversion-*.tar.gz subversion-deps-*.tar.gz包下下來(lái),后一個(gè)包里是一些依賴程序,把2個(gè)包放在同一個(gè)目錄下,解壓縮,解壓的文件會(huì)自動(dòng)放到同一個(gè)文件夾下。
          安裝
          #tar -zxvf subversion-1.2.3.tar.gz
          #cd subversion-1.2.3
          #./configure --with-berkeley-db=/usr/local/bdb --with-apxs=/usr/local/apache2/bin/apxs
          #make
          #make install

          安裝成功后你可以使用 #svnadmin --version檢查是否安裝成功
          安裝成功會(huì)出現(xiàn)
          svnadmin,版本 1.4.6 (r28521)
             編譯于 May  6 2008,19:55:08
          …………
          配置
          配置Subversion
          # mkdir /home/*/svn(*代表用戶目錄)
          # cd /usr/local/subversion/bin
          # ./svnadmin create /home/*/svn/test
          這樣我們就在svn下面建立了一個(gè)test倉(cāng)庫(kù)
          修改httpd配置文件
          # vi /usr/local/apache2/conf/httpd.conf
          在最下面添加如下內(nèi)容

          LoadModule dav_svn_module modules/mod_dav_svn.so
          LoadModule authz_svn_module modules/mod_authz_svn.so
          <Location /svn>
          DAV svn
          SVNParentPath /home/*/svn/ //svn父目錄
          AuthzSVNAccessFile /home/*/svn/authz.conf //權(quán)限配置文件
          AuthType Basic //連接類型設(shè)置
          AuthName "Subversion.zoneyump" //連接框提示
          AuthUserFile /home/*/svn/authfile //用戶配置文件
          Require valid-user //采用何種認(rèn)證
          </Location>
          //其中authfile是通過(guò)"htpasswd [–c] /home/*/svn/authfile username password"來(lái)創(chuàng)建的
          //"Require valid-user"告訴apache在authfile中所有的用戶都可以訪問(wèn)。如果沒(méi)有它,
          //則只能第一個(gè)用戶可以訪問(wèn)新建庫(kù)
          修改好后保存,重啟apache
          # ./usr/local/apache2/bin/apachectl restart

          權(quán)限管理

          1)增加用戶
          # ./usr/local/apache2/bin/htpasswd [-c] /home/*/svn/authfile wooin
          //第一次設(shè)置用戶時(shí)使用-c表示新建一個(gè)用戶文件。回車后輸入用戶密碼,完成對(duì)用戶的增加
          # ./usr/local/apache2/bin/htpasswd authfile 用戶名(加入新的用戶)
          2)權(quán)限分配

          # vi /home/svnroot/repository/authz.conf
             [test:/] //這表示,倉(cāng)庫(kù)test的根目錄下的訪問(wèn)權(quán)限
             wooin = rw //test倉(cāng)庫(kù)wooin用戶具有讀和寫權(quán)限
             bao = r //test倉(cāng)庫(kù)bao用戶具有讀權(quán)限
             [test2:/] //test2倉(cāng)庫(kù)根目錄下的訪問(wèn)權(quán)限
             wooin = r //wooin用戶在test2倉(cāng)庫(kù)根目錄下只有讀權(quán)限
             bao = //bao用戶在 test2倉(cāng)庫(kù)根目錄下無(wú)任何權(quán)限
             [/] //這個(gè)表示在所有倉(cāng)庫(kù)的根目錄下
             * = r //這個(gè)表示對(duì)所有的用戶都具有讀權(quán)限
             #[groups] //這個(gè)表示群組設(shè)置
             #svn1-developers = wooin, bao //這個(gè)表示某群組里的成員
             #svn2-developers = wooin
             #[svn1:/]
             #@svn1-developers = rw //如果在前面加上@符號(hào),則表示這是個(gè)群組權(quán)限設(shè)置

          將這個(gè)設(shè)置完成后。重啟Apache,就可以通過(guò)
          http://localhost/svn/test
          這個(gè)URL來(lái)訪問(wèn)倉(cāng)庫(kù)了

          至于在eclipse使用svn就需要自己安裝svn插件了

          這里介紹Eclipse的SVN Plugin,叫做Subclipse,官方網(wǎng)站的下載地址在http://subclipse.tigris.org/,也提供了update site http://subclipse.tigris.org/update
          Eclipse 的使用者可以通過(guò)Eclipse的插件自動(dòng)下載和更新功能來(lái)安裝這個(gè)插件,在Eclipse的菜單中選擇Help->Software Updates->Find and Install-> Search for new features to install ->New Remote Site。URL中就輸入http://subclipse.tigris.org/update,Eclipse就會(huì)自已安裝上了.

          安裝完成后,在Eclipse的plugins中就會(huì)多了5個(gè)包,命名為org.tigris.subversion.*的都應(yīng)該是了。打開 Eclipse,window->show view窗口中多了一個(gè)SVN文件夾,到此就證明svn插件成功的安裝上了。具體的使用方法,在Eclipse的Help中有詳細(xì)的幫助 Subclipse - Subversion Eclipse Plugin,教你一步一步的使用SVN的客戶端了。如果你對(duì)subversion想進(jìn)行深入的了解,那么看看help中的Version Control with Subversion一定有所收獲,通過(guò)本人的觀察,這份文檔和sbuversion安裝文件中提供的官方文檔一樣,這里看起來(lái)就更舒服些了。

          注:本文是總結(jié)前輩資料的成果


          囝濼,武漢科技學(xué)院
          您可以通過(guò)其博客了解更多信息和文章:http://www.bluenuo.cn

          posted @ 2008-05-09 11:41 囝濼 閱讀(5214) | 評(píng)論 (0)編輯 收藏

          easyJWeb+Eclipse快速入門

                  由于學(xué)習(xí)需要,需要接觸網(wǎng)站開發(fā)方面的技術(shù),從VB、C、C++、java……也學(xué)了不少的語(yǔ)言,以前做網(wǎng)站都用jsp、servlet、javabean,沒(méi)怎么用過(guò)MVC框架,自己也接觸了一些STRUTS、HIBERNATE相關(guān)的技術(shù),最近有幸認(rèn)識(shí)到國(guó)人自己的開源項(xiàng)目easyJWeb(下面簡(jiǎn)稱ejf),很是興奮,花了半個(gè)小時(shí)研究了下ejf的使用,單是配置是非常簡(jiǎn)單的,下面總結(jié)一下第一次接觸ejf的經(jīng)驗(yàn),也希望更多的人加入到國(guó)人自己的開源項(xiàng)目中來(lái)。
                  ejf的官方網(wǎng)站是http://www.easyjf.com,如果需要深入了解可以直接去官網(wǎng)查看,本文只是一個(gè)入門教程。

          文/囝濼 www.bluenuo.cn


          獲得ejf
                  首先,我們?nèi)?a >http://www.easyjf.com/news/download.html下載一個(gè)名為easyjweb-1.0-m3.zip(目前是這個(gè)版本),下載到EasyJWeb后,我們解壓這個(gè)壓縮文件,會(huì)得到類似圖1所示的目錄結(jié)構(gòu):

                                                  圖1
          然后找個(gè)空目錄,這里我們?cè)趀:\java路徑下建立ejf目錄,然后把ejf的lib目錄下的easyjweb-core-1.0-m3.jar以及required目錄下的全部jar拷貝到剛建立的文件夾下。

           

           用eclipse+MyEclipse建立新的web工程
                  
          新建web工程,然后右鍵點(diǎn)擊新建的工程目錄,點(diǎn)擊propertitex,選擇java build path設(shè)置環(huán)境變量,把剛建立的目錄下的所有jar導(dǎo)入path,如果2

                                                                      圖2
          修改web.xml
          為了讓web應(yīng)用能使用EasyJWeb框架,需要在web.xml文件中添加一個(gè)servlet,并把所有擴(kuò)展名為.ejf的請(qǐng)求映射給該servlet來(lái)處理。EasyJWeb的Servlet定義如下:

          <servlet>
                
          <servlet-name>easyjf</servlet-name>
                
          <servlet-class>com.easyjf.web.ActionServlet</servlet-class>
                
          <load-on-startup>1</load-on-startup>
            
          </servlet>
            
          <servlet-mapping>
                
          <servlet-name>easyjf</servlet-name>
                
          <url-pattern>*.ejf</url-pattern>
            
          </servlet-mapping>
          為了讓Java Web應(yīng)用能更好的處理中文字符,還需要在web.xml中添加一個(gè)字符編輯過(guò)濾器,配置如下:
            <filter>
                
          <filter-name>CharsetFilter</filter-name>
                
          <filter-class>com.easyjf.web.CharsetFilter</filter-class>
                
          <init-param>
                    
          <param-name>encoding</param-name>
                    
          <param-value>UTF-8</param-value>
                
          </init-param>
                
          <init-param>
                    
          <param-name>ignore</param-name>
                    
          <param-value>true</param-value>
                
          </init-param>
            
          </filter>
            
          <filter-mapping>
                
          <filter-name>CharsetFilter</filter-name>
                
          <servlet-name>easyjf</servlet-name>
            
          </filter-mapping>

           另外,為了讓EasyJWeb能自動(dòng)找到你的應(yīng)用中的所有Action,你需要在web.xml中添加一個(gè)名為defaultActionPackages的應(yīng)用上下文件參數(shù)來(lái)告訴EasyJWeb掃描哪些包。配置如下:
          <context-param>
             
          <param-name>defaultActionPackages</param-name>
             
          <param-value>ejf</param-value>
            
          </context-param>
          最后,得到一個(gè)完整的web.xml文件,如下
          <?xml version="1.0" encoding="UTF-8"?>
          <web-app version="2.5" 
              xmlns
          ="http://java.sun.com/xml/ns/javaee" 
              xmlns:xsi
          ="http://www.w3.org/2001/XMLSchema-instance" 
              xsi:schemaLocation
          ="http://java.sun.com/xml/ns/javaee 
              http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
          >
              
          <context-param>
             
          <param-name>defaultActionPackages</param-name>
             
          <param-value>ejf</param-value>
            
          </context-param>
            
          <welcome-file-list>
              
          <welcome-file>index.jsp</welcome-file>
            
          </welcome-file-list>
            
          <servlet>
                
          <servlet-name>easyjf</servlet-name>
                
          <servlet-class>com.easyjf.web.ActionServlet</servlet-class>
                
          <load-on-startup>1</load-on-startup>
            
          </servlet>
            
          <servlet-mapping>
                
          <servlet-name>easyjf</servlet-name>
                
          <url-pattern>*.ejf</url-pattern>
            
          </servlet-mapping>
            
          <filter>
                
          <filter-name>CharsetFilter</filter-name>
                
          <filter-class>com.easyjf.web.CharsetFilter</filter-class>
                
          <init-param>
                    
          <param-name>encoding</param-name>
                    
          <param-value>UTF-8</param-value>
                
          </init-param>
                
          <init-param>
                    
          <param-name>ignore</param-name>
                    
          <param-value>true</param-value>
                
          </init-param>
            
          </filter>
            
          <filter-mapping>
                
          <filter-name>CharsetFilter</filter-name>
                
          <servlet-name>easyjf</servlet-name>
            
          </filter-mapping>
          </web-app>
          修改好后,我們把web工程放到web服務(wù)器上,這里用的是tomcat,在瀏覽器敲入http://localhost:8080/chytool/helloerror.ejf,因?yàn)闆](méi)有這個(gè)頁(yè)面,ejf將顯示默認(rèn)友情提示,如圖3

                                                      圖3
          第一個(gè)web頁(yè)面
                  下面我們建立第一個(gè)web頁(yè)面,跟學(xué)習(xí)其他語(yǔ)言一樣,我們用ejf版的helloworld作為入門,首先,我們?cè)趀clipse工程目錄下建立ejf.hello.mvc包,然后新建class HelloAction.java,在ejf里面我們將這個(gè)類叫做action,源代碼如下
          package ejf.hello.mvc;
          import java.util.Date;
          import com.easyjf.web.WebForm;
          import com.easyjf.web.core.AbstractPageCmdAction;
          public class HelloAction extends AbstractPageCmdAction {
              
          public void index(WebForm form) {
                  form.addResult(
          "msg""您好,這是EasyJWeb的第一個(gè)程序!");
                  form.addResult(
          "date"new Date());
                  form.addResult(
          "address""http://www.bluenuo.cn");
              }

          }
          接下來(lái)我們?cè)趙eb目錄下的WEB-INF下建立如下目錄架構(gòu)WEB-INF\hello\view
          然后建立index.html文件,文件內(nèi)容如下
          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
          <html>
            
          <head>
              
          <title>EasyJWeb示例程序</title>
              
              
          <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
              
          <meta http-equiv="description" content="this is my page">
              
          <meta http-equiv="content-type" content="text/html; charset=UTF-8">
              
              
          <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->

            
          </head>
            
            
          <body>
              
          <div><h4>EasyJWeb版本的HelloWorld程序</h4></div>
              
          <div>
              來(lái)自EasyJWeb的問(wèn)候:
          <font color="#0000FF">${msg}</font><br>
              現(xiàn)在時(shí)間:
          <font color="#0000FF">${date}</font><br>
              我的主頁(yè)是:
          <href="${address}">${address}</a>
              
          </div>
            
          </body>
          </html>

          整個(gè)目錄結(jié)構(gòu)如圖4所示

                  圖4
          然后導(dǎo)入web服務(wù)器目錄,在瀏覽器敲入地址http://localhost:8080/chytool/hello.ejf
          效果如圖5所示

                                                          圖5
          怎么樣?easyJWeb就是這么簡(jiǎn)單,使用過(guò)struts的一定感受得到ejf是多么的容易上手
          希望筆者的介紹已經(jīng)把你領(lǐng)進(jìn)ejf的大門,至于更深層的開發(fā)跟應(yīng)用,還需要我們自己探討

          posted @ 2008-01-29 19:26 囝濼 閱讀(3227) | 評(píng)論 (6)編輯 收藏

          學(xué)swt的一個(gè)實(shí)踐

                  學(xué)了一段實(shí)踐SWT/JFace,也學(xué)會(huì)了不少東西,java課程設(shè)計(jì)就用swt做了個(gè)類似QQ的聊天軟件,分服務(wù)端與客戶端,也花了2個(gè)多星期時(shí)間,現(xiàn)在把安裝軟件帖出來(lái),下載地址在最下面,用的學(xué)校的服務(wù)器,如果失效了請(qǐng)聯(lián)系我,需要源代碼的可以發(fā)我mail:chybox@yahoo.cn,下面稍微介紹一下這個(gè)小軟件。

          文/囝濼 www.bluenuo.cn


                  軟件分服務(wù)端與客戶端,所有通信信息都統(tǒng)一發(fā)送到服務(wù)端,由服務(wù)端通信協(xié)議負(fù)責(zé)分發(fā)到相應(yīng)的客戶端,協(xié)議我做得比較簡(jiǎn)單,通過(guò)一個(gè)MyMessage類來(lái)實(shí)例化一次具體的通信信息,其類結(jié)構(gòu)如下

          import java.io.Serializable;
          import java.util.Date;


          public class MyMessage implements Serializable{
              
          public int src;//發(fā)送者的id號(hào),其中id號(hào)注冊(cè)后獲得,唯一標(biāo)識(shí)一個(gè)用戶
              
          public int des;//目的id號(hào)
              
          public int cas;//協(xié)議號(hào)
              
          public Usr usr;//用戶信息,可以為null
              
          public String message;//發(fā)送的消息
              
          public Date date;//發(fā)送時(shí)間
              
          public MyMessage(){
                  src
          =0;
                  des
          =0;
                  cas
          =0;
                  usr
          =null;
                  message
          =null;
              }

          }


          協(xié)議信息比較簡(jiǎn)單,不過(guò)處理這個(gè)聊天的事務(wù)已經(jīng)足夠了。

          客戶端也有個(gè)完全一樣的類,只是協(xié)議的具體內(nèi)容不太一樣,同時(shí),客戶端和服務(wù)端還用了不少的范型結(jié)構(gòu),如LinkedList<>,HashMap<>等
          下面帖幾張軟件的截圖

                             圖一:客戶端登陸界面

            圖2:客戶端好友面板

                           圖片3:客戶端消息對(duì)話框

              圖片4:服務(wù)端主界面

                                    圖片5:服務(wù)端數(shù)據(jù)庫(kù)管理界面
          以上是整個(gè)軟件大體上的界面,需要了解更多可以通過(guò)下面的鏈接下載,安裝包自帶jre,使用的時(shí)候需要把客戶端的host.ini文件里的ip改成localhost或者改成你自己的ip,服務(wù)端必須先通過(guò)管理工具開啟用戶注冊(cè),否則無(wú)法注冊(cè)。
          服務(wù)端下載地址:http://edu.bluenuo.cn/myfiles/chyqq_ser_windows_2008beta.exe
          客戶端下載地址:http://edu.bluenuo.cn/myfiles/chyqq_windows_2008beta.exe

          需要源代碼可以通過(guò)我的mail聯(lián)系我chybox@yahoo.cn


           

          posted @ 2008-01-25 12:40 囝濼 閱讀(512) | 評(píng)論 (5)編輯 收藏

          主站蜘蛛池模板: 莱西市| 宣城市| 渑池县| 岳阳市| 武宣县| 金寨县| 沙雅县| 集安市| 龙井市| 蒲城县| 长春市| 思茅市| 盐边县| 石台县| 翁牛特旗| 寻甸| 府谷县| 兴山县| 封开县| 肥西县| 塘沽区| 桃源县| 长春市| 沙坪坝区| 玉林市| 抚顺市| 宁强县| 大洼县| 雅江县| 酒泉市| 昌吉市| 如皋市| 莱州市| 新竹县| 迁西县| 阿合奇县| 旅游| 永平县| 临清市| 娄底市| 那坡县|