<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

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

    網盤[disk.bluenuo.cn]
    隨筆 - 6, 文章 - 1, 評論 - 11, 引用 - 0
    數據加載中……

    2007年10月16日

    通用離開頁面前檢查form內容是否發生改變

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

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

    Linux下安裝使用Subversion

        這幾天把工作環境從windows下面轉到linux了,因為用的java語言開發,項目移植還是蠻容易的,但不準備再用CVS來做版本控制系統了,決定換功能較強大的SVN,于是了解了下linux下安裝Subversion的方法,現總結如下

    文/囝濼 www.bluenuo.cn 


    編譯安裝相關軟件(我們采用源碼編譯安裝)
    a.httpd
    下載地址:http://httpd.apache.org
    下載
    httpd-*.tar.gz (*為版本號,這里使用的是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包下下來,后一個包里是一些依賴程序,把2個包放在同一個目錄下,解壓縮,解壓的文件會自動放到同一個文件夾下。
    安裝
    #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檢查是否安裝成功
    安裝成功會出現
    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下面建立了一個test倉庫
    修改httpd配置文件
    # vi /usr/local/apache2/conf/httpd.conf
    在最下面添加如下內容

    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 //權限配置文件
    AuthType Basic //連接類型設置
    AuthName "Subversion.zoneyump" //連接框提示
    AuthUserFile /home/*/svn/authfile //用戶配置文件
    Require valid-user //采用何種認證
    </Location>
    //其中authfile是通過"htpasswd [–c] /home/*/svn/authfile username password"來創建的
    //"Require valid-user"告訴apache在authfile中所有的用戶都可以訪問。如果沒有它,
    //則只能第一個用戶可以訪問新建庫
    修改好后保存,重啟apache
    # ./usr/local/apache2/bin/apachectl restart

    權限管理

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

    # vi /home/svnroot/repository/authz.conf
       [test:/] //這表示,倉庫test的根目錄下的訪問權限
       wooin = rw //test倉庫wooin用戶具有讀和寫權限
       bao = r //test倉庫bao用戶具有讀權限
       [test2:/] //test2倉庫根目錄下的訪問權限
       wooin = r //wooin用戶在test2倉庫根目錄下只有讀權限
       bao = //bao用戶在 test2倉庫根目錄下無任何權限
       [/] //這個表示在所有倉庫的根目錄下
       * = r //這個表示對所有的用戶都具有讀權限
       #[groups] //這個表示群組設置
       #svn1-developers = wooin, bao //這個表示某群組里的成員
       #svn2-developers = wooin
       #[svn1:/]
       #@svn1-developers = rw //如果在前面加上@符號,則表示這是個群組權限設置

    將這個設置完成后。重啟Apache,就可以通過
    http://localhost/svn/test
    這個URL來訪問倉庫了

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

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

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

    注:本文是總結前輩資料的成果


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

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

    easyJWeb+Eclipse快速入門

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

    文/囝濼 www.bluenuo.cn


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

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

     

     用eclipse+MyEclipse建立新的web工程
            
    新建web工程,然后右鍵點擊新建的工程目錄,點擊propertitex,選擇java build path設置環境變量,把剛建立的目錄下的所有jar導入path,如果2

                                                                圖2
    修改web.xml
    為了讓web應用能使用EasyJWeb框架,需要在web.xml文件中添加一個servlet,并把所有擴展名為.ejf的請求映射給該servlet來處理。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應用能更好的處理中文字符,還需要在web.xml中添加一個字符編輯過濾器,配置如下:
      <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能自動找到你的應用中的所有Action,你需要在web.xml中添加一個名為defaultActionPackages的應用上下文件參數來告訴EasyJWeb掃描哪些包。配置如下:
    <context-param>
       
    <param-name>defaultActionPackages</param-name>
       
    <param-value>ejf</param-value>
      
    </context-param>
    最后,得到一個完整的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服務器上,這里用的是tomcat,在瀏覽器敲入http://localhost:8080/chytool/helloerror.ejf,因為沒有這個頁面,ejf將顯示默認友情提示,如圖3

                                                圖3
    第一個web頁面
            下面我們建立第一個web頁面,跟學習其他語言一樣,我們用ejf版的helloworld作為入門,首先,我們在eclipse工程目錄下建立ejf.hello.mvc包,然后新建class HelloAction.java,在ejf里面我們將這個類叫做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的第一個程序!");
            form.addResult(
    "date"new Date());
            form.addResult(
    "address""http://www.bluenuo.cn");
        }

    }
    接下來我們在web目錄下的WEB-INF下建立如下目錄架構WEB-INF\hello\view
    然后建立index.html文件,文件內容如下
    <!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>
        來自EasyJWeb的問候:
    <font color="#0000FF">${msg}</font><br>
        現在時間:
    <font color="#0000FF">${date}</font><br>
        我的主頁是:
    <href="${address}">${address}</a>
        
    </div>
      
    </body>
    </html>

    整個目錄結構如圖4所示

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

                                                    圖5
    怎么樣?easyJWeb就是這么簡單,使用過struts的一定感受得到ejf是多么的容易上手
    希望筆者的介紹已經把你領進ejf的大門,至于更深層的開發跟應用,還需要我們自己探討

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

    學swt的一個實踐

            學了一段實踐SWT/JFace,也學會了不少東西,java課程設計就用swt做了個類似QQ的聊天軟件,分服務端與客戶端,也花了2個多星期時間,現在把安裝軟件帖出來,下載地址在最下面,用的學校的服務器,如果失效了請聯系我,需要源代碼的可以發我mail:chybox@yahoo.cn,下面稍微介紹一下這個小軟件。

    文/囝濼 www.bluenuo.cn


            軟件分服務端與客戶端,所有通信信息都統一發送到服務端,由服務端通信協議負責分發到相應的客戶端,協議我做得比較簡單,通過一個MyMessage類來實例化一次具體的通信信息,其類結構如下

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


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

    }


    協議信息比較簡單,不過處理這個聊天的事務已經足夠了。

    客戶端也有個完全一樣的類,只是協議的具體內容不太一樣,同時,客戶端和服務端還用了不少的范型結構,如LinkedList<>,HashMap<>等
    下面帖幾張軟件的截圖

                       圖一:客戶端登陸界面

      圖2:客戶端好友面板

                     圖片3:客戶端消息對話框

        圖片4:服務端主界面

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

    需要源代碼可以通過我的mail聯系我chybox@yahoo.cn


     

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

    主窗口居中顯示

    文/囝濼 www.bluenuo.cn

     

    shell = new Shell();
    shell.setSize(
    500375);
        Monitor primary = shell.getMonitor();//獲得屏幕
        Rectangle bounds 
    = primary.getBounds ();//獲得屏幕尺寸
        Rectangle rect 
    = shell.getBounds ();//獲得窗口尺寸
        
    int x = bounds.x + (bounds.width - rect.width) / 2;//計算x坐標
        
    int y = bounds.y + (bounds.height - rect.height) / 2;//計算y坐標
        
    if (x < 0)//判斷坐標是否在屏幕之外
            x 
    = 0;
            
    if (y < 0)
                y 
    = 0;
            shell.setLocation (x, y);//設置窗口坐標
        shell.open();

    posted @ 2007-12-16 15:35 囝濼 閱讀(367) | 評論 (0)編輯 收藏

    GRUB喚醒沉睡的SUSE

    用linux也一段時間了,前前后后裝了不少版本的linux,也看了不少linux的書,但在各種發行版中,還是對suse情有獨鐘,因為它的友好的界面還有廣泛的硬件支持,特別是suse附帶了功能齊全的軟件,就連播放器的解碼也做得非常周到,基本上能播放大多數格式的電影跟音樂了。但由于幾個月前重裝windows系統,把引導破壞了,suse就一直沉睡在硬盤中,今天,借用grub,又把沉睡的suse喚醒,在使用grub的時候也遇到了不少麻煩,下面做個總結,好讓下次少走點彎路。
    文/囝濼 www.bluenuo.cn



    首先把GRUB下下來,為方便下次使用我把grub支持多文件系統的版本放在我的網盤http://disk.bluenuo.cn的linux目錄下,下載后提取grldr文件到C:\,現在只需要把系統的啟動菜單中加上C:\GRLDR=My Grub一行,下次啟動的時候就可以通過My Linux Suse10這個菜單進入grub,但現在只能使用命令來使用GRUB,接下來我們為GRUB加入菜單。
    在C:\下建立boot文件夾,然后進入剛建立的boot文件夾建立grub文件夾,最后,在grub目錄下建立menu.lst文件,至于menu.lst里面寫什么你可以查閱相關資料,筆者是通過光盤引導了以前的linux系統,仿照/boot/grub下面的menu.lst寫的,原linux下的menu.lst如下

    # Modified by YaST2. Last modification on 日  4月  1 06:48:42 UTC 2007
    color white/blue black/light-gray
    default 1
    timeout 8
    gfxmenu (hd1,7)/boot/message

    ###Don't change this comment - YaST2 identifier: Original name: linux###
    title SUSE Linux Enterprise Desktop 10
        root (hd1,7)
        kernel /boot/vmlinuz root=/dev/sda8 vga=0x314    resume=/dev/sda7  splash=silent showopts
        initrd /boot/initrd

    ###Don't change this comment - YaST2 identifier: Original name: windows###
    title Windows
        chainloader (hd0,0)+1

    ###Don't change this comment - YaST2 identifier: Original name: failsafe###
    title Failsafe -- SUSE Linux Enterprise Desktop 10
        root (hd1,7)
        kernel /boot/vmlinuz root=/dev/sda8 vga=normal showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off 3
        initrd /boot/initrd


    由于現在我只需要引導suse10,所以我把啟動設置跟最后一條復制到我的menu.lst里面就可以了
    # Modified by YaST2. Last modification on 日  4月  1 06:48:42 UTC 2007
    color white
    /blue black/light-gray
    default 1
    timeout 
    8
    ###Don't change this comment - YaST2 identifier: Original name: linux###
    title SUSE Linux Enterprise Desktop 10
        root (hd1,7)
        kernel /boot/vmlinuz root=/dev/sda8 vga=0x314    resume=/dev/sda7  splash=silent showopts
        initrd /boot/initrd
    其中紅色標記的因個人系統而定
    現在grub已經能喚醒沉睡的suse了,至于grub更詳細的使用,可以在網上搜索grub使用的文章,這里不在細述

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

    posted @ 2007-10-16 16:41 囝濼 閱讀(409) | 評論 (0)編輯 收藏

    主站蜘蛛池模板: 一本岛v免费不卡一二三区| 亚洲AV无码专区在线亚| 成年大片免费视频播放一级| 在线播放高清国语自产拍免费| 亚洲国产高清在线精品一区| 免费A级毛片无码视频| 亚洲av综合av一区| 国产在线精品免费aaa片| 国产亚洲美女精品久久久久狼| 国产一级黄片儿免费看| 国产AV无码专区亚洲AVJULIA| 国产在线观看免费av站| 亚洲日韩小电影在线观看| 在线涩涩免费观看国产精品| 亚洲成av人在线视| 18女人水真多免费高清毛片| 亚洲国产高清在线精品一区| 在线观看免费成人| 极品美女一级毛片免费| 色久悠悠婷婷综合在线亚洲| 野花香在线视频免费观看大全| 亚洲AV日韩AV天堂久久| 亚洲成A人片在线观看中文| 国产精品亚洲а∨无码播放不卡| 免费乱理伦在线播放| 色www永久免费网站| 7777久久亚洲中文字幕蜜桃| 久久不见久久见免费影院www日本| 亚洲精品成人网站在线观看 | 亚洲综合久久一本伊伊区| 免费a级毛片高清视频不卡 | 国产福利电影一区二区三区,亚洲国模精品一区 | 亚洲精品无码成人片久久| 99久久免费精品高清特色大片| 亚洲日本国产精华液| 在线视频免费国产成人| 你是我的城池营垒免费看 | 日日狠狠久久偷偷色综合免费| 亚洲成AV人在线观看天堂无码| 无码永久免费AV网站| 国产精品黄页免费高清在线观看|