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

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

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

    ice world

    There is nothing too difficult if you put your heart into it.
    posts - 104, comments - 103, trackbacks - 0, articles - 0

    以前都是用SSH框架,spring借助的是Tomcat的dbcp數據源,最近做網站也沒用什么框架,直接Sservlet+JSP,依舊用的 Tomcat的dbcp做數據源,經常發現網絡不好時連接就獲取不到了,那是因為池子中的連接都已經無效了,Tomcat數據源的自動重連貌似配置較為復雜,很多人建議用proxool做數據源,下面是proxool的配置方法:

    1.下載proxool,自己到網站http://proxool.sourceforge.net/download.html隨便下載一個版本,解壓后進入目錄lib,會得到兩個jar文件,分別為proxool-0.9.1.jar(版本不同可能名稱有所不同)和proxool-cglib.jar,將這兩個jar文件拷貝到項目的WEB-INF/lib下

    2.配置web.xml,需要配置proxool的Servlet,如下:

    <servlet>
        
    <servlet-name>proxoolServletConfigurator</servlet-name>
        
    <servlet-class>org.logicalcobwebs.proxool.configuration.ServletConfigurator
        
    </servlet-class>
        
    <init-param>
            
    <param-name>xmlFile</param-name>
            
    <param-value>WEB-INF/proxool.xml</param-value>
        
    </init-param>
        
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet>
        
    <servlet-name>proxooladmin</servlet-name>
        
    <servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet
        
    </servlet-class>
    </servlet>
    <servlet-mapping>
        
    <servlet-name>proxooladmin</servlet-name>
        
    <url-pattern>/proxooladmin</url-pattern>
    </servlet-mapping>


    3.創建proxool.xml文件,將此文件放在與web.xml同級目錄下,即WEB-INF下

    <?xml version="1.0" encoding="UTF-8"?>
    <something-else-entirely>
        
    <proxool>
            
    <alias>testDB</alias>
            
    <driver-url>jdbc:oracle:thin:@192.168.1.229:1521:orcl</driver-url>
            
    <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
            
    <driver-properties>
                
    <property name="user" value="test_user" />
                
    <property name="password" value="password" />
            
    </driver-properties>
            
    <maximum-connection-count>10</maximum-connection-count>
            
    <minimum-connection-count>5</minimum-connection-count>
            
    <prototype-count>5</prototype-count>
            
    <test-before-use>true</test-before-use>
            
    <house-keeping-sleep-time>180000</house-keeping-sleep-time>
            
    <house-keeping-test-sql>select CURRENT_DATE from dual</house-keeping-test-sql>
        
    </proxool>
    </something-else-entirely>

    上面的<test-before-use>true</test-before-use>據說是用來自動重連的,也就是在網絡錯誤或數據庫重啟等等原因導致與數據庫斷開,每次獲取連接前都會檢查,如果現在池子中的連接已經無效將會重新創建


    4.在java中獲取數據庫連接的代碼

    Connection con = DriverManager.getConnection("proxool.testDB");


    posted @ 2011-04-16 14:11 IceWee 閱讀(391) | 評論 (0)編輯 收藏

    這些日子一直在使用visio畫軟件界面,今個是禮拜一,早早來到公司就開始畫,當選中某個元素/對象后,按“方向鍵”進行微調時竟然不管用,伴隨的是滾動條來回滾動,上網一查,原來是不小心按到了“scroll num lock”鍵,再按一次,果然正常了。

    posted @ 2011-04-16 14:05 IceWee 閱讀(2658) | 評論 (1)編輯 收藏

    今天遇到了一個很頭疼的問題,整整找了一個下午解決方案,原本就是一個table里有兩行,可第一行的內容就是和底邊有很大的空間,因為用到了表格控件,內容都是動態生成的,最后查看源代碼,是控件自動增加了一個form標簽,問題就出現在這個form標簽上。

    其實我有遇到過form會占空間的情況,但一直沒解決方案,今天終于找到了兩種:

    第一種,通過HTML寫死的方式,不要將form標簽方到<tr><td>的里面或者外面,應該這樣<tr><form><td>

    第二種,通過CSS的方式,在form標簽里增加樣式:<form style="margin: 0; padding: 0;">

    我是用第二種方式解決的,比較靠譜一些

    posted @ 2011-04-16 14:03 IceWee 閱讀(253) | 評論 (0)編輯 收藏

    安裝Adobe Reader的時候拋出了這個提示,導致安裝失敗!

    首先,我是在虛擬機上安裝AR,虛擬機上只有一個磁盤C,安裝的番茄花園SP3系統。

    解決方法:

    開始-運行,輸入regedit后回車,進入注冊表編輯器

    編輯-查找,輸入“D:\”,會發現有很多鍵值是指向D盤的,而當前系統只有C盤,自然找不到,將所有的D修改成C后就可以了。

    posted @ 2011-04-16 14:02 IceWee 閱讀(217) | 評論 (0)編輯 收藏

    最近項目中需要用到jfreechart,以前只是簡單的玩玩而已,一直沒有真正的應用到實際項目中,今天在畫圖的時候可把自己折磨慘了,就一個小小的tooltip死活不出來。


    我用的Spring + Struts,有很多人用jfreechart都是寫的Servlet,其實用Struts是一樣的。

    我起初在Struts的Action中使用org.jfree.chart.ChartUtilities。writeChartAsPNG(java.io.OutputStream out, JFreeChart chart, int width, int height) 方法,將生成的JFreeChart對象寫到輸出流中,return自然是null,這樣做界面可以顯示Action寫過來的圖片,但是沒有 tooltip的出現。后來我發現很多人都不是直接把圖片寫到流中的,而是在JSP頁面通過<img>標簽來顯示圖片的。于是我也使用了主流方式顯示圖片,使用chartName = ServletUtilities.saveChartAsPNG(chart, width, height, info, session);將圖片文件名設置請求屬性發給JSP頁面,頁面通過圖片標簽顯示圖片,結果圖片依舊顯示正常,但是tooltip還是沒有出來,由于剛剛用這東西,一點都不了解,于是開以往項目中是如何寫的,我發現別人的代碼中有這樣一行:ChartUtilities.writeImageMap(pw, chartName, info, false);這是將圖片地圖寫到流中,而且頁面的圖片標簽中也多了個usermap屬性,我仿佛有點清醒了,于是效仿著做了一下,tooltip果真出現了。

    JSP代碼:

    <%    
            JFreeChart chart 
    = (JFreeChart)request.getAttribute("chart");    
            
    String chartName = Common.generateChart(chart, session, new PrintWriter(out), 760410);
    %>


    Common的generateChart方法就是放回圖片的文件名,并且將圖片地圖寫入到當前的流中。

    Java代碼:

    public static String generateChart(JFreeChart chart, HttpSession session,
                PrintWriter pw, 
    int width, int height) {
            String chartName 
    = "";
            
    try {
                ChartRenderingInfo info 
    = new ChartRenderingInfo(
                        
    new StandardEntityCollection());
                chartName 
    = ServletUtilities.saveChartAsPNG(chart, width, height,
                        info, session);
                
    /** 將圖片地圖寫入PW中 */
                ChartUtilities.writeImageMap(pw, chartName, info, 
    false);
                pw.flush();
            }
     catch (Exception e) {
                e.printStackTrace();
            }

            
    return chartName;
        }


    起初我并沒有使用Common這個方法,而是直接將這個方法中的代碼寫在了Struts的Action中,發現無效,而且在pw.flush()一行出現了異常,流這里太爛!哎!提示刷新后就不能再return了。于是去掉這行后圖片正常顯示,但沒有tooltip。我懷疑是Struts中用 response獲取的PrintWriter并不是返回到JSP中用out封裝的PrintWriter,根本就不是,還懷疑什么,這不是廢話嘛!所以在當前流中并沒有圖片地圖,自然不顯示tooltip了。

    顯示圖片的IMG標簽

    <img src="<%=request.getContextPath()%>/<%=chartName%>" height="100%" border=0 usemap="#<%=chartName%>" >



    posted @ 2011-04-16 13:59 IceWee 閱讀(932) | 評論 (0)編輯 收藏

    最近項目中使用了window.open()函數打開新窗口,并且在新的窗口中進行一系列操作,當然要涉及到表單的提交與返回,頁面跟隨刷新,我的機器上測試通過,我用IE7。但是發布到服務器上發現,彈出的窗口中頁面不刷新,也就是表單沒有提交,不!表單已經提交了,而是頁面沒有返回,頁面只是閃了一下,頁面還是那個頁面。這肯定又是IE版本導致的問題。看似沒什么代碼與IE版本關系那么大啊?!最后發現,以前程序里連接觸發JS函數 href里寫的都是“#”,而我寫的則是“javascript:void(0)”,會不會是這里的問題呢!于是我將“#”替換了 “javascript:void(0)”,OK!萬事大吉!果然是這個小東西在搗鬼!

    IE6:<a href="#" onclick="func()">xxx</a>

    IE7:<a href="#" onclick="func()">xxx</a> 或者 <a href="javascript:void(0)" onclick="func()">xxx</a>

    posted @ 2011-04-16 13:50 IceWee 閱讀(332) | 評論 (0)編輯 收藏

         摘要: 仿照騰訊的Token寫的驗證碼生成程序Java類代碼: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->package icewee.image;import java.awt.BasicStroke;import ja...  閱讀全文

    posted @ 2011-04-16 13:49 IceWee 閱讀(315) | 評論 (0)編輯 收藏

    今天下午公司內部搞了一個小調查,每名員工都要將自己填好的文檔上傳,其中就遇到了這個方框打勾的問題,需要在復選中打勾以表示自己的選擇,這下可給廣大同志們出了個小題兒,列出方案:

    完美指數:★★★★★

    方案3,使用word的高級功能域,一般人沒用過吧!

    域代碼:eq \o\ac(□,√),使用方法:工具欄-插入-域,將代碼拷貝到“{}”中后按一下F9就可以看到效果了。

    完美指數:★★★☆☆

    方案2,用畫圖軟件將兩個符號疊加,美中不足的是變成了圖片而不再是符號。

    完美指數:★★☆☆☆

    方案1,先添加符號“√”,選中對號后點擊word工具欄上的字符邊框,就是那個A

    posted @ 2011-04-16 13:40 IceWee 閱讀(4738) | 評論 (0)編輯 收藏

    最近有個小項目中自己負責word報表的生成,開發語言是C#,我是做JAVA的,臨時用一下而已。發現微軟的在線MSDN是個好東西,很強大,基本需要的東西都在里面可以找到,比如word的創建、打開、關閉等等一系列的操作DEMO代碼。

    我主要是將現有的模板填入數據保存文檔即可。主題是TABLE填值,檢索TABLE主要是通過下標,如:

    WordDoc.Tables[6]

    其中WordDoc的類型是Word.Document,就是當前操作的word文檔,上面的代碼是獲取當前文檔中的第六個表格,這里要注意一下, 我們慣性會認為是第七個表格,但這就是微軟的不同,沒有采用數組索引的方式,如果當初數組也這么設計,下標從1開始,我們學習的時候不知道省多少事。

    開發過程中遇到了一個小難題就是合并單元格(縱向),沒有設計橫向的合并,現將合并的代碼貼出來備用:

    /// <summary>
    /// 縱向單元格合并 
    /// 說明:如合并了第一行第一列和第二行第一列兩個單元格,則單元格cell(2, 1)已經不存在,繼續操作會有異常, 
    /// 只有通過cell(1, 1)來獲取合并后的單元格 
    /// /<summary>
    /// <param name="table"></param>
    /// <param name="startRowIndex"></param>
    /// <param name="columnIndex"></param>

    private static void verticalCellMerge(Word.Table table, int startRowIndex, int columnIndex)
    {    
        
    string previousText = table.Cell(startRowIndex++, columnIndex).Range.Text;    // 保存對比文字    
        int previousRowIndex = startRowIndex - 1;    // 因剛已經+1了,所以再減回去    
        for (int i = startRowIndex; i <= table.Rows.Count; ++i) // 遍歷所有行的columnIndex列,發現相同的合并,從起始行的下一行開始對比    
        {        
            
    string currentText = table.Cell(i, columnIndex).Range.Text;        
            
    if (previousText.Equals(currentText))        
            
    {            
                table.Cell(previousRowIndex, columnIndex).Merge(table.Cell(i, columnIndex)); 
    // 合并先前單元格和當前單元格            
                table.Cell(previousRowIndex, columnIndex).Range.Text = currentText;    // 因為合并后并沒有將單元格內容去除,需要手動修改            
                table.Cell(previousRowIndex, columnIndex).Select();            
                WordApp.Selection.ParagraphFormat.Alignment 
    = WdParagraphAlignment.wdAlignParagraphCenter;    // 水平居中顯示            
                table.Cell(previousRowIndex, columnIndex).VerticalAlignment = Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter; // 垂直居中        
            }
            
            
    else        
            
    {            
                previousText 
    = currentText; // 將對比文字替換為當前的內容            
                previousRowIndex = i;   // 檢索到不同的內容,將當前行下標置為先前行下標,用于合并        
            }
        
        }

    }


    /// <summary>
    /// 橫向單元格合并
    /// 注意:在合并單元格后必須將縱列數減去1
    /// 如第一行第一列和第一行第二列合并后,原第一行第三列將變成第一行第二列,這就是在合并后i不加1的原因
    /// </summary>
    /// <param name="WordApp"></param>
    /// <param name="table"></param>
    /// <param name="startColumnIndex"></param>
    /// <param name="rowIndex"></param>

    private static void horizontalCellMerge(Word.Application WordApp, Word.Table table, int startColumnIndex, int rowIndex)
    {    
        
    string previousText = table.Cell(rowIndex, startColumnIndex).Range.Text;    // 保存對比文字    
        int previousColumnIndex = startColumnIndex++;    // 保存先前對比列下標    
        int colCount = table.Columns.Count;    
        
    for (int i = startColumnIndex; i <= colCount;) // 遍歷所有行的columnIndex列,發現相同的合并,從起始行的下一行開始對比    
        {        
            
    string currentText = table.Cell(rowIndex, i).Range.Text;        
            
    if (previousText.Equals(currentText))        
            
    {            
                table.Cell(rowIndex, previousColumnIndex).Merge(table.Cell(rowIndex, i)); 
    // 合并先前單元格和當前單元格            
                table.Cell(rowIndex, previousColumnIndex).Range.Text = currentText;    // 因為合并后并沒有將單元格內容去除,需要手動修改            
                table.Cell(rowIndex, previousColumnIndex).Select();            
                WordApp.Selection.ParagraphFormat.Alignment 
    = WdParagraphAlignment.wdAlignParagraphCenter;    // 水平居中顯示            
                table.Cell(rowIndex, previousColumnIndex).VerticalAlignment = Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter; // 垂直居中            
                --colCount;        
            }
            
            
    else        
            
    {            
                previousText 
    = currentText; // 將對比文字替換為當前的內容            
                previousColumnIndex = i++;   // 檢索到不同的內容,將當前行下標置為先前行下標,用于合并        
            }
        
        }

    }

    方法注釋已經很詳細就不再贅述。

    最后遇到的問題是無格式的段落檢索,因為在生成報告的時候需要在某些段落后填寫測試的結論,這下又把我難住了,最終終于發現了bookmark這個東東,起始我對word并不熟悉,都不知道它有書簽的功能。順便就愛你個檢索書簽的方法貼出來:

    /// <summary>
    /// 在整個文檔中根據書簽名檢索書簽對象
    /// </summary>
    /// <param name="name"></param>

    private static Word.Bookmark getBookmarkByName(string name)  
    {      
        
    foreach (Word.Bookmark bm in WordDoc.Bookmarks)      
        
    {          
            
    if (bm.Name.Equals(name))              
                
    return bm;          
            }
              
            
    return null;      
        }
      


    例:

    Word.Bookmark bm = getBookmarkByName(bookmarkName);  
    bm.Range.Text 
    = "你好"// 將檢索到書簽的內容替換為“你好”

    這就是這次用C#做word報表的全部問題,貌似都是小問題。

    最后需要看具體的word操作demo代碼請訪問MSDN,貼個網址:

    http://msdn.microsoft.com/zh-cn/library/78whx7s6(VS.80).aspx

    posted @ 2011-04-16 13:38 IceWee 閱讀(1183) | 評論 (0)編輯 收藏

    今天無聊,想起了《大鵬嘚吧嘚》,于是用我的藍牙耳機連上筆記本,戴上耳機后發現沒有聲音,但是看本地磁盤的視頻或聽歌都有聲音的,難道我的藍牙耳機不支持在線視頻?于是摘掉藍牙,用外放,竟然也沒有聲音!!!暈了!!!百度之。。。得果:

    開始->運行->鍵入 regedit 找到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32 新建一個字符串值,名為"wavemapper" 值為:“msacm32.drv“.

    posted @ 2011-04-16 13:30 IceWee 閱讀(258) | 評論 (0)編輯 收藏

    僅列出標題
    共11頁: First 上一頁 3 4 5 6 7 8 9 10 11 下一頁 
    主站蜘蛛池模板: MM1313亚洲国产精品| 亚洲国产精品成人午夜在线观看 | 久久综合AV免费观看| 老子影院午夜伦不卡亚洲| 亚洲色精品aⅴ一区区三区| 美女视频黄是免费的网址| 搜日本一区二区三区免费高清视频| 亚洲AV永久无码精品| 午夜免费福利在线| 免费中文字幕一级毛片| 一级毛片免费毛片一级毛片免费| 亚洲精品亚洲人成人网| 最近最好的中文字幕2019免费| fc2成年免费共享视频网站| 亚洲国产日韩女人aaaaaa毛片在线| 国产亚洲精品免费| 16女性下面无遮挡免费| 免费看一级毛片在线观看精品视频| 亚洲视频免费播放| 黄色网址免费观看| 一区二区三区免费视频观看| 亚洲成人福利在线观看| 奇米影视亚洲春色| 日韩毛片免费在线观看| 亚洲精品视频免费在线观看| 一级做性色a爰片久久毛片免费| 亚洲免费在线视频播放| 亚洲人成无码网站| 免费日韩在线视频| 国产精品久久久久免费a∨| 久久国产乱子精品免费女| 另类小说亚洲色图| 亚洲日产乱码一二三区别| 免费在线观看的黄色网址| 国产99视频精品免费观看7| 国产精品免费无遮挡无码永久视频| 美女视频黄频a免费观看| 亚洲AV无码精品蜜桃| 97se亚洲综合在线| 久久久久亚洲精品成人网小说| 亚洲乱码日产精品a级毛片久久|