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

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

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

    從制造到創造
    軟件工程師成長之路
    posts - 292,  comments - 96,  trackbacks - 0
    1. 先下載適合自己系統的即時客戶端,可通過下面的地址下載。
      http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
    2. 直接解壓到你想要存放的目錄中,如:D:\Java\instantclient_10_2
    3. 編輯環境變量:
      TNS_ADMIN 設置為 D:\Java\instantclient_10_2
      ORACLE_HOME 設置為 D:\Java\instantclient_10_2
    4. 編輯連接配置文件 tnsnames.ora,該文件需要自行在即時客戶端目錄(C:\instantclient_11_2)中創建。在該文件內輸入如下內容:
      MYDB =
        (DESCRIPTION 
      =
          (ADDRESS_LIST 
      =
            (ADDRESS 
      = (PROTOCOL = TCP)(HOST = 192.168.3.250)(PORT = 1521))
          )
          (CONNECT_DATA 
      =
            (SERVER 
      = DEDICATED)
            (SERVICE_NAME 
      = MYDB)
          )
        )
      MYDB:是數據庫實例名
      192.168.3.259:是數據庫的 IP 地址
      1521:是數據庫的端口
    5. 然后你就可以使用 PLSQL Developer 和 TOAD 這類軟件來管理 Oracle 數據庫了。
      下面根據自己的實際情況配置PL/SQL:在首選項(perference)里面設置Oracle主目錄名(Oracle_home)和OIC庫(OCI Library),我的設置是Oracle_home=D:\Java\instantclient_10_2,OCI Library=D:\Java\instantclient_10_2\oci.dll。 



     

    posted @ 2010-08-26 17:01 CoderDream 閱讀(741) | 評論 (0)編輯 收藏
         摘要: 視頻名稱: [A218]JAVA反射機制與動態代理.exe [A219]JAVA反射機制與動態代理續一.exe [A220]JAVA反射機制與動態代理續二.exe 主講教師:風中葉 Java 語言的反射機制 在Java運行時環境中,對于任意一個類,可以知道這個類有哪些屬性和方法。對于任意一個對象,可以調用它的任意一個方法。 這種動態獲取類的信息以及動態調用對象的方法的功能...  閱讀全文
    posted @ 2010-08-25 16:12 CoderDream 閱讀(2288) | 評論 (0)編輯 收藏

    有時候我們會碰到需要設置代理,然后通過svn獲取源代碼,下面我們來看一下如何設置;

    1、找到 C:\Documents and Settings\your userName\Application Data\Subversion 這個目錄下的servers文件,用任意一個文本編輯器打開,找到類似于如下的文字:

    [global]
    # http-proxy-exceptions 
    = *.exception.com, www.internal-site.org
    #http-proxy-host 
    = proxy2.some-domain-name.com
    #http-proxy-port 
    = 9000
    # http-proxy-username 
    = defaultusername


    #http-proxy-host
    #http-proxy-port
    這兩行前面的#號去掉,并將=號右邊的值分別改為你的代理服務器地址和端口號即可。

    2、設置Eclipse/MyEclipse,確認SVN的客戶端是SVNKit:


    這樣,就可以在Eclipse/MyEclipse中通過代理使用SVN了。


    posted @ 2010-03-05 15:29 CoderDream 閱讀(3812) | 評論 (2)編輯 收藏
    我們在軟件開發中,經常需要以表格的方式展現批量數據,如統計分析等等。

    這里介紹一個Flash的表格生成工具--FusionCharts,它是一個收費軟件,不過如果不是用于商業用途,只是用于,可以到網上下載破解版,csdn上面就有,如果想商業,購買應該也不貴。

    下面我們來看一個最簡單的例子:
    這個軟件生成表格的模式是:數據(XML文件或文件流)+模板。

    1、XML數據:
    <chart caption='Monthly Sales Summary' subcaption='For the year 2006' xAxisName='Month' yAxisName='Sales' numberPrefix='$'>
        
    <set label='January' value='17400' />
        
    <set label='February' value='19800' />
        
    <set label='March' value='21800' />
        
    <set label='April' value='23800' />
        
    <set label='May' value='29600' />
        
    <set label='June' value='27600' />
        
    <set label='July' value='31800' />
        
    <set label='August' value='39700' />
        
    <set label='September' value='37800' />
        
    <set label='October' value='21900' />
        
    <set label='November' value='32900' />
        
    <set label='December' value='39800' />
    </chart>

    2、將所有需要用到的模板拷貝到固定的位置。

    3、在html中指定數據位置和模板名稱:
    <html>
       
    <head>
          
    <title>My First FusionCharts</title>
       
    </head>
       
    <body bgcolor="#ffffff">
          
    <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="900" height="300" id="Column3D" >
             
    <param name="movie" value="../FusionCharts/Column3D.swf" />
             
    <param name="FlashVars" value="&dataURL=Data.xml">
             
    <param name="quality" value="high" />
             
    <embed src="../FusionCharts/Column3D.swf" flashVars="&dataURL=Data.xml" quality="high" width="900" height="300" name="Column3D" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
          
    </object>
    </body>
    </html>

    4、運行結果:


    posted @ 2010-02-03 11:16 CoderDream 閱讀(1091) | 評論 (0)編輯 收藏
    1、FCKeditor源代碼分析(一 )----------fckeditor.js的中文注釋分析(原創)
    http://blog.csdn.net/nileader/archive/2009/10/21/4710559.aspx

    2、Developers GuideJavaScript
     http://docs.cksource.com/FCKeditor_2.x/Developers_Guide/Integration/JavaScript

    3、網絡營銷實戰密碼——策略.技巧.案例
    http://product.dangdang.com/product.aspx?product_id=20449076
    posted @ 2009-10-23 16:00 CoderDream 閱讀(411) | 評論 (0)編輯 收藏

    1、安裝

    Oracle 版本:Oracle Database 10g Release 2 (10.2.0.1)

    下載地址:

    http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10201winsoft.html

    安裝設置:

    1)這里的全局數據庫名即為你創建的數據庫名,以后在訪問數據,創建“本地Net服務名”時用到;

    2)數據庫口令在登錄和創建“本地Net服務名”等地方會用到。


    2、創建“本地Net服務名”

    1)通過【程序】-》【Oracle - OraDb10g_home1】-》【配置和移植工具】-》【Net Configuration Assistant】,運行“網絡配置助手”工具:


    2)選擇“本地 Net 服務名配置”:



    3)這里的“Net 服務名”我們輸入安裝數據庫時的“全局數據庫名”:



    4)主機名我們輸入本機的IP地址:



    5)測試數據庫連接,用戶名/密碼為:System/數據庫口令(安裝時輸入的“數據庫口令”):

     

    默認的用戶名/密碼錯誤:



    更改登錄,輸入正確的用戶名/密碼:



    測試成功:


    3、PLSQL Developer 連接測試

    輸入正確的用戶名/口令:



    成功登陸:

     

    4、創建表空間

    打開sqlplus工具:

    sqlplus  /nolog

     連接數據庫:

    conn /as sysdba

     創建表空間:

    create tablespace camds datafile 'D:\oracle\product\10.2.0\oradata\camds\camds.dbf' size 200m autoextend on next 10m maxsize unlimited;

    5、創建新用戶

    運行“P/L SQL Developer”工具,以DBA(用戶名:System)的身份登錄:

    1)新建“User(用戶):


    2)設置用戶名、口令、默認表空間(使用上面新建的表空間)和臨時表空間:


    3)設置角色權限:



    4)設置”系統權限“:



    5)點擊應用后,【應用】按鈕變灰,新用戶創建成功:



    6)新用戶登錄測試:

    輸入新用戶的“用戶名/口令”:


    新用戶“testcamds”成功登陸:


    6、導入導出數據庫

    先運行cmd命令,進入命令行模式,轉到下面的目錄:D:"oracle"product"10.2.0"db_1"BIN【該目錄下有exp.exe文件】

    1)導入

    命令語法:

    imp userid / pwd @sid   file = path / file  fromuser = testcamds touser = userid 

    命令實例:

     imp testcamds / 123 @camds   file = c:"testcamds fromuser = testcamds touser = testcamds 

    導入結果:



    2)導出:

    命令語法:

    exp  userid / pwd @sid   file = path / file  owner = userid  

    命令實例:

    exp  testcamds / 123 @camdsora   file = c:"testcamds owner = testcamds 

     導入結果:

     

    posted @ 2009-10-18 20:13 CoderDream 閱讀(20350) | 評論 (1)編輯 收藏
    1、Java通過XML Schema校驗XML
    http://lavasoft.blog.51cto.com/62575/97597

    posted @ 2009-08-27 09:50 CoderDream 閱讀(389) | 評論 (0)編輯 收藏
    1、實例不能啟動!
    癥狀:“計算機管理”-》“服務和應用程序”-》“服務”-》“OracleOraDb10g_camdsTNSListener”的啟動類型為“自動”,但是狀態為空(已停止),手工啟動,狀態變為“已啟動”,1~5秒后狀態變回“已停止”,數據庫不能正常使用;
    解決方法:【開始】-》【程序】-》【Oracle - OraDb10g_camds】-》【Configuration and Migration Tools】-》【Net Configuration Assistant】,重新配置一下剛才的【監聽程序配置】,然后刷新服務就可以看到服務正常“自動”啟動了。

    posted @ 2009-06-25 09:15 CoderDream 閱讀(521) | 評論 (0)編輯 收藏
    由于Spring AOP實現了AOP聯盟約定的接口,而Spring框架并不提供該接口的源代碼,我在網上搜索了一下相關資料,整理如下:

    1、官方網站:

    http://sourceforge.net/projects/aopalliance/

    2、源代碼:

    http://coderdream.javaeye.com/topics/download/322bb187-64b3-3f4f-9ac2-fdc0ef4d0033

    3、在線文檔:

    http://aopalliance.sourceforge.net/doc/index.html

    posted @ 2009-04-04 22:31 CoderDream 閱讀(3456) | 評論 (0)編輯 收藏
    最近,myeclipse 發布了最新的7.1版,其中blue版提供了對RAD 6.X的支持:
       本版本的最引人注目之處莫過于對WSAD5.1、RAD 6.X和7.X項目的加強支持,  包括促進WSAD/RAD用戶在MyEclipse Blue 和RAD環境下提高項目質量, . 全面有效執行任務的特性。此外,那些希望能將自己的項目完全移植到  MyEclipse Blue 版本的朋友們,可以通過使用MyEclipse Blue 7.1中的簡單向導來實現了。 同時,新項目也能夠完全支持已有的開發和服務器工具。 

     

    下載地址為:

    A:普通版:

    http://downloads.myeclipseide.com/downloads/products/eworkbench/7.0/myeclipse-7.1-win32.exe

    B:Blue版

    http://downloads4.myeclipseide.com/downloads/products/eworkbench/7.0-Blue/myeclipse-blue-7.1-win32.exe

     

    其中普通版可以直接用迅雷下載,但是blue卻連不上。

     

    嘗試了多種方式,終于找到了下載方法,不過速度很慢,而且很不穩定:

    使用的軟件

    1、OperaTor-2.5

    這是一個附帶代理的瀏覽器軟件;

    2、eMule V1.1.3

    常用的電驢軟件;

     

    下面我們來看看如何下載:

    【步驟1】:打開OperaTor,程序打開后,會發現托盤區有一個藍色圖標,上面有一個字母“P";

    【步驟2】:將鼠標移到該圖標,點擊右鍵,依次選擇【Edit】-》【Main configuration】


    【步驟3】:在打開的config.txt文件中,我們可以看到,本地代理的端口為:9050,


    【步驟4】:設置電驢的代理服務器,這里的服務器類型選”Socks 4a“:


    【步驟5】:最后,點擊電驢的”新建“按鈕,將”blue版“的地址拷貝過來就可以下載了:


    不過通過代理方式下載的速度很慢,有時候還會斷線,這時候只需要重新打開上面軟件就可以了。

    posted @ 2009-03-16 22:04 CoderDream 閱讀(2682) | 評論 (0)編輯 收藏

    啟動服務:

    1、首先建立一個新的“服務器”

    在“Servers”面板空白處點擊右鍵,依次選擇【New】-》【Server】:


    2、選擇新服務器的類型

    服務器主機名默認為:localhost,類型為:Oracle WebLogic Server v10.3:


    3、選擇域的文件路徑:

    這里選擇WebLogic安裝路徑下的base_domain

    注:我們安裝WebLogic后有兩個domain,分別為:base_domain和test_domain,其實還可以自己創建自定義的domain,點擊面板中鏈接進入新建向導。



    4、啟動服務器

    選擇新建的服務器,點擊右鍵,選中【Start】即可,通過控制臺(Console)面板即可看到啟動信息:


    5、出現錯誤警告

    提示:

    The domain edit lock is owned by another session - this deployment operation requires exclusive access to the edit lock and hence cannot proceed.
    You can release the lock in Administration Console by first disabling "Automatically Acquire Lock and Activate Changes" in Preference,
    then clicking the Release Configuration button.



    解決方法:

    1、進入WebLogic控制臺:

    鏈接:http://localhost:7001/console/


     

    2、進入參數(Preferences)面板:

    3、將自動鎖定和激活勾選去掉:


    4、點擊頁面左上角的【Release Configuration】,使剛才的設置生效:


    posted @ 2009-03-10 14:58 CoderDream 閱讀(1637) | 評論 (0)編輯 收藏
    01、Java中的易混問題收集
    02、Java程序的加密和反加密
    03、JAVA JSP servlet取路徑問題總結....
    04、[轉載]社會生存的75條忠告----勝讀十年書(轉載)
    05、【轉載}08年Java開發者最迫切的五個期望
    06、【轉載】給研究起步者的忠告 !
    07、[轉載]Glassfish介紹
    08、民間偏方大全(總有你需要的時候)(轉載)
    09、【轉載】25條人生建議
    10、【轉載】讓你的生活和人生有所改變的45個方法
    11、【轉載】Java程序員面試寶典
    12、【轉載】sql 面試中的問題
    13、【轉載】面試進行曲之技術面試(項目經驗)
    14、【轉載】一家公司的面試題
    15、【轉載】面試雜談
    16、[轉載]一條sql 數據庫去除重復記錄
    17、【轉載】如何快速面試篩選,找到合適的人
    18、【原創】動態生成日歷
    19、[原創]日期時間處理實用類
    20、[原創]八皇后回溯版
    21、[原創]java.util.Comparator使用示例
    22、【轉載】一個IT強人的奮斗歷程
    23、【轉載】Javeline的八年之期,走出象牙塔的紙象
    24、【轉載】職業生涯幾句話
    25、【整理】八皇后回溯版
    26、【轉載】2007年值得去思考的N大軟件技術
    27、【轉載】2008年值得學習的五種Java技術
    28、【轉載】實戰 JDK 6.0 自帶web service
    29、【轉載】Linux學習系列之J2EE(JAVA EE)配置指南
    30、【轉載】招聘的吹牛體系
    31、【轉載】經典論壇回復收集
    32、【轉帖】什么是MIS
    33、【轉載】如何去做你討厭做的事情?
    34、【轉載】在windowsXP系統中卸載oracle9i
    35、【原創】泛型動態數組類
    36、【原創】數目字計數器,可多次添加整形數,累計0-9各個數字出現了多少次
    37、【原創】輸出一萬以內(1-9999)整數的中文大寫形式
    38、【原創】求兩字符串的公共子串

    posted @ 2008-10-27 19:57 CoderDream 閱讀(301) | 評論 (0)編輯 收藏
    1、SQL注入攻擊及其防范淺談
    posted @ 2008-10-14 16:35 CoderDream 閱讀(277) | 評論 (0)編輯 收藏
    在開發過程中使用模態窗口(window.showModelessDialog())時,由于模態窗口默認方式是有頁面緩存的,也就是說如果你改變了模態窗口的內容,但是窗口內的內容不會更新,其實只要在<head>標簽中加入下面三行代碼禁用頁面緩存即可:
    <META HTTP-EQUIV='pragma' CONTENT='no-cache'> 
    <META HTTP-EQUIV='Cache-Control' CONTENT='no-cache, must-revalidate'>
    <META HTTP-EQUIV='expires' CONTENT='0'>
    posted @ 2008-09-09 17:55 CoderDream 閱讀(855) | 評論 (0)編輯 收藏
         摘要: 需求: 對XML中的特定內容進行排序: 原始XML: <?xml version="1.0" encoding="UTF-8"?> <hostgateway>     <header>          &nb...  閱讀全文
    posted @ 2008-08-20 15:14 CoderDream 閱讀(961) | 評論 (0)編輯 收藏
    Comparable & Comparator 都是用來實現集合中的排序的,只是 Comparable 是在集合內部定義的方法實現的排序,Comparator 是在集合外部實現的排序,所以,如想實現排序,就需要在集合外定義 Comparator 接口的方法或在集合內實現 Comparable 接口的方法。

    一、Comparator

    強行對某個對象collection進行整體排序的比較函數,可以將Comparator傳遞給Collections.sort或Arrays.sort。

    接口方法:

      /**
       * 
    @return o1小于、等于或大于o2,分別返回負整數、零或正整數。
       
    */
      
    int compare(Object o1, Object o2);


    二、Comparable

    強行對實現它的每個類的對象進行整體排序,實現此接口的對象列表(和數組)可以通過Collections.sort或Arrays.sort進行自動排序。

    接口方法:

      /**
       * 
    @return 該對象小于、等于或大于指定對象o,分別返回負整數、零或正整數。 
       
    */
      
    int compareTo(Object o);

    三、Comparator和Comparable的區別
    一個類實現了Camparable接口則表明這個類的對象之間是可以相互比較的,這個類對象組成的集合就可以直接使用sort方法排序。
    Comparator可以看成一種算法的實現,將算法和數據分離,Comparator也可以在下面兩種環境下使用:
    1、類的設計師沒有考慮到比較問題而沒有實現Comparable,可以通過Comparator來實現排序而不必改變對象本身
    2、可以使用多種排序標準,比如升序、降序等。

    完整代碼:
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.List;

    public class SortObject {
        
    public static void main(String[] args) {
            sortByComparable();
            sortByComparator();
        }

        
    /**
         * 通過Comparable排序
         
    */
        
    public static void sortByComparable() {
            List list 
    = new ArrayList();
            list.add(
    new Person("Coder"1));
            list.add(
    new Person("King"3));
            list.add(
    new Person("Dream"2));
            list.add(
    new Person("Baby"4));

            System.out.println(
    "--- Sort Before ---");
            printPerson(list);
            Collections.sort(list);
            System.out.println(
    "--- After Sorted  ---");
            printPerson(list);
        }

        
    /**
         * 通過Comparator排序
         
    */
        
    public static void sortByComparator() {
            List list 
    = new ArrayList();
            list.add(
    new Person("Coder"1));
            list.add(
    new Person("King"3));
            list.add(
    new Person("Dream"2));
            list.add(
    new Person("Baby"4));

            System.out.println(
    "--- Sort Before ---");
            printPerson(list);
            Collections.sort(list, 
    new PersonComparator());
            System.out.println(
    "--- After Sorted  ---");
            printPerson(list);
        }

        
    /**
         * 打印List
         * 
         * 
    @param list
         
    */
        
    public static void printPerson(List list) {
            
    int size = list.size();
            Person p 
    = null;
            
    for (int i = 0; i < size; i++) {
                p 
    = (Person) list.get(i);
                System.out.println(p.getName() 
    + ":" + p.getId());
            }
        }

    }

    class Person implements Comparable {
        
    public String name;
        
    public int id;

        
    public Person() {
        }

        
    public Person(String name, int id) {
            
    this.name = name;
            
    this.id = id;
        }

        
    public String getName() {
            
    return name;
        }

        
    public void setName(String name) {
            
    this.name = name;
        }

        
    public int getId() {
            
    return id;
        }

        
    public void setId(int id) {
            
    this.id = id;
        }

        
    public int compareTo(Object o) {
            Person p 
    = (Person) o;
            
    return this.getName().compareTo(p.getName());
        }
    }

    class PersonComparator implements Comparator {

        
    public int compare(Object o1, Object o2) {
            Person p1 
    = (Person) o1;
            Person p2 
    = (Person) o2;
            
    return p1.name.compareTo(p2.name);
        }
    }
    輸出結果:
    --- Sort Before ---
    Coder:1
    King:3
    Dream:2
    Baby:4
    --- After Sorted  ---
    Baby:4
    Coder:1
    Dream:2
    King:3
    --- Sort Before ---
    Coder:1
    King:3
    Dream:2
    Baby:4
    --- After Sorted  ---
    Baby:4
    Coder:1
    Dream:2
    King:3


    參考:
    1、Comparator和Comparable在排序中的應用
    2、 java中對于復雜對象排序的模型及其實現 [轉]
    posted @ 2008-08-20 11:37 CoderDream 閱讀(355) | 評論 (0)編輯 收藏
    http://www.ibm.com/developerworks/cn/websphere/zones/was/theme/was6.html
    WebSphere V6 專題

    作為 WebSphere 軟件平臺的基礎,WebSphere® Application Server V6.0 是業內首選的基于 Java 的應用程序平臺,集成了動態電子商務世界的企業數據和事務。每個可用配置都提供了豐富的應用程序部署環境和應用程序服務,這些服務提供了增強的事務管理性能,同時還具備 WebSphere 產品家族的共同特性,包括安全性、性能、可用性、連接性和可伸縮性。

    >>更多產品信息

      技術文章

    使用 WebSphere Application Server V6 構建企業服務總線 —— 第 1 部分

    使用 WebSphere Application Server V6 構建企業服務總線 —— 第 2 部分

    使用 WebSphere Application Server V6 構建企業服務總線 —— 第 3 部分

    WebSphere Application Server V6 的系統管理 —— 第 1 部分

    WebSphere Application Server V6 的系統管理 —— 第 2 部分

    為 WebSphere Application Server V6 開發和部署定制數據綁定

    使用 WebSphere Application Server V6 創建簡單的 HTTP Web 服務網關服務

    WebSphere Application Server Technology for Developers V6 中的 JavaServer Page —— 第 1 部分

    WebSphere Application Server Technology for Developers V6 中的 JavaServer Pages —— 第 2 部分

    WebSphere Application Server V6 中的 JavaServer Pages —— 第 3 部分

    使用 RAD 和 WAS 來加速基于 XML 的 SOA 的 JSF 開發——第 1 部分

    使用 RAD 和 WAS 來加速基于 XML 的 SOA 的 JSF 開發——第 2 部分

    使用 RAD 和 WAS 來加速基于 XML 的 SOA 的 JSF 開發——第 3 部分

    使用 RAD 和 WAS 來加速基于 XML 的 SOA 的 JSF 開發——第 4 部分

      在線學習

    多媒體課堂:WebSphere 應用服務器最新 6.0 新特性

    多媒體課堂:WebSphere 應用服務器 V6 試驗演示

    多媒體課堂:WebSphere V6 的遷移

    多媒體課堂:面向SOA 的 WebSphere V6

    多媒體課堂:WebSphere V6 的性能監測,診斷和優化

    更多多媒體課程:WebSphere 在線用戶組

      產品文檔
    WAS V6 系統需求
    WAS V6 信息中心
    WAS 文檔中心
    WAS 性能指南
    WebSphere MQ V6 的新特性
    posted @ 2008-06-19 10:04 CoderDream 閱讀(350) | 評論 (0)編輯 收藏
    目標:將形如(tppabs="js_3.htm#window 窗口對象")之類的問題替換成新的文字。
    規則:以(tppabs=")開頭,(")結尾,中間有任意個字符
    Java:^tppabs=".*"$
    EditPlus(替換時注意選擇"正則表達式"):^tppabs=".*"   如果末尾加美元符號($),則不行!

     

    Eclipse的正則表達式插件:Regular Expression Tester

    Eclipse Regular Expression Tester


    Features

    • Test and search for regular expression
    • Matches are colorized, for an easy visual clue
    • Support for pattern flags (e.g. Pattern.DOTALL)
    • LiveEval evaluates your regular expression while you are typing it, gives feedback on possible errors and shows any matches automatically
    • LiveEval is supported for changes of the regular expression, the search text and the pattern flags
    • 4 distinct match modes:
      • Find a sequence of characters
      • Match a complete text
      • Split text
      • Replace every occurence of the regex with a different string
        Replacing supports back references ($1,$2,...)
    • LiveEval for match mode changes
    • Context sensitive "Regular Expression Assist"
    • Selective evaluation of expressions
    • Bracket Matching
    • Generation of string literals based on the regexp, e.g. "\(x\)" becomes "\\(x\\)"
    • De-escape patterns in your code, e.g. \\(x\\) becomes \(x\)
    • Improved "Clear Menu", choose which parts of the view you would like to get cleared every time you press the clear button
    • Easy movement through matches: Choose "Previous Match" or "Next Match" and cycle through all matches found.
    • Polished and accessible user interface, everything is reachable via keyboard

    Download the plugin

    Download the most recent version as a zip file
    update site: http://brosinski.com/regex/update

    • Unzip it to ECLIPSE_HOME
    • Restart Eclipse
    • In Eclipse, choose Window > Show View > Other > RegEx Tester
    • Configure it in Window > Preferences > RegEx Tester

    If you like RegEx Tester, please rate it at eclipse-plugins.info.

    The plugin requires a 1.4 JRE/JDK and Eclipse 3.0 or later.

    There is an old (sorry) user guide which can also be found here.
    posted @ 2008-06-18 15:08 CoderDream 閱讀(507) | 評論 (0)編輯 收藏
    效果:
    左邊鏈接(包括錨點)、右邊顯示
    文件清單1:
    <!-- ------------------------------ -->
    <!--       文件范例:index.html      -->
    <!--         文件說明:框架集       -->
    <!-- ------------------------------ -->
    <HTML>
        
    <HEAD>
        
    <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="TEXT/HTML;CHARSET=UTF-8">
        
    <TITLE>框架集</TITLE>
        
    </HEAD>
        
    <FRAMESET COLS="30%,70%">
            
    <FRAME SRC=menu.html Scrolling="No">
            
    <FRAME SRC=1.html Name="right">
        
    </FRAMESET>
    </HTML>
    說明:
        1、<meta>標簽放在<title>之前可以讓IE自動選擇字符集,如UTF-8;
        2、第二個frame的name為“right”,這個值會在menu.html中用到;

    文件清單2:
    <!-- ------------------------------ -->
    <!--    文件范例:menu.html    -->
    <!--       文件說明:左側框架       -->
    <!-- ------------------------------ -->
    <HTML>
        
    <HEAD>
            
    <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="TEXT/HTML;CHARSET=UTF-8">
            
    <TITLE>左側框架</TITLE>
        
    </HEAD>
        
    <BODY>
            
    <href="1.HTML" Target="right">《商業周刊》:iPhone2.0帶來的鯰魚效應</A><P>
            1、
    <href="1.HTML#a1" Target="right">無線運營商的日子更不好過</A><P>
            2、
    <href="1.HTML#a2" Target="right">手機制造廠商們將更煩惱</A><P>
            3、
    <href="1.HTML#a3" Target="right">iPhone帶來的沖擊會持續多久?</A><P>
            
    <href="2.HTML" Target="right">Fireworks MX</A><P>
            
    <href="3.HTML" Target="right">Flash MX</A><P>
        
    </BODY>
    </HTML>
    說明:
        1、注意,這里<A>標簽的target都為index.html中定義的"right"

    文件清單3:
    <!-- ------------------------------ -->
    <!--  文件范例:1.html   -->
    <!--      文件說明:右側框架一      -->
    <!-- ------------------------------ -->
    <HTML>
        
    <HEAD>
            
    <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="TEXT/HTML;CHARSET=UTF-8">
            
    <TITLE>右側框架一</TITLE>
            
    <Style Type="text/css">
                    <!--                    
                        .abc 
    {                
                            font-weight
    : bold;
                            font-size
    : 18px;                
                        
    }
                    -->
            
    </Style>
        
    </HEAD>
    <BODY>
    <H1><name=aTitle>《商業周刊》:iPhone2.0帶來的鯰魚效應</A></H1>

    ugmbbc發布于 2008-06-17 08:26:20|2998 次閱讀 字體:大 小 打印預覽
    <BR><BR>
     
      北京時間6月16日,《商業周刊》發表評論文章分析了iPhone2.0對無線運營商和手機制造商們帶來的沖擊,以下為其全文:
    當蘋果準備憑著3G版iPhone再次吹響戰斗號角的時候,也是手機制造商和無線運營商們更加頭疼的時候.蘋果在手機市場中可謂旗開得勝,在iPhone 入市的第一年,蘋果就從競爭對手RIM公司中搶過不少市場份額,而AT
    &T作為 iPhone唯一授權的運營商,也從其競爭對手Alltel和T-Mobile中吸引了不少用戶.可以想象,一個更便宜、速度更快、功能更全的 iPhone將帶來什么樣的沖擊.<BR><BR>

      將在7月面市的新版iPhone,不僅售價不到200美元、升級到更快的網絡,而且新增了很多吸引普通消費者以及商業用戶的功能.

      
    <name=a1><class=abc>  無線運營商的日子更不好過</p></A>
      據業內人士說,為了對付iPhone帶來的沖擊,無線服務運營商們不得不提高對手機的補貼、提高營銷預算并降低一些服務的價格,所有這一切意味著利潤空間的縮減.面對iPhone的沖擊,本來就已經處在政府監管日益增加以及直面Google競爭的無線運營商們的日子更不好過了.
    <BR><BR>

      在過去的一年里,美國的無線運營商們已經在手機津貼上展開激烈競爭,通過增加對手機的補貼來獲得長期無線服務合同.但現在AT
    &T以 iPhone為誘惑來吸引用戶,對別的運營商來說,必須采取相應的措施來吸引用戶,他們可能引進類iPhone的手機.但"大多數人要的是iPhone,就像他們喜歡iPod而不是其他MP3播放器一樣",東北大學營銷系教授Gloria Barczak說到,"人們要的是真正的iPhone".因此,要想讓用戶被吸引,必須得有別的優勢,比如價格優勢等.<BR><BR>

      為了留住高端用戶,運營商們需要加大業務推廣的力度.據廣告顧問公司TNS媒體情報的數據,運營商Verizon無線今年第一季度的廣告支出增加了30%.
    <BR><BR>

      Sprint Nextel同期的廣告開支下降20%,主要是由于自身的財務問題,當看到用戶不斷流失的時候,Sprint Nextel應該會加大廣告的投入."他們必須拿出能對抗iPhone誘惑的方案來,盡量發揮自己的長處",顧問公司TMNG的CEO Rich Nespola說到.
    <BR><BR>

      另一種留住用戶的方式是降低服務的價格.事實上,這是一個有效對付AT
    &T的辦法.AT&T對提供iPhone的用戶增加了服務的價格,以彌補高額的津貼費用."AT&T的對手們將在今年下半年繼續加強價格優勢,可能會有30%到40%的下降.當人們因為高油價開支增多的情況下,每月在無線服務上節省50美元也是很有吸引力的",Pali研究所的分析師Walter Piecyk說到,"因此,無線運營商的利潤將從目前的40%下滑到30%".

      
    <class=abc><name=a2>  手機制造廠商們將更煩惱</A></p>

      手機制造廠商們也正在因為iPhone而大傷腦筋,盡管現在他們正受益于兩位數增長的智能手機市場.當運營商們因iPhone而必須提高補貼的時候,他們會將壓力轉加到手機制造廠商頭上,進而壓低手機價格.何況,如果iPhone真像分析師們預期那樣大賣的話,其他手機廠商的市場份額也會受到很大侵蝕.很久沒推出拳頭產品的摩托羅拉可能受創最重,三星、LG甚至諾基亞也會遭受沖擊,NPD集團的主任分析師Ross Rubin說到,"高端、時尚機型將受沖擊最大".
    <BR><BR>

      還有,為了趕上iPhone的技術水平和圖形表現能力,手機制造廠商們將不得不提高他們的軟件研發成本.去年售出300萬臺觸摸手機的 HTC,已經開發了一種特殊的3D菜單,該菜單表現力強勁,把通訊錄做得就像在實際的紙制通訊錄中翻找一樣."我們希望能把用戶的觸摸體驗提升到一個新的水平",HTC 首席營銷官的John Wang說到.
    <BR><BR>

      作為世界上最大手機制造商的諾基亞,在Ovi上投了大量資金,希望為它的智能手機建立一個集地圖、游戲和照片共享于一身的Web服務平臺,這次在iPhone的刺激下也在加緊推出新服務."我們將繼續推出新服務",諾基亞美洲區副總裁Bill Plummer說到.

      
    <class=abc><name=a3>  iPhone帶來的沖擊會持續多久?</A></p>

      iPhone帶來的沖擊將會持續多久?這個很難說.一個重量級手機的銷售要達到頂峰需要幾年的時間.摩托羅拉傳奇的RAZR系列手機在2004年推出,直到2007年一季度才達到銷售的頂峰,據NPD的數據,當時RAZR系列手機銷售占全美手機銷售的12%.
    <BR><BR>
      雖然不好說那些別的智能手機和類iPhone的手機將會如何發展,但是"畢竟,重要的是,它們不是iPhone",Jupiter研究所分析師Neil Strother說到,"這不是在蘋果堆里挑蘋果".
    <BR><BR>
    </BODY>
    </HTML>

    文件清單4:
    <!-- ------------------------------ -->
    <!--   文件范例:2.html  -->
    <!--      文件說明:右側框架二      -->
    <!-- ------------------------------ -->
    <HTML>
        
    <HEAD>
            
    <TITLE>右側框架二</TITLE>
            
    <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="TEXT/HTML;CHARSET=UTF-8">
        
    </HEAD>
        
    <BODY>
            
    <H1>Fireworks MX</H1>
            Fireworks MX作為網頁圖像設計軟件的代表,在繼承了前期版本圖形繪制、頁面特效功能的同時,大大地發展了位圖圖像方面的處理功能,這無疑使這個軟件有了向Photoshop挑戰的更多資本,而其在網頁設計方面的諸多應用,又無任何軟件可與之媲美。與Dreamweaver MX的整合使其在專業網站圖像設計過程中,扮演著不可或缺的角色。
        
    </BODY>
    </HTML>

    文件清單5:
    <!-- ------------------------------ -->
    <!--  文件范例:3.html   -->
    <!--      文件說明:右側框架三      -->
    <!-- ------------------------------ -->
    <HTML>
        
    <HEAD>
            
    <TITLE>右側框架三</TITLE>
            
    <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="TEXT/HTML;CHARSET=UTF-8">
        
    </HEAD>
        
    <BODY>
    <H1>Flash MX</H1>
    Flash MX作為網頁矢量交互動畫軟件的代表,提供了圖形繪制、動畫制作和交互三大功能。掌握了這個軟件的核心,也就有能力在網上沖浪的同時,充當一把閃客的角色。越來越多的個人、商業網站采用Flash技術制作廣告Banner、動畫片頭、MTV、交互游戲,其廣泛的應用為Flash的學習者提供了廣闊的發展平臺,學習Flash MX軟件更是一個具有誘惑力的過程。
        
    </BODY>
    </HTML>

    源代碼
    posted @ 2008-06-18 11:47 CoderDream 閱讀(812) | 評論 (3)編輯 收藏


      大家好,網頁設計思考欄目今天繼續第八講。我們上次討論了首頁設計的版面布局 和色彩的搭配,今天我們來談談字體。

      ●字體(Font)的設置是網頁制作新手遇到的第一個難點。如何控制字體大小,如何取消 超鏈接字體的下劃線是網友來信問得最多的。好,我們來徹底研究一下字體的各個方面:

      ○字符集的設定。

      在查看html文件原代碼時,我們經??梢栽谖募^<head>和</head>之間看到這么一句代碼:
      <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
      這段代碼的作用是什么呢?是否可以刪除呢?
      其實這是meta標簽的設定語句,是給瀏覽器看的。它的作用就是告訴瀏覽器:這個HTML 文件是采用gb2312字符集制作的。當瀏覽器讀到這一代碼,便以gb2312字符集來解釋和翻譯 網頁原代碼,然后我們就可以看到正確的網頁。所以這個meta語句是非常重要的,盡量不要 刪除。
      gb2312就是我們最熟悉的GB簡體碼,英文是iso-8859-1字符集。其它還有BIG5,UTF-8, Shift-JIS,EUC,KOI8-2等字符集,分別用于不同的字體顯示。

      ○字體的使用。

       在網頁里,字體的定義語句是:<font face="Arial">顯示文字</font>   其中Arial就是一種字體的名稱。   默認的瀏覽器定義的標準字體是中文宋體和英文times new Roma字體。也就是說, 如果你沒有設置任何字體,網頁將以這兩種標準字體顯示。同時,著兩種字體也可以在任 何操作系統和瀏覽器里正確顯示。
      windows另外自帶了40多種英文字體和5種中文字體。這些字體,你也可以在網頁里自由 使用和設置。凡是使用windows操作系統的瀏覽器都可以正確顯示這些字體,但在其它操作 系統里,如unix 則不能完全正確顯示。

      如果你需要用一種特殊的字體來體現你的風格,那么如何讓大家可以真正看到你的設計 頁面呢?解決的辦法是:用圖片。

       將需要用這種字體的地方用圖片代替,以保證所有人看到的頁面是同一效果。

      ○字體的樣式(style)。
      字體的樣式有四種:正常體(regular),斜體(Italic),粗體(Bold),粗斜體(Bold Italic)。 設置方法很簡單,阿捷就不多羅嗦了。

      ○字體的效果。
      這里指通過html語言設定可以直接顯示的效果,在html里的語句設定為:   <span style="text-decoration: overline">顯示文字</span>
      其中,overline是指上劃線效果。其它常用的效果還有:underline(下劃線), uppercase(大寫)等等。

      ○字體大小的控制。
      字體大小的控制是本節的重點。

      一般字體默認的大小是12pt(鎊).用<font size="+1">語句可以將文字增大2pt。這種方法我們都已經掌握了。而現在網絡上最流行的小中文字體大小為9pt,是如何設定的呢?有三種方法:

      1.用"<span style="font-size:9pt">顯示文字</span>"語句來設定。
      顯然這種方法非常麻煩,你必須為每段文字都設定大小。

       2.用CSS層疊樣式表。
      CSS是DHTML的一個組成部分,它可以定義整個頁面的字體顯示風格和大小。是較為簡便的方法。比如,這里需要設定整個頁面文字大小為9 pt,只要將下面這段代碼加入html代碼的<head>和</head>之間:

    <style type="text/css">
    <--
       body {FONT-SIZE: 9pt}
       th {FONT-SIZE: 9pt}
       td {FONT-SIZE: 9pt}
    -->
    </style>

      其中FONT-SIZE:9pt指字體的大小為9鎊

      3.第二種方法已經簡化了許多步驟,但是仍然不是最理想的方法,因為你必須在每個頁面的head區都放置這么一段代碼,擴大了文件的字節。另外這樣的做法還有一個重大缺點,就是如果我需要修改整個站點的字體大小,就必須一頁一頁的改!

      所以推薦給你最終也是目前最好的方法---外部摸板文件調用法。
      “外部摸板調用”就是說你將css的設定作成一個單獨的文件,在每個頁面里都調用它。一旦你需要修改字體大小,只要修改一個.cs s文件,幾百個頁面就同時修改了。(這種方法類似子程序調用編寫過程序的網友很容易理解

      調用的具體方法如下:
       (1)將上面的css代碼copy成一個mycss.txt文件,然后修改后綴名為mycss.css
      (2)在html文件的<head></head>之間插入<LINK href="mycss.css" rel=stylesheet type=text/css>, 語句調用mycss.css(注意有關路徑的設置正確)OK!

      ○字體超鏈接樣式的設定。

       通常在網頁的<body>中設置連接的顏色,如<body link="#FF00FF" vlink="#FF0000" alink="#008080"> 其中:
      link -- Hyperlink(連接)的顏色
      vlink-- visited Hyperlink(已訪問過的連接)顏色
      alink-- active Hyperlink (當前活動的連接)顏色    顏色用rgb的16進制碼表示如紅色是#FF0000。

      同樣用CSS可以更簡便的設定網頁超連接的樣式,看下面這段代碼:
      <style type="text/css"> A:link {TEXT-DECORATION: none;COLOR: #0000FF} A:visited {TEXT-DECORATION: none;COLOR: #000000} A:active {TEXT-DECORATION: none;COLOR: #FF0000} A:hover {COLOR: #FF0000} </style>
      將它插入html文件的head區就可以了。其中link設定的是有超鏈接的顏色;visited是訪問過的超 鏈接顏色;active是鼠標移上去的顏色;hover是鼠標點擊時的顏色。而"text-decoration:none"是指 取消超鏈接的下劃線顯示。

      關于CSS的設定還有更多的用法和技巧,比如在同一頁中設定不同的字體大小和超鏈接顏色,請學習有關CSS的專門知識(可以到阿捷的主頁h ttp://pageone.yeah.net查閱)在這里我們不在冗述。

      ●上面已經介紹了字體在技術上的各個方面。有關字體的設計使用,目前還沒有一個成熟的理論, 下面是幾條網頁設計中字體的使用原則,僅供參考:

      1.不要使用超過3種以上的字體。字體太多則顯得雜亂,沒有主題。
      2.不要用太大的字。因為版面是寶貴,有限的,粗陋的大字體不能帶給訪問者更多信息。
      3.不要使用不停閃爍的文字。想讓瀏覽者多停留一會兒的話,就不要使用閃爍的文字。
      4.原則上標題的字體較正文大,顏色也應有所區別。
     

    posted @ 2008-06-18 09:42 CoderDream 閱讀(386) | 評論 (0)編輯 收藏

    在windows操作系統上使用IE作為瀏覽器時。常常會發生這樣的問題:在瀏覽使用UTF-8編碼的網頁時,瀏覽器無法自動偵測(即沒有設定“自動選擇”編碼格式時)該頁面所用的編碼。即使網頁已經聲明過編碼格式:

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

    由此造成某些含有中文UTF-8編碼的頁面產生空白輸出。

    如果使用的是Mozilla、Mozilla 瀏覽器、Sarafi的瀏覽器這不會造成這個問題。這是由于IE解析網頁編碼時以HTML內的標簽優先,而后才是HTTP header內的訊息;而mozilla系列的瀏覽器則剛剛相反。

    由于UTF-8為3個字節表示一個漢字,而普通的GB2312或BIG5是兩個。頁面輸出時,由于上述原因,使瀏覽器解析、輸出<title></title>的內容時,如果在</title>前有奇數個全角字符時,IE把UTF-8當作兩個字節解析時出現半個漢字的情況,這時該半個漢字會和</title>的<結合成一個亂碼字,導致IE無法讀完<title>部分,使整個頁面為空百輸出。而這個時候如果察看源文件的話,會發現實際上整個葉面全部已經輸出了。

    因此最簡單的解決辦法是在網頁文件的<head></head>標簽中一定要把字符定義

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

    放在<title></title>之前。

    posted @ 2008-06-18 09:30 CoderDream 閱讀(416) | 評論 (0)編輯 收藏
    1、如何使用Log4j?
    2、http://supportweb.cs.bham.ac.uk/documentation/tutorials/docsystem/build/tutorials/log4j/log4j.html
    3、Log4j
    http://my.so-net.net.tw/idealist/Java/Log4j.html
    posted @ 2008-06-13 17:56 CoderDream 閱讀(405) | 評論 (0)編輯 收藏
         摘要: 14.1 什么是JavaScript 14.1.1 JavaScript概念 JavaScript是一種基于對象和事件驅動并具有安全性能的腳本語言。 14.1.2 JavaScript特點 是一種腳本編寫語言; 基于對象的語言; 簡單性; 安全性; 動態性; 跨平臺性 14.2 編寫第一個JavaScript腳本 文件范例:1401.html <!-- --...  閱讀全文
    posted @ 2008-06-04 09:29 CoderDream 閱讀(424) | 評論 (0)編輯 收藏
    我們在開發的過程中,調試的時候經常要進入某些包,如果沒有將這些包與對應的源文件文件夾或zip包對應,就會提示“Source not found”,但是現在很多jar文件都會有相應的源文件,如Struts、Spring等等。而且JavaEE的很多源文件可以通過Tomcat的源文件找到,我們把它打成zip包,注意要和jar文件夾對應,然后設置一下,以后新建Web Project的時候,就可以很方便的查看servlet文件夾下面的源代碼了。

    這是javaee.jar的設置畫面,其他Struts等等設置類似。
    posted @ 2008-05-29 14:57 CoderDream 閱讀(3160) | 評論 (0)編輯 收藏
    出現這個問題后使用“清理”功能,如果還不行,就直接到上一級目錄,再執行“清理”,然后再“更新”。

    有時候如果看到某個包里面的文件夾沒有SVN的標志,直接用“Ctrl+Delete”手工刪除,然后“清理”,最后“更新”或“提交”。


    網絡摘抄1:
    錯誤信息
    Malformed file   
    svn: E:\svn\repository\conf\svnserve.conf:12: Option expected   
    原因:

    配置文件12行開頭有空格

       

    錯誤信息
    Attempted to lock an already-locked dir   
    svn: Working copy 'E:\integration\com.svn.practise' locked  

    原因:

    需要用svn cleanup上次關閉時的鎖定


    網絡摘抄2:
    在eclipse里提交和更新文件是抱錯。

    Attempted to lock an already-locked dir
    svn: Working copy 'F:\workspace\WebFrame\WebRoot\attach\prodrelation' locked

    執行“清除”操作后,問題解決了。

    很多操作,例如中斷提交,都會進入這種工作拷貝的鎖定狀態。

    網絡摘抄3:
    因為這兩天頻出這個現象,現在基本不怕這個問題了
    我是這樣解決的:
    1 三令五申項目的組員必須先同步,合并,再提交
    2 操作后經常地在父目錄使用clean up命令
    3 解決了locked問題后,還出現不能更新的現象時,就刪除目錄下的所有文件,包括.svn,再重新check out服務器同目錄一次
    4 總之,操作要規范,要強調組員每天開工時,先在ECLIPSE里同步,下班時,要提交(提交前,先在文件夾的右菜單中,選擇小組>清除),保證每個人的機子里在開工前都是最新版本

    老實講,因為版本沖突,提交沖突,更新失敗等等問題,耽誤了好些時間,但我知道主要還是自身操作不熟練不規范的問題。我相信,只要堅持,大家包括我的組員一定都會喜歡上這個小海龜的  


     

    posted @ 2008-05-27 09:51 CoderDream 閱讀(108662) | 評論 (14)編輯 收藏
    效果:


    文件清單:
    序號 文件名
    1 ChangeLocaleAction.java
    2 ChangeLocaleForm.java
    3 struts-config.xml
    4 index.jsp
    5 application_en_US.properties
    6 application_zh_CN.properties
    7 application_zh_TW.properties

    清單1:
    package com.coderdream.struts.action;

    import java.util.Locale;

    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    import org.apache.struts.Globals;
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;

    import com.coderdream.struts.form.ChangeLocaleForm;

    public class ChangeLocaleAction extends Action {

        
    public ActionForward execute(ActionMapping mapping, ActionForm form,
                HttpServletRequest request, HttpServletResponse response) {
            ChangeLocaleForm clForm 
    = (ChangeLocaleForm)form;
            String language 
    = clForm.getLanguage();
            
    if (language != null) {
                Locale locale;
                
    if (language.equalsIgnoreCase("en")) {
                    locale 
    = Locale.US;
                    request.getSession().setAttribute(
                            Globals.LOCALE_KEY, locale);
                } 
    else if (language.equalsIgnoreCase("tw")) {
                    locale 
    = Locale.TAIWAN;
                    request.getSession().setAttribute(
                            Globals.LOCALE_KEY, locale);
                } 
    else {
                    locale 
    = Locale.CHINA;
                    request.getSession().setAttribute(
                            Globals.LOCALE_KEY, locale);
                }
            }
            
            
    return mapping.findForward("success");
        }
             
    }

    清單2:
    package com.coderdream.struts.form;

    import org.apache.struts.action.ActionForm;


    /**
     * 
     * description:
     * 
     * 
    @author 
     *
     
    */
    public class ChangeLocaleForm extends ActionForm{
        
        
    public ChangeLocaleForm() {
            
    super();
        }

        
    private String language;

        
    public String getLanguage() {
            
    return language;
        }

        
    public void setLanguage(String language) {
            
    this.language = language;
        }
    }

    清單3:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">

    <struts-config>
        
    <data-sources />
        
    <form-beans>
            
    <form-bean name="ChangeLocaleForm"
                type
    ="com.coderdream.struts.form.ChangeLocaleForm" />
        
    </form-beans>

        
    <action-mappings>

            
    <action name="ChangeLocaleForm" path="/ChangeLocale"
                scope
    ="request"
                type
    ="com.coderdream.struts.action.ChangeLocaleAction"
                validate
    ="false">
                
    <forward name="success" path="/index.jsp" />
            
    </action>
        
    </action-mappings>

        
    <message-resources key="application"
            parameter
    ="com.coderdream.struts.resources.application" />
    </struts-config>

    清單4:
    <%@ page contentType="text/html; charset=UTF-8"%>
    <%@page import="org.apache.struts.Globals"%>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>

    <html:html>
    <head>
        
    <title>多語言測試</title>
        
    <meta http-equiv="pragma" content="no-cache">
        
    <meta http-equiv="cache-control" content="no-cache">
        
    <meta http-equiv="expires" content="0">
        
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        
    <meta http-equiv="description" content="This is my page">
    </head>
    <script language="javascript"> 
        function onLanguage(){
            var language 
    = document.getElementsByName("language")[0].value;
            
    if(language!=null&&language!=""){         
              document.forms[
    0].submit();
                }
              }   
        
    </script>

    <body>
        
    <html:form action="ChangeLocale.do">
            
    <html:select property="language" styleId="height:18"
                onchange
    ="onLanguage();">
                
    <option value="" title="">
                    
    --
                    
    <bean:message bundle="application" key="global.select.language" />
                    
    --
                
    </option>
                
    <option value="en" title="English">
                    English
                
    </option>
                
    <option value="cn" title="簡體中文">
                    簡體中文
                
    </option>
                
    <option value="tw" title="繁體中文">
                    繁體中文
                
    </option>
            
    </html:select>
        
    </html:form>
        
    <br>
        
    <br>
        
    <br>
        
    <bean:message bundle="application" key="global.select.test" />
        
    <%=request.getSession().getAttribute(Globals.LOCALE_KEY)%>

    </body>
    </html:html>

    清單5:
    #Generated by ResourceBundle Editor (http://eclipse-rbe.sourceforge.net)

    global.select.language 
    = Language
    global.select.test     
    = Test

    清單6:
    #Generated by ResourceBundle Editor (http://eclipse-rbe.sourceforge.net)
    #BizException

    global.select.language = \u8BED\u8A00
    global.select.test     = \u6D4B\u8BD5

    清單7:
    #Generated by ResourceBundle Editor (http://eclipse-rbe.sourceforge.net)

    global.select.language = \u8A9E\u8A00
    global.select.test     = \u6E2C\u8A66

    此功能的關鍵是在Action里面將頁面傳過來的language信息得到,然后根據信息設置Locale,然后將新的Locale放到Session中。

    源代碼:點擊下載
    posted @ 2008-05-14 18:20 CoderDream 閱讀(1019) | 評論 (0)編輯 收藏
    需求:用實線把各個面板圈起來,然后把面板的名字寫在圈圈的左上角。

    原始畫面:


    由于原來的程序使用的是AWT中的Panel,而這個控件我們沒有設置titleBorder的方法。
    現在將更新為Swing中的JPanel面板,代碼分別為:
    舊代碼:
        Panel pRoboCtrl=new Panel();
        pRoboCtrl.setLayout(
    new GridLayout(5125));
        
        
    // Robot控制面板的第一排,面板的標題
            Panel pR1=new Panel(); 
            pR1.setLayout(
    new GridLayout(1123));
         
            
    //Row One
        pR1.add(new Label("Robot Control",Label.CENTER));
    新代碼:
        JPanel pRoboCtrl=new JPanel();
        pRoboCtrl.setLayout(
    new GridLayout(4125));
        Border titleBorder1
    =BorderFactory.createTitledBorder("Robot Control");            
        pRoboCtrl.setBorder(titleBorder1);   
    原來的處理方式是將一個Label放到Panel中,然后將這個Panel放到外層的Panel中,新方式是將外層Panel定義成JPanel,然后設置Border的值為BorderFactory產生的一個實例。



    解決這個問題后,新問題又來了,兩個JPanel中的內容不一樣,上面多,下面少,但是現在面板卻是一樣大,要改成面板高度自動適應。
    其實這只需要修改一行代碼就可以了,代碼如下:
    舊代碼:
    CP.setLayout(new GridLayout(3125));  
    新代碼:
    CP.setLayout(new BoxLayout(CP, BoxLayout.Y_AXIS)); // 沿垂直方向布置組件
    舊代碼的處理方式是網格布局,新代碼的方式是用BoxLayout布局管理器,它會按要求垂直或水平分布。

    以下代碼創建了一個JPanel容器,它采用垂直 BoxLayout,在這個容器中包含兩個Button,這兩個Button沿垂直方向分布,并且保持像素為 5 的固定垂直間隔。
        JPanel panel = new JPanel();
        panel.setLayout(
    new BoxLayout(panel, BoxLayout.Y_AXIS));// 沿垂直方向布置組件
        panel.add(new JButton("Button1"));
        panel.add(Box.createVerticalStrut(
    5));
        panel.add(
    new JButton("Button2"));

    源代碼:下載
    posted @ 2008-04-29 16:16 CoderDream 閱讀(15619) | 評論 (2)編輯 收藏
    1、下載
    http://www.opensymphony.com/quartz/download.action
    https://quartz.dev.java.net/files/documents/1267/43545/quartz-1.6.0.zip

    2、詳細講解Quartz如何從入門到精通
    3、用 Quartz 進行作業調度
    posted @ 2008-04-15 17:46 CoderDream 閱讀(738) | 評論 (0)編輯 收藏
    數據庫和表
    create table USERS
    (
      USERNAME 
    VARCHAR2(20not null,
      PASSWORD 
    VARCHAR2(20)
    )
    alter table USERS
      
    add constraint U_PK primary key (USERNAME)

    /**
     * JdbcExample.java
     *
     * Provider: CoderDream's Studio
     *
     * History
     *    Date(DD/MM/YYYY)    Author          Description
     * ----------------------------------------------------------------------------
     *    Apr 14, 2008                CoderDream        Created
     
    */

    package com.coderdream.jdbc.oracle;

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;

    /**
     * 
    @author XL
     *
     
    */
    public class JdbcExample {


        
    private static Connection getConn() {
            String driver 
    = "oracle.jdbc.driver.OracleDriver";
            String url 
    = "jdbc:oracle:thin:@10.5.15.117:1521:csi";
            String username 
    = "scott";
            String password 
    = "tiger";
            Connection conn 
    = null;
            
    try {
                Class.forName(driver);
                
    // new oracle.jdbc.driver.OracleDriver();
                conn = DriverManager.getConnection(url, username, password);
            }
            
    catch (ClassNotFoundException e) {
                e.printStackTrace();
            }
            
    catch (SQLException e) {
                e.printStackTrace();
            }

            
    return conn;
        }

        
    private static int insert(String username, String password) {
            Connection conn 
    = getConn();
            
    int i = 0;
            String sql 
    = "insert into users (username,password) values(?,?)";
            PreparedStatement pstmt;
            
    try {
                pstmt 
    = conn.prepareStatement(sql);
                
    // Statement stat = conn.createStatement();
                pstmt.setString(1, username);
                pstmt.setString(
    2, password);
                i 
    = pstmt.executeUpdate();
                System.out.println(
    "resutl: " + i);

                pstmt.close();
                conn.close();
            }
            
    catch (SQLException e) {
                e.printStackTrace();
            }

            
    return i;
        }

        
    private static void query() {
            Connection conn 
    = getConn();
            String sql 
    = "select * from users";
            PreparedStatement pstmt;
            
    try {
                pstmt 
    = conn.prepareStatement(sql);
                ResultSet rs 
    = pstmt.executeQuery();
                
    while (rs.next()) {
                    System.out.println(
    "name: " + rs.getString("username")
                            
    + " \tpassword: " + rs.getString("password"));
                }

                rs.close();
                pstmt.close();
                conn.close();
            }
            
    catch (SQLException e) {
                e.printStackTrace();
            }

        }

        
    private static int update(String oldName, String newPass) {
            Connection conn 
    = getConn();
            
    int i = 0;
            String sql 
    = "update users set password='" + newPass
                    
    + "' where username='" + oldName + "'";
            PreparedStatement pstmt;
            
    try {
                pstmt 
    = conn.prepareStatement(sql);

                i 
    = pstmt.executeUpdate();
                System.out.println(
    "resutl: " + i);

                pstmt.close();
                conn.close();
            }
            
    catch (SQLException e) {
                e.printStackTrace();
            }

            
    return i;
        }
        
        
    private static int delete(String username) {
            Connection conn 
    = getConn();
            
    int i = 0;
            String sql 
    = "delete users where username='" + username + "'";
            PreparedStatement pstmt;
            
    try {
                pstmt 
    = conn.prepareStatement(sql);

                i 
    = pstmt.executeUpdate();
                System.out.println(
    "resutl: " + i);

                pstmt.close();
                conn.close();
            }
            
    catch (SQLException e) {
                e.printStackTrace();
            }

            
    return i;
        }

        
    /**
         * 
    @param args
         
    */
        
    public static void main(String[] args) {
            insert(
    "CDE""123");
            insert(
    "CoderDream""456");
            query();
            update(
    "CoderDream""456");
            query();
            delete(
    "CoderDream");
            query();
        }
    }
    posted @ 2008-04-14 17:55 CoderDream 閱讀(7051) | 評論 (0)編輯 收藏
    1、首先下載eclipse的Tomcat插件,文件名為:tomcatPluginV321.zip
    下載:地址

    2、安裝Tomcat插件,即將zip檔解壓,放入eclipse目錄下的 plugins 文件夾中。

    3、在項目上點右鍵,設置properties,在'Tomcat'下面設置'export   to   war   settings'輸入要導出的war文件路徑和文件名,確定,返回項目。


    4、在項目上點右鍵,選擇tomcat   project->Export  to the war file sets in project properties


    5、 進入C盤,可以看到csi.war文件正在生成,成功后會有提示框。這樣就可以通過Tomcat插件導出WAR檔了。
    posted @ 2008-04-08 13:43 CoderDream 閱讀(3737) | 評論 (1)編輯 收藏

    有關CVS權限設置參考

    個人建議:如果各個項目獨立,我還是建議每個項目一個庫!

    你的整體思路是正確的,步驟很清晰。
    不過要注意cvs chacl -R default:n 的使用,此命令會把該模塊的全部權限都去掉的。
    另外建議 如果admini,pm 是管理員用戶,可以在CVSROOT下建立超級用戶admin文件,將這兩個用戶加入。
    =====================================================================
    那就按找你的思想設計權限
    假設目錄結構如下
    project
    |
    |……pro1
    | |_pro
    | |_aa
    |
    |……Pro2
    | |_pro
    | |_bb
    |
    |_CVSROOT

    權限要求
    1.用戶admini,pm 對project 整個目錄有rcw的權限
    2.用戶h,y,w 對pro1\pro 整個目錄有rcw的權限
    3.用戶y 對pro1\aa 整個目錄有rcw的權限
    4.用戶h 對pro2 整個目錄有rcw的權限
    =====================================================================

    權限設置步驟如下:
    首先,建立一個組包含3個用戶h,y,w。 group1:h,y,w
    一.用戶admini,pm 對project 目錄有rcw的權限
    選中模塊roject設置權限:
    cvs chacl -R default:n
    cvs chacl -R admini:rcw
    cvs chacl -R pm:rcw
    cvs lsacl

    二.用戶h,y,w 對pro1\pro目錄有rcw的權限
    選中模塊pro設置權限:
    cvs chacl -R group1:rcw
    cvs lsacl
    三.用戶y 對pro1\aa目錄有rcw的權限
    選中模塊aa設置權限:
    cvs chacl -R y:rcw
    cvs lsacl
    四.用戶h 對pro2目錄有rcw的權限
    選中模塊pro2:
    cvs chacl -R h:rcw
    cvs lsacl
    結束! 

    C應該是check out/in

    R:READ-只讀權限;用戶不能對文件進行修改操作;

    A:ADD/RENAME/DELETE-用戶可以對文件進行添加、刪除和更名的操作;其中刪除的操作支持從視圖中刪除文件連接,并沒有徹底刪除文件,配置庫中依然保存文件及其日志信息;

    C:CHECK IN/CHECK OUT-文件修改權限:用戶可以將文件進行簽出進行修改,并可以將修改后的文件簽入到配置庫中;

    D:DESTROY-徹底刪除權限;




    1、VSS和CVS的比較
    2、CVS使用手冊
    3、一篇CVS權限管理手冊
    4、CVS資料集中營
    5、CVS權限設置
    posted @ 2008-04-07 16:32 CoderDream 閱讀(530) | 評論 (0)編輯 收藏

    <2008年4月>
    303112345
    6789101112
    13141516171819
    20212223242526
    27282930123
    45678910

    常用鏈接

    留言簿(9)

    我參與的團隊

    隨筆分類(245)

    隨筆檔案(239)

    文章分類(3)

    文章檔案(3)

    收藏夾(576)

    友情鏈接

    搜索

    •  

    積分與排名

    • 積分 - 458235
    • 排名 - 114

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 香港经典a毛片免费观看看| 亚洲第一成年网站大全亚洲| 亚洲av永久无码精品秋霞电影影院| 亚洲精品亚洲人成在线观看| 久久亚洲精品无码| 亚洲卡一卡2卡三卡4麻豆| 亚洲精品无码一区二区| 成人一级免费视频| 久久免费动漫品精老司机| 国产桃色在线成免费视频| 免费一级毛片不卡不收费| 亚洲AV中文无码乱人伦下载 | 亚洲精品成人无码中文毛片不卡| 亚洲成av人影院| 亚洲 日韩经典 中文字幕| 国产成人无码免费看片软件| 91人成网站色www免费下载| 天天看片天天爽_免费播放| 亚洲一区日韩高清中文字幕亚洲| 亚洲国产精品无码AAA片| 亚洲天堂男人影院| 一出一进一爽一粗一大视频免费的 | 又黄又大的激情视频在线观看免费视频社区在线 | 国产一区二区三区在线免费| 国产成人综合亚洲AV第一页| 亚洲午夜精品一区二区公牛电影院 | 午夜免费福利在线观看| 中文字幕不卡亚洲| 久久精品国产亚洲AV蜜臀色欲| 日本一区二区三区免费高清在线| 人妻无码一区二区三区免费| 国产成人免费手机在线观看视频| 亚洲大尺度无码专区尤物| 亚洲国产精品精华液| 午夜老司机永久免费看片| 国产精品四虎在线观看免费| 亚洲电影一区二区三区| 美女的胸又黄又www网站免费| 88av免费观看| 亚洲综合色区在线观看| 亚洲午夜一区二区三区|