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

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

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

    隨筆-46  評論-54  文章-0  trackbacks-0
      2007年2月14日
    在 Windows 上離線安裝 Chrome
    https://support.google.com/chrome/answer/126299?hl=zh-Hans
    這里鏈接默認是32位的。
    針對所有用戶安裝版64位完整鏈接為:
    https://www.google.com/chrome/browser/desktop/index.html?system=true&standalone=1&platform=win64

    Chorome快捷方式+SwitchyOmega

    /Files/rox/chrome.7z
    posted @ 2016-05-21 20:52 rox 閱讀(422) | 評論 (0)編輯 收藏
    參加了國內某知名快遞公司的面試,一面就放棄了
    自己公司的一個HR經理也曾經教過要換位思考,現在簡單的介紹一下面試過程中的一些感想。
    1. HR打電話的時候,問周六有沒有空?
    問題:雖然是專場,但這是很多HR應該規避的,應該盡量說明這是公司的安排,這種周六加班不是企業文化。
    建議:曾經遇到過的幾個HR都非常注意這一點,特別說明晚上和周末一般都不加班,雖然說HR多半都是騙子,呵呵!
    2. 回答都有空,便安排在早晨的第二個時間段
    問題:實際上安排了將近50人在早晨面試,可想而知,是面不完的。
          現場有點貌似華為面試,只不過不是在食堂:D
          11點左右HR一面,20分鐘,到了12點鐘,組織方開始發餐票,到隔壁快餐店用餐。
          沒拿餐票,直接回家了。
    建議:組織安排上,還算OK,但稍微比較有經驗和有能力的HR,應該不會做這樣的安排。
          即使是新項目啟動,采取這樣方式海招,風險比較大,應該是一個相對長期的過程,可以把招聘過程安排的相對寬松點。
          在公司,自己也做技術面試,一般都會面半個小時到一個小時左右,連續面了兩個以上,精力和質量就會下降的很厲害。
    3. 一面HR的內容,2分鐘介紹自己,同時看表,增加面試著的壓力。再問了工作和生活上的問題,還有技術問題!
    問題:技術問題,比較有意思。
          HR問,最近一年,業界都有那些新技術,回答了Android和iPhone,猜他是想問云計算(面試前調研過,該公司有一直想進電商行業)。
          然后,HR再問Java方面有啥新技術,特意回答沒啥新的啊。這個后來被自己朋友批,不知道反問他么!
          這時,HR就做出了一個重大的決定,準備開始對我的職位進行降級。問有沒有意向,直接否掉。
          然后就說,各個公司的職位要求不一樣,該公司要求更高點,就結束談話,等待下一輪面試。
          40分鐘后,開始發餐票。自己什么都沒說就走了,這個其實也是特意做的,后面會有解釋。
    建議:面試20多分鐘,都是HR對面試者進行提問和定位,不留給對方了解相關項目的機會,這個很少見。
          另外,很多初級HR只對項目里面說需要技術單詞比較敏感,往往會在面試的時候,就急于問,好進行準確定位。
          但又怕問了以后會讓面試者對后面的技術面試有所準備,技巧啊,技巧啊!
    另外:解釋一下自己沒領餐票直接走人,其實想看一下組織方會有哪些動作。
          1. 發餐票的HR妹妹,啥也沒問,直接放走。一個已經等了將近三個小時面試者,卻不愿意再多等一個小時,沒有任何疑問。這種情況發生在自己公司,會被HR經理罵的。呵呵!
          2. 負責一面的HR,大約在一個小時后的確給電話了,你在哪?自己說回家了,然后HR就說那下次有機會再聯系吧,就掛了。看來他真的很忙。呵呵!
    也參與過自己公司的很多面試,接觸HR比較多,從HR經理那里也學到了不少東西,包括壓力測試(其實,面試者也可以多給HR一些壓力測試)。
    感覺這個非常有意思,比和搞技術的打交道有意思。
    把自己面試時的一些想法和技巧列出來。
    可能還是太片面,而且帶著搞技術的那種“壞味道”。
    只是希望能為大家提供一點點參考。
    posted @ 2013-07-28 11:53 rox 閱讀(216) | 評論 (0)編輯 收藏
    前一家公司經理的思想是,設計好的系統是絕對不會出錯的。需要容錯,絕對是沒設計好。
    這個似乎有道理,但完全不考慮,真正實際環境,是涉及到三方交易結算的的東西啊,真替他捏把汗。

    現在的項目,一堆Oracle、騰訊、華為、證券摸爬滾打出來的技術精英,還包括一個純servlet+jdbc開源項目的作者湊一堆。
    不懂Tomcat下為什么要配置filter轉碼,把這個和虛擬機編碼機制混為一談,最后感慨一句weblogic就沒這問題。
    也有不懂啥是樂觀鎖的。
    面試的時候,對集合類型及操作考的頭頭是道,但項目里,一個都沒用到。
    項目中遇到問題,往往就是解決、解決+解決,不究其原理。
    感覺自己像在做硬件拼裝的富士康。

    牢騷兩句。
    posted @ 2013-07-21 23:19 rox 閱讀(297) | 評論 (0)編輯 收藏
    安裝64位Ubuntu,方法其實解決方案很簡單,不用下載任何的ISO,只要去下載最新的64位包,見下面資源。
    拷貝wubi.exe和下載好的ubuntu-12.04-wubi-amd64.tar.xz都拷貝到C盤根目錄下,然后執行下面命令即可。

    1 wubi.exe --dimagepath=c:\ubuntu-12.04-wubi-amd64.tar.xz

    資源:
    What is ubuntu-11.10-wubi-amd64.tar.xz ? 

    wubi安裝Ubuntu11.**正確方法及無限等待下載amd64.tar.xz解決方法

    http://cdimage.ubuntu.com/wubi/current/amd64.tar.xz

    http://releases.ubuntu.com/12.04/ubuntu-12.04-wubi-amd64.tar.xz
    posted @ 2012-07-12 13:26 rox 閱讀(6541) | 評論 (4)編輯 收藏
     

    參考了這篇the script is not working for any mvc frameworkuri的回復,結合當前Uploadifyv2.1.4版,netbean 6.9.1下編寫調試。

            新建grails工程,名為test,并把Uploadify-v2.1.4.zip解壓到web-app\uploadify目錄下。

            新建grails控制器PictureController,代碼如下

    package com.test

     

    class PictureController {

     

        def index = { redirect(action: "upload") }

     

        def upload = { }

     

        def savePicture = {

           def files = request.getFileMap();

           def path = "c:/test/" + files.get("Filedata").getOriginalFilename();

           files.get("Filedata").transferTo( new File(path))

           render (view:'upload')

        }

    }

            新建grails視圖upload.gsp,代碼如下,注意粗體部分的上下文路徑

    <html>

      <head>

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

        <title>upload file sample</title>

        <link rel="stylesheet" href="/test/uploadify/uploadify.css" type="text/css" />

        <script type="text/javascript" src="/test/uploadify/jquery-1.4.2.min.js"></script>

        <script type="text/javascript" src="/test/uploadify/swfobject.js"></script>

        <script type="text/javascript" src="/test/uploadify/jquery.uploadify.v2.1.4.min.js"></script>

        <script type="text/javascript">

        $(document).ready(function() {

                $("#fileUpload").uploadify({

                    'uploader': '/test/uploadify/uploadify.swf',

                  'cancelImg': '/test/uploadify/cancel.png',

                  'script': '/test/picture/savePicture',

                  'folder': 'files',

                  'multi': true,

                  'buttonText': 'add',

                  'displayData': 'speed',

                  'simUploadLimit': 2

                });

        });

        </script>

      </head>

      <body>

        <hr width=100% size="1" color="" align="center">

            <h2>Multiple File Upload</h2>

            <p>checkScript, buttonText, simulataneous upload limit</p>

            <div id="fileUpload">You have a problem with your javascript</div>

            <a href="javascript:$('#fileUpload').uploadifyUpload()">Start Upload</a> |  <a href="javascript:$('#fileUpload').uploadifyClearQueue()">Clear Queue</a>

    <p></p>

      </body>

    </html>

            運行工程,訪問http://localhost:8080/test/picture/upload

    posted @ 2010-12-06 15:38 rox 閱讀(1082) | 評論 (2)編輯 收藏

    公司安排研究耶魯CAS單點登錄的實現,并研究了一下它的代理協議,看了N多文檔和代碼,才大概明白是怎么回事。
    為了方便有興趣的朋友學習,去掉了HTTPS的加密,源代碼、webapp包和配置文件都有。
    本來打算針對這個寫篇文章,不想寫了。

      

    另:

    • 針對cas-server-2.0.12和cas-client-2.0.11的
    • ppt中部分內容是翻譯+自己理解的,中英文水平均有限,請諒解。

    下載地址:

    posted @ 2010-04-14 17:41 rox 閱讀(607) | 評論 (2)編輯 收藏
    JasperReports數據庫查詢父子報表模板



    • 安裝并打開iReport,并新建一個報表文件(見圖-1)
    [圖-1]

    • 選擇在“c:\test”目錄下建立一個find文件(見圖-2)
    [圖-2]

    • 新建一個datasource,選擇jdbc連接方式,命名為find。使用HSQLDB(File)方式,url為jdbc:hsqldb:c:/test/find.hsql,用戶名為sa,密碼為空,測試一下,成功了,保存即可(見圖-3、圖-4、圖-5
    [圖-3]

    [圖-4]

    [圖-5]

    • 設置報表查詢語句、字段后,組和結束頁面基本跳過(見圖-6、圖-7、圖-8、圖-9
    [圖-6]

    [圖-7]


    [圖-8]


    [圖-9]

    • 其實做到這里,就可以自己制作根據數據庫查詢報表了,要畫圖設置一些參數,說起來麻煩,就干脆打開樣例模板來看看結果吧。
    這里需要說明的是report1.jrxml是主報表、report1_subreport2.jrxml是子報表,主報表查出的每條記錄的結果CLASSNAME作為子報表的查詢條件參數傳遞過去(見圖-10、圖-11、圖-12、圖-13
    [圖-10]

    [圖-11]

    [圖-12]

    [圖-13]


    參考資料:
    • 樣例模板和數據庫
    http://docs.google.com/leaf?id=0B8vmIM2WmTA2OWE5ZGY0OTktMTkyZC00ZTljLTg1YjMtODA5ZWQ3NjA0MjMz&hl=zh_CN

    • Creating JasperReport subreports
    http://publib.boulder.ibm.com/infocenter/rbdhelp/v7r5m0/index.jsp?topic=/com.ibm.egl.pg.doc/topics/pegl_rep_subreport_create_tsk.html

    • 利用復合的javabean構造基于jasperreports的子報表

    本文地址
    posted @ 2010-02-26 16:12 rox 閱讀(625) | 評論 (0)編輯 收藏

    原帖地址:java開發的亂碼問題

     

    第一,存文件必須以一種編碼存;讀文件也必須以一種編碼讀,如不特別設置,去系統默認的編碼,中文windows為GBK編碼。

    從.java->.class過程是,先編寫.java文件并按莫種編碼方式保存,然后用javac方法編譯此文件,注意如.java沒按系統默認編碼保存則要帶encoding參數指明實際編碼,否則出錯,生成的.class文件存為系統默認編碼。

    從.jsp->.java->.class,先存為某種編碼的.jsp文件,然后tomcat根據pageEncoding讀取并轉化為servlet存為系統默認編碼,然后同上面.java->.class過程。

    第二,IDE的encoding為對系統下文件打開的解碼方式或保存的編碼方式。特例:如果.jsp文件有<%@ page language="java" pageEncoding="UTF-8"%>,則eclipse會自動存為UTF-8方式,不管eclipse的encoding是什么,這也是eclipse的聰明之處。

    第三,
    pageEncoding="UTF-8"表示此文件的編碼方式,必須與此文件存儲方式一致(所以eclipse會首選根據它來存文件),tomcat根據這個來讀此.jsp文件并編譯為servlet。
    contentType="text/html;charset=UTF-8"表示當瀏覽器得到此文件時以什么方式解碼。例如:
    <%@ page language="java" pageEncoding="UTF-8"%>
    <%@ page contentType="text/html;charset=iso8859-1"%>
    <html>
     <head>
      <title>test</title>
     </head>
     <body>
      我是個好人
     </body>
    </html>
    會產生亂碼,因為存為UTF-8的文件被解碼為iso8859-1,這樣 如有中文肯定出亂碼。

    至此,頁面應為:
    <%@ page language="java" pageEncoding="UTF-8"%>
    <%@ page contentType="text/html;charset=UTF-8"%>
    <html>
     <head>
      <title>中文問題</title>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     </head>
    </html>

    第四,
    request.setCharacterEncoding("UTF-8")是把提交內容的字符集設為UTF-8
    response.setCharacterEncoding("UTF-8")可以把頁面中的<%@ page contentType="text/html;charset=iso8859-1"%>換為charset=UTF-8,是給告訴瀏覽器我這個文件的編碼方式。

    第五,表單提交:無論何種表單提交都可以在后臺的java文件中通過String des = new String(s.getBytes("iso8859-1"),"UTF-8");來轉換成你想要的UTF-8編碼方式。但如果每處都加詞句太麻煩,故分post和get兩種方式區分提交(tomcat5以后分開處理,之前處理方式一樣,即都可以用request.setCharacterEncoding("UTF-8")方法處理,不過tomcat5以后get提交方法用此語句無效)。
    1,post提交的數據:
    程序加上org.springframework.web.filter.CharacterEncodingFilter過濾器.
    <filter>
    <filter-name>encodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
    <param-name>encoding</param-name>
    <param-value>UTF8</param-value>
    </init-param>
    <init-param>
    <param-name>forceEncoding</param-name>
    <param-value>true</param-value>
    </init-param>
    </filter>

    <filter-mapping>
    <filter-name>encodingFilter</filter-name>
    <url-pattern>*.html</url-pattern>
    </filter-mapping>
    <filter-mapping>
    <filter-name>encodingFilter</filter-name>
    <url-pattern>*.jsp</url-pattern>
    </filter-mapping>

    因為規范要求瀏覽器提交數據都要用utf8編碼,所以這里設置編碼方式為UTF8.

    特別注意:
    a,這個過濾器只是簡單的調用:request.setCharacterEncoding(this.encoding);
    在這個語句之前不能調用任何的request.getParameter()方法,否則會設置tomcat的缺省字符集為"ISO-8859-1",并且使setCharacterEncoding的調用失效.所以在這個過濾器之前的過濾器中不能有對getParameter這類方法的調用,比較安全的做法就是把這個過濾器盡量靠前放.
    b,在server.xml中不能加上<Valve className="org.apache.catalina.valves.RequestDumperValve"/>
    這個value也設置tomcat的缺省字符集為"ISO-8859-1",使setCharacterEncoding的調用失效.可能其他的value也有這個問題,我沒有測試過.
    如果要觀察http請求參數,可以考慮用過濾器或者其他工具,例如ethereal(http://www.ethereal.com/)

    2,get提交的數據:
    兩種情況:
    a,如果從地址欄直接輸入漢字,則一般編碼為"GBK",需要用
    new String(request.getParameter("something").getBytes("ISO-8859-1"),"GBK")
    取出
    b,如果是頁面超連接連接中帶的漢字,則編碼根據頁面編碼的不同而不同,如果頁面的
    content="text/html; charset=utf-8",則在tomcat/conf/server.xml中的配置文件中:
    <!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 -->
    <Connector port="8080"
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" redirectPort="8443" acceptCount="100"
    debug="0" connectionTimeout="20000" useBodyEncodingForURI="true"
    disableUploadTimeout="true" />

    加上:useBodyEncodingForURI="true"即可正常使用getParameter取出正確內容.
    如果content="text/html; charset=GBK",需用
    new String(request.getParameter("something").getBytes("ISO-8859-1"),"GBK")
    取出,其他情況類似.

    總結:
    1,所有頁面使用utf8編碼,
    2,服務器加上過濾器,
    3,server.xml中不要使用
    <Valve className="org.apache.catalina.valves.RequestDumperValve"/>
    4,server.xml文件加上useBodyEncodingForURI="true"
    這樣應該可以搞定大多數前臺的中文問題.至于地址欄輸入中文,不支持也罷,一般的程序很少要求
    從這里輸入.

    第六,連接數據庫

    1、mysql配置文件:
    修改mysql在windowsmy.ini里default-character-set=utf-8

    2、mysql里數據庫和表也都設為utf8_unicode_ci

    3、數據庫連結:jdbc:mysql://localhost/mydb?useUnicode=true&characterEncoding=utf-8
    注意,關鍵就在于此:此句中間是'&'不是'&amp;'這是因為數據庫連結時,在.jsp和.java文件中應該用&號,而XML文件中需要用&amp

    posted @ 2010-01-05 08:43 rox 閱讀(439) | 評論 (0)編輯 收藏

    原帖:http://chenyaqiong81081.blog.163.com/blog/static/44622594200791235256255/

    一、Runtime.getRuntime().exec()執行命令情況:
           Runtime.getRuntime().exec("cmd /c your command")//2000
           Runtime.getRuntime().exec("command /c your command")//98
           Runtime.getRuntime().exec("sh/ your command")//linux

    二、執行.sh文件的情況:
          1、把命令寫成a.sh ;執行命令的時候
               Process child = Runtime.getRuntime().exec("bash a.sh,null,new File("http://usr/local/mysql/bin/"));
               child.waitFor();
               ........
           2、Process child = Runtime.getRuntime().

                                              exec(new String[] {"/bin/sh","-c","mysqldump -u root -p7788919 axtic_cg" },

                                                       null,
                                                       new File("/usr/local/mysql/bin/"));
                child.waitFor();

                注:waitFor()等待操作完成

    posted @ 2009-12-29 17:10 rox 閱讀(2862) | 評論 (0)編輯 收藏
         摘要: Java多層目錄打包和解壓代碼(apache commons compress, io, lang)   package zip;   import java.io.BufferedOutputStream; ...  閱讀全文
    posted @ 2009-11-12 22:53 rox 閱讀(3995) | 評論 (1)編輯 收藏

    Windows XP增強dos命令

    命令:DIR,列文件、目錄

    增加參數:/-C
    參數說明:DIR列文件、目錄時顯示的文件大小,其數值以千為單位進行分隔,使用此參數即“DIR/-C”將取消顯示中的分隔符,以滿足部分人的視覺習慣。

    增加參數:/Q
    參數說明:Windows是多用戶操作系統,使用此參數即“DIR /Q”列文件、目錄時,將顯示出文件、目錄的用戶屬性。

    增加參數:/T:C、/T:A、/T:W
    參數說明:使用此參數即“DIR/T:C”、“DIR/T:A”、“DIR/T:W”分別顯示文件、目錄的創建時間、上次訪問時間和上次修改時間。

    增加參數:/X
    參數說明:使用此參數即“DIR/X”列文件、目錄時,會對長文件名同時顯示“8.3”格式的文件名。

    命令:CD,改變目錄

    增加參數:/D
    參數說明:此參數的作用是快速改變當前目錄,比如當前目錄是C:\Windows,使用命令“CD/D E:\Tools”可快速切換到E:\Tools目錄下。注:只有在Win XP的“運行”文本框中輸入“CMD”得到的DOS窗口中才能使用此參數。

    命令:MD,建立目錄

    功能說明:此命令并未增加參數,但是增強了功能,它可一次建立多級子目錄, 例如使用命令“MD AA\BB\CC\DD”將一次性創建AA、BB、CC、DD四級子目錄。而在老版本的DOS中,若不存在AA子目錄,便無法直接建立AA下的BB等深層子目錄。

    命令:RD,刪除目錄

    增加參數:/S
    參數說明:使用此參數即“RD/S”用于刪除目錄樹,即刪除目錄及目錄下的所有子目錄和文件,相當于以前版本中的DELTREE命令。

    增加參數:/Q
    參數說明:使用上面的/S參數刪除目錄樹時,系統會要求用戶確認是否真的要刪除。若同時使用/Q參數即“RD/S /Q”,在進行刪除操作時將取消確認,相當于DELTREE命令的/Y參數。

    命令:DEL,刪除文件或目錄

    增加參數:/F
    參數說明:使用此參數即“DEL/F”可刪除只讀文件。

    增加參數:/S、/Q
    參數說明:使用此參數即“DEL/S”作用與“RD/S”完全相同,即刪除目錄及目錄下的所有子目錄和文件。同時使用參數/Q,可取消刪除操作時的系統確認。

    增加參數:/A
    參數說明:刪除指定屬性或指定屬性以外的文件,/AR、/AH、/AS、/AA分別表示刪除只讀、隱藏、系統、存檔文件,/A-R、/A-H、/A-S、/A-A表示刪除除只讀、隱藏、系統、存檔以外的文件。例如“DEL/AR *.*”表示刪除當前目錄下所有只讀文件,“DEL/A-S *.*”表示刪除當前目錄下除系統文件以外的所有文件。

    命令:ATTRIB,更改文件或目錄的屬性

    增加參數:/D
    參數說明:在Win XP中我們不能把文件或文件夾設置為系統屬性,只能設為只讀、隱藏或存檔屬性。而帶參數/D使用ATTRIB命令可以對文件的所有屬性進行設定,設定時必須與參數/S同時使用。例如“ATTRIB /S /D +S D:\Study”,作用是將D:\Study文件夾設置為系統文件夾。

    命令:Format,格式化磁盤

    增加參數:/FS:filessystem
    參數說明:按指定文件系統類型(FAT、FAT32、NTFS)格式化磁盤,例如“Format /FS:NTFS”。

    命令:DATE、TIME,顯示系統日期和時間

    增加參數:/T
    參數說明:使用此參數即“DATE/T”、“TIME/T”將只顯示當前日期和時間,而不必輸入新日期和時間

    Win2000/XP應用之奇技酷招

    每個Windows用戶都希望Windows的啟動速度越快越好,不過,如果你想讓Windows啟動速度更快些,還要掌握一些加速Windows啟動的獨門秘技!

    1.不容忽視的磁盤IDE通道

    Windows XP中有一個非常影響啟動速度的設置,那就是磁盤IDE通道。一般來說,Windows XP用戶不需要安裝主板的IDE驅動或補丁程序,ULTRA DMA功能就已經打開了。也正因為如此,絕大多數用戶會讓IDE通道處于自動狀態,但這會導致Windows XP啟動變慢——因為主板可以連接四個IDE設備,但大多數電腦只有兩個IDE設備,即硬盤和光驅。少數人可能有單硬盤、雙光驅(DVD和刻錄機)或雙硬盤、單光驅,即便這樣也只有三個IDE設備,所以一般都有1~2個IDE通道處于空閑狀態。此時,你應該把并不存在的IDE設備設置為“無”,而不是“自動檢測”。

    提示:設置IDE通道的方法是:單擊“開始→控制面板”,雙擊“系統”,切換到“硬件”選項卡,單擊“設備管理器”,再雙擊“IDE ATA/ATAPI控制器”。雙擊下面的“主要IDE通道”或“次要IDE通道”。我們可以看到,“設備0”下面的“設備類型”不可選,表明該IDE通道目前已被使用。“設備1”下面的“設備類型”可選,如果你近期內不再添加新的IDE設備,可以將“設備類型”設置為“無”。

    2.禁用服務和啟用Power User

    Windows 2000/XP的啟動速度要比Windows 9x/Me慢,眾多的服務是重要因素之一,因此普通用戶禁用一些無用的服務,對啟動速度也有很大幫助:

    alerter (用戶不在局域網并且不需要管理警報)

    clipbook (用戶不需要查看遠程剪貼簿的剪貼頁面)

    distributed link tracking client (用戶不使用NTFS分區并且沒有連入局域網)

    distributed transaction coordinator (不需要同時處理多個數據庫或文件系統)

    fax service (不需要發送或接收傳真)

    ftp publishing service(你的電腦不做為FTP服務器使用)

    iis admin service (你的電腦不做為Web服務器使用)

    另外,建議大家創建一個Power User用戶,平時用它來登錄Windows 2000/XP,因為相比管理員身份,它啟動的服務更少同時也更加安全。

    3.及時清理日志文件

    Windows 2000/XP的日志文件比較容易被用戶忽視。其實當我們每次開關機、運行程序、系統報錯時,這些信息都會被記錄下來,保存在日志文件中。但日志文件會隨著時間的增長越來越大,從而影響了系統啟動速度。我們可以自己指定日志文件的大小及處理方式:

    進入“開始→設置→控制面板→管理工具”,雙擊“事件查看器”或是單擊“開始→運行”,輸入“eventvwr.msc”后回車,即可打開“事件查看器”,在右側窗口中可看到應用程序日志、安全日志和系統日志。在任意一種日志上面右擊并選擇“屬性”,就可以在如圖所示的對話框中為日志文件設定最大值,還可以選擇當日志滿了以后的處理方式——一般來說讓它自動覆蓋一段時間以前的舊日志,這樣日志文件就永遠不會超出指定大小。單擊“篩選器”選項卡可以指定需要寫入日志文件的事件類型。


    設置“系統日志”的屬性

    4.借花獻佛加快Windows 2000 啟動

    Windows XP相比Windows 2000在很多方面進行了優化改進,因而啟動速度更快,那么能不能讓Windows 2000也可以享受這樣的好處呢?其實,只要找到Windows XP相應語言版本文件,然后替換Windows 2000的相應文件即可。這兩個文件為NTLDR、NTDETECT.COM,它們都在系統分區的根目錄下。當然,為了防止Windows 2000出錯,建議用戶在替換這兩個文件前備份Windows 2000原有的同名文件。

    5.讓藍色滾動條只滾動一圈

    這是一個適用于Windows XP的秘技。打開“注冊表編輯器”,依次展開[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters]分支,然后雙擊右側窗口中的DWORD值“EnablePrefetcher”,將其值由“3” 改為“1”。退出注冊表編輯器并重啟電腦,你會發現進入Windows XP時藍色滾動條的滾動時間明顯減少了!

    posted @ 2009-09-23 09:26 rox 閱讀(354) | 評論 (0)編輯 收藏

    Java解壓多重zip壓縮包

        -- org.apache.commons.compress.archivers.zip.ZipFile結合ZipArchiveInputStream來實現

    針對前一篇文章Javazip-- ByteArrayOutputStreamorg.apache.commons.compress打包后的zip文件如何解壓的問題。

    部分代碼如下:



            File f = new File("c:/test.zip");

            ZipFile zf = new ZipFile(f, "gbk");

            File folder = new File("c:/test");

            if (!folder.exists()) {

                folder.mkdirs();

            }



            for (Enumeration<ZipArchiveEntry> files = zf.getEntries(); files.hasMoreElements();) {



                ZipArchiveEntry zae = files.nextElement();

                String zipname = zae.getName();

                if (zipname.endsWith(".zip")) {

                    String innerzip = StringUtils.removeEnd(zipname, ".zip");

                    File innerfolder = new File(folder + File.separator + innerzip);

                    if (!innerfolder.exists()) {

                        innerfolder.mkdirs();

                    }

                    ZipArchiveInputStream zais = new ZipArchiveInputStream(zf.getInputStream(zae), "GBK", true);

                    FileOutputStream fos = null;

                    ZipArchiveEntry innerzae = null;

                    while ((innerzae = zais.getNextZipEntry()) != null) {

                        fos = new FileOutputStream(folder + File.separator + innerzip + File.separator + innerzae.getName());

                        IOUtils.copy(zais, fos);

                    }

                    zais.close();

                    fos.flush();

                    fos.close();

                } else {

                    ZipArchiveEntry packinfo = zf.getEntry(zipname);

                    String filename = folder + File.separator + zipname;

                    FileOutputStream fos = new FileOutputStream(filename);

                    InputStream is = zf.getInputStream(packinfo);

                    IOUtils.copy(is, fos);

                    is.close();

                    fos.flush();

                    fos.close();

                }

            }

            zf.close();



    解包后效果如下圖:

     



    參考資料:

    1、《Java打多重zip壓縮包 -- ByteArrayOutputStream結合org.apache.commons.compress來實現》

    http://docs.google.com/View?id=ajfmzbdvh8wz_38ftxv59f6



    2Apache Commons Compress

    http://commons.apache.org/compress/



    3、本文地址

    http://docs.google.com/View?id=ajfmzbdvh8wz_44cbjdbrfn







     

    posted @ 2009-07-28 19:02 rox 閱讀(6664) | 評論 (0)編輯 收藏

    Java打多重zip壓縮

        -- ByteArrayOutputStream結合org.apache.commons.compress來實現



    也就是很多個zip文件,但是打包的時候,部分要先集中到一個zip文件后,再寫入總的zip文件。

    可以采用臨時文件夾的方式來解決,下面也是一種解決方法,部分代碼如下:



            File f1 = new File("C:/boot.ini");

            File f2 = new File("C:/NTDETECT.COM");



            final ByteArrayOutputStream baos = new ByteArrayOutputStream() ;



            //changed @ 20097218:37:41

            //ArchiveOutputStream ostemp = new ArchiveStreamFactory().createArchiveOutputStream("zip", baos);

            ZipArchiveOutputStream ostemp = new ZipArchiveOutputStream(baos);

            ostemp.setEncoding("GBK");



            ostemp.putArchiveEntry(new ZipArchiveEntry(f1.getName()));

            IOUtils.copy(new FileInputStream(f1), ostemp);

            ostemp.closeArchiveEntry();



            ostemp.putArchiveEntry(new ZipArchiveEntry(f2.getName()));

            IOUtils.copy(new FileInputStream(f2), ostemp);

            ostemp.closeArchiveEntry();



            ostemp.finish();

            ostemp.close();





            final OutputStream out = new FileOutputStream("c:/test.zip");

            ArchiveOutputStream os = new ArchiveStreamFactory().createArchiveOutputStream("zip", out);



            os.putArchiveEntry(new ZipArchiveEntry("打包.zip"));

            baos.writeTo(os);

            os.closeArchiveEntry();



            baos.close();



            os.finish();

            os.close();

    [changed @ 20097218:37:41]

    當初查資料時,就知道有個亂碼錯誤,自己從沒發現過,后來發現是因為winrar 3.8已經解決了這個問題。

    但是為了和其他兼容,修改了代碼。



    打包后效果如下圖:

     

    參考資料:

    1Commons Compress

    http://labs.xiaonei.com/apache-mirror/commons/compress/binaries/commons-compress-1.0-bin.tar.gz



    2java.io.ByteArrayOutputStream

    http://java.sun.com/javase/6/docs/api/java/io/ByteArrayOutputStream.html



    3、本文地址

    http://docs.google.com/View?id=ajfmzbdvh8wz_38ftxv59f6

     

    posted @ 2009-07-02 17:04 rox 閱讀(1778) | 評論 (0)編輯 收藏

     

      Apache Solr集成至Tomcat

        原有系統已經開發,框架以SSH為基礎,頁面編碼GBK,數據庫為oracle,容器為tomcat6,需要整合全文檢索,下面只是一個簡單的整合測試。

    1、嵌入Tomcat

    解壓 apache-solr-1.3.0.tgz,拷貝apache-solr-1.3.0\example\example-DIH\solr目錄到Tomcat的安裝目錄后,修改solr目錄中的solr.xml,屏蔽rss部分的配置,內容如下:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <solr sharedLib="lib" persistent="true">
     <cores adminPath="/admin/cores">
      <core default="true" instanceDir="db" name="db"></core>
    <!--
      <core default="false" instanceDir="rss" name="rss"></core>
     -->
     </cores>
    </solr>

    • 刪除Tomcat\solr\rss目錄
    • Tomcat\solr\db\lib目錄下添加必要jarojdbc14.jarslf4j-jdk14-1.5.5.jarslf4j-api-1.5.5.jarsolr-dataimporthandler-1.4-SNAPSHOT.jar
    • 拷貝apache-solr-1.3.0\example\webapps\solr.warTomcat\webapps目錄下。
    • 創建Tomcat\conf\Catalina\localhost\solr.xml,內容如下:

    <Context docBase="${catalina.home}/webapps/solr.war" debug="0" crossContext="true" >
       <Environment name="solr/home" type="java.lang.String" value="${catalina.home}/solr" override="true" />
    </Context>

    • 修改Tomcat\conf\server.xml,添加一個端口為8983Connector,內容如下:

    <Connector port="8983" protocol="HTTP/1.1" 

                   connectionTimeout="20000" 

                   redirectPort="8443" URIEncoding="UTF-8"/>





    2、配置DataImportHandler

    change @ 20097110:19:57

        主要修改Tomcat\solr\db\conf\db-data-config.xmlTomcat\solr\db\conf\schema.xmlTomcat\solr\db\conf\solrconfig.xml,三個配置文件:

    • db-data-config.xml

    <dataConfig>

        <dataSource driver="oracle.jdbc.driver.OracleDriver"

        url="jdbc:oracle:thin:@localhost:1521:orcl"

        user="solr" password="solr" batchSize="50"/>

        <document name="contents" >

            <entity name="content" pk="ID"

            query="select * from CONTENT"

            deltaQuery="select ID from CONTENT where to_char(PUBTIME,'yyyy-mm-dd hh24:mi:ss') > '${dataimporter.last_index_time}'"

            transformer="ClobTransformer">

                <field name="title" column="TITLE" />

                <field column="CONTENT" clob="true"/>

                <field name="pubtime" column="PUBTIME" />

            </entity>

        </document>

    </dataConfig>

    • schema.xml

        types標簽最后,追加fieldtype,名稱為text_cjk,中日韓分詞分析器;

        ......



        <fieldtype name="text_cjk" class="solr.TextField"> 

          <analyzer class="org.apache.lucene.analysis.cjk.CJKAnalyzer"/> 

        </fieldtype>



     </types>



        屏蔽或清除<fields></fields>中的全部代碼,并添加如下內容:

     <fields>

       <field name="id" type="slong" indexed="true" stored="true" required="true" /> 

       <field name="title" type="text_cjk" indexed="true" stored="false"/>

       <field name="content" type="text_cjk" indexed="true" stored="true"/>

       <field name="pubtime" type="date" indexed="true" stored="true"/>

       <field name="searchtext" type="text_cjk" indexed="true" stored="false" multiValued="true"/>

     </fields>



        修改默認唯一索引為先前定義的id

     <uniqueKey>id</uniqueKey>



        修改默認搜索字段為先前定義的searchtext,并將要搜索的titlecontent都拷貝到searchtext中,方便統一檢索:

    ......



     <defaultSearchField>searchtext</defaultSearchField>

    ......



       <copyField source="title" dest="searchtext"/>

       <copyField source="content" dest="searchtext"/>

    ......

     

    add @ 20097110:19:57

    • solrconfig.xml

        修改<dataDir></dataDir>標簽中的檢索數據存放路徑。內容如下:

    <dataDir>${catalina.home}/solr/db/data</dataDir>

     

     



    3、導入和查詢:

    • 完全導入:
      http://localhost:8983/solr/db/dataimport?command=full-import
    • 增量導入:
      http://localhost:8983/solr/db/dataimport?command=delta-import
    • 查詢
      http://localhost:8983/solr
      點擊db,進入一個搜索頁面,填入如下內容:

    pubtime:[2007-11-16T00:00:00Z TO 2008-11-28T00:00:00Z]

    AND

    工作;

    pubtime desc

        點擊搜索,測試。

    4xml解析:

    一個簡單solr查詢結果的輔助搜索類,內容如下:



    import java.net.URL;

    import java.util.ArrayList;

    import java.util.Date;

    import java.util.List;



    import org.dom4j.Document;

    import org.dom4j.Node;

    import org.dom4j.io.SAXReader;

    import org.apache.commons.lang.time.DateUtils;



    public class SolrUtils {

    private List<Node> docs = new ArrayList<Node>();

    private Number numFound = 0;

    private Document doc;

    public List<Node> getDocs() {

    return docs;

    }



    public Number getNumFound() {

    return numFound;

    }

    @SuppressWarnings("unchecked")

    public SolrUtils(String urlString) {

    doc = documentFromURL(urlString);

    if (doc != null ) {

    docs = (List<Node>)doc.selectNodes("/response/result/doc");

    numFound = doc.numberValueOf("/response/result/@numFound");

    }

    }

    public Document documentFromURL(String urlString){

    try {

    SAXReader reader = new SAXReader();

    URL url = new URL(urlString);

           doc = reader.read(url);

           return doc;

    } catch (Exception e) {

    e.printStackTrace();

    }

    return null;

    }



    public static String valueOf(Object obj, String name){

    return valueOf(obj, "str", name);

    }

    public static Date dateValueOf(Object obj, String name){

    String[] parsePatterns = new String[]{

    "yyyy-MM-dd'T'HH:mm:ss'Z'",

    "yyyy-MM-dd'T'HH:mm:ss.S'Z'",

    "yyyy-MM-dd'T'HH:mm:ss.SS'Z'",

    "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'",

    };

    try {

    return DateUtils.parseDate(valueOf(obj, "date", name), parsePatterns);

    } catch (Exception e) {

    e.printStackTrace();

    }

    return null;

    }

    public static String valueOf(Object obj, String type, String name){

    String path = "./" + type + "[@name='" + name + "']";

    if (obj instanceof Node) {

    Node n = (Node)obj;

    return n.valueOf(path);

    }

    return "";

    }

    public static Number numberValueOf(Object obj, String type, String name){

    String path = "./" + type + "[@name='" + name + "']";

    if (obj instanceof Node) {

    Node n = (Node)obj;

    return n.numberValueOf(path);

    }

    return null;

    }

    public static void main(String[] args) throws Exception {

    String url = "http://localhost:8983/solr/db/select/?q=*%3A*&version=2.2&start=0&rows=10&indent=on";

    SolrUtils su = new SolrUtils(url);

    System.out.println(su.getNumFound());

    System.out.println(su.getDocs().size());

    for (Node doc : su.getDocs()) {

    System.out.println(valueOf(doc, "id"));

    System.out.println(valueOf(doc, "title"));

    System.out.println(dateValueOf(doc, "pubtime"));

    }



    }



    }



    參考資料:

    1Apache Solr 的新特性

    http://www.ibm.com/developerworks/cn/java/j-solr-update/



    2Solr開發經驗[]

    http://www.jinsehupan.com/blog/?p=25



    3slf4j-jdk14-1.5.5.jarslf4j-api-1.5.5.jarsolr-dataimporthandler-1.4-SNAPSHOT.jar

    https://svn.apache.org/repos/asf/lucene/solr/trunk/lib/slf4j-jdk14-1.5.5.jar

    https://svn.apache.org/repos/asf/lucene/solr/trunk/lib/slf4j-api-1.5.5.jar

    http://people.apache.org/repo/m2-snapshot-repository/org/apache/solr/solr-dataimporthandler/1.4-SNAPSHOT/solr-dataimporthandler-1.4-SNAPSHOT.jar



    4、本文地址

    http://docs.google.com/View?id=ajfmzbdvh8wz_37f4jv46gb








    posted @ 2009-06-28 01:19 rox 閱讀(3113) | 評論 (0)編輯 收藏

    原帖:http://space.itpub.net/29987/viewspace-51921

    有的時候我們看到多個異常的進程需要被kill掉,如果一個一個的去做的話,覺得實在是太慢,下面這里提供有兩種方法可以實現對有規律的結果做這個kill的動作。
    1.
    ps -ef | grep $1| awk '{print $2}' | xargs kill -9
    2.
    for i in `ps -ef|grep $1|awk '{print $2 }'`
    do 
    kill -9 $i 
    done

    另可以把ps語句再增加些參數如下:

    ps -ef|grep java| grep -v grep| grep $1| awk '{print $2}'

    posted @ 2009-01-07 09:42 rox 閱讀(647) | 評論 (0)編輯 收藏
         摘要: Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtm...  閱讀全文
    posted @ 2008-12-30 00:08 rox 閱讀(20157) | 評論 (2)編輯 收藏

    其實,就是類似原來使用磁盤啟動然后手動安裝Linux。
    一、必須要大于光盤鏡像images目錄中的diskboot.img文件,以rhel5為例,要大于12M,這個應該不難。
    二、下載dd for windows,網址:http://www.chrysocome.net/dd
    三、C:\>dd if=c:\diskboot.img of=\\.\h: bs=1M --size --progress
    四、內網發布一個HTTP目錄,把DVD光盤鏡像中的全部文件放到發布目錄中。
    五、設置U盤啟動,進入Linux安裝界面,F2,然后輸入linux askmethod,配置IP,使用HTTP,訪問內網的安裝目錄即可。

    備注,參考這篇文章
    http://hi.baidu.com/evanlei/blog/item/3c3135103f0244ffc3ce79aa.html
    WinImage寫入到U盤,不能正常啟動。以我的32M為例,使用WinImage寫入后,仍然為32M。
    但使用dd for windows,就只有12M,其他的空間消失了,卻能夠正常啟動,也使用1GB卡+讀卡器成功啟動。

    如果容量是4G或者8G,完全可以使用UltraISO,把整個文件寫入到U盤中啟動直接安裝,不過還沒有測試過。

    posted @ 2008-12-18 16:07 rox 閱讀(691) | 評論 (0)編輯 收藏

    首先拷貝安裝文件到服務器的指定目錄/data/archive/
    mkisofs -o archive.iso -J -r -v -V archive /data/archive/
    移動文件到/data/archive/目錄
    mv ./archive.iso /data/archive/
    開始刻錄
    cdrecord -v -eject speed=16 dev=/dev/cdrom /data/archive/archive.iso
    完畢后,刪除目錄
    rm -rf /data/archive/

    參考資料:
    1、在 Linux 上燒錄 CD - 命令行上的 mkisofs 和 cdrecord 使這一切成為可能
    http://www.ibm.com/developerworks/cn/linux/l-cdburn/index.html

    2、 Linux下刻錄CD-R:cdrecord 和cdparanoia(五)
    http://www.networkdictionary.cn/software/Linux610.php

    posted @ 2008-06-24 11:11 rox 閱讀(500) | 評論 (0)編輯 收藏
         摘要: 1、 1cd /data/ 2tar -xzf mysql-5.0.37-linux-i686.tar.gz 3cd ./mysql-5.0.37-linux-i686 4cat ./INSTALL-BINARY  參考以下說明:     1shell> groupadd...  閱讀全文
    posted @ 2008-06-10 19:33 rox 閱讀(921) | 評論 (1)編輯 收藏
    1、同步系統時間(可以用的)
    1/usr/sbin/ntpdate time.windows.com
    2、查詢80端口被哪些程序占用
    1netstat -antp|grep 80
    3、查看目錄下各自磁盤占用空間
    1du --max-depth=1 -h /appsvr/xjjhr_tomcat-5.5.20/jobhn2/ROOT
    4、tar打包和解壓
    1tar -cvfz ***.tar /sourcefolder
    2tar -xvfz ***.tar -C targetfolder
    5、編輯iptables
    1vi etc/sysconfig/iptables
    6、rpm安裝、卸載、列表和查詢mysql安裝
    1rpm -ivh 
    2rpm -ev --nodeps
    3rpm -ql xxx.rpm
    4rpm -qa|grep -i mysql
    7、查看redhat版本
    1cat /etc/redhat_release
    8、查看cpu速度
    1cat /proc/cpuinfo
    9、刪除/data/projects/myproject/目錄(及其子目錄下)的所有.svn目錄
    1find /data/projects/myproject/ -name .svn |xargs rm -rf
    10、修改網卡IP,并重啟
    1vi /etc/sysconfig/network-scripts/ifcfg-eth0
    2service network restart
    11、查看tomcat日志文件的最后200行
    1tail -200 /apache_tomcat-5.5.20/logs/catalina.out
    12、修改當前默認語言
    1export LANG=en_US
    2export LC_ALL=en_US
    3修改系統的:
    4cat ~/.bash_profile
    13、安裝和卸載U盤
    1fdisk -l
    2mount /dev/sdc1 /mnt
    3umount /mnt
    4umount -/mnt (等空閑后卸載)
    14、修改系統啟動參數
    1 vi ~/.bash_profile
    2 vi /etc/rc.local
    3 vi /etc/profile
    4 修改后即時生效
    5 . ~/.bash_profile
    6 . /etc/rc.local
    7 . /etc/profile

    15、查看8100端口的訪問統計

    1 netstat -na |grep 8100 |wc -l
    2 netstat -tunlap|grep 80
    16、修改系統時間
    1 date -s "11/20/2003 12:48:00"
    2 date +%Y%m%d%T -s "20081225 10:05:00"

    17、查看系統IO瓶頸
    1 sudo iotop -Pm / 

    posted @ 2008-06-04 11:27 rox 閱讀(391) | 評論 (1)編輯 收藏

    同事在公司論壇里面發的,其實是我接手的一個項目中存在這個問題。
    在使用Hibernate分頁器時,習慣使用直接把查詢語句、頁數、分頁大小,傳給分頁器,這樣會默認使用last來獲取總記錄數,效率非常的低。
    解決方法,很簡單,就是用SQL來count查詢條件獲得總記錄的Query,再給Hibernate分頁器(本身就寫好了的)。
    這樣就必須多寫幾行代碼,就是因為自己懶,覺著效果都一樣,就簡單的寫了。
    數據量大了以后,就很明顯的速度慢下來了。又全部重頭改過,很是郁悶。
    轉載此文,以示提醒!
    即使懶得研究Hibernate底層,也要注意它的效率問題。

     

     

    我看到一些資料這樣說,oracle的jdbc驅動是不支持服務器端的游標的,當你調用resultSet.last()時,jdbc驅動程序會把整個結果集的數據讀到內存,然后在內存中進行結果集的遍歷。

    如果在做分頁的時候,用這樣的方式獲取結果的總記錄數:
      rs.last();
      int rowcount = rs.getRow();
    在結果集很大的時候,這個性能是相當低下的,并且會用掉很多的內存。

    這個問題是昨天在檢查人才網的代碼時發現的,隨著數據增加,原來被掩蓋的問題才開始暴露出來。我們用jprofiler對程序進行剖析的情況也間接的證明了上面的說法:1) 連續幾次刷新工作列表后,虛擬機的內存被占滿了,運行垃圾回收后內存又被釋放出來。2) 從頁面請求到完成響應,resultSet.last()方法的調用占去了cpu的絕大部分時間。

    因為上面提到的分頁方法是一種常用的方法,我建議大家考慮一下自己的代碼是否存在這樣的問題,這對辦公系統的穩定運行可能是很重要的。


    參考:
    http://www.oracle.com/technology/global/cn/sample_code/tech/java/codesnippet/jdbc/rs/CountResult.html
    提到了:
    如果 ResultSet 非常大,則 resultset.last() 有可能是非常費時的操作,因為它將使用服務器端的更多資源。因此,除非確實需要可滾動結果集,應避免使用這種方法。

    http://forum.springframework.org/showthread.php?t=50044&page=2
    提到了:
    Anyway, if it's a normal behaviour of the oracle driver to keep data in memory when using SCROLLABLE resultset

    http://xiongbo.javaeye.com/blog/38481
    對幾種游標類型做了介紹,并給出了建議

    posted @ 2008-05-28 11:26 rox 閱讀(4187) | 評論 (4)編輯 收藏
         摘要: 1、float.js  1    var delta=0.35;  2    var collection;  3    var closeB=false;  4   &n...  閱讀全文
    posted @ 2008-05-28 11:01 rox 閱讀(702) | 評論 (0)編輯 收藏
         摘要: Illegal class inheritance loop. 使用JAXB 2.0以上版本,使用schema文件綁定Java對象,并配置了外部配置文件binding.xjb后,出現這個錯誤。 現已解決,如下: 1、schema文件po.xsd:  1<?xml version="1.0" encoding="utf-8"?>  2...  閱讀全文
    posted @ 2008-05-02 16:57 rox 閱讀(2592) | 評論 (0)編輯 收藏

    這兩句SQL區別是有沒有括號,但卻是一個可以查出來,一個幾乎查不出來。
    一個簡單的問題,居然還犯低級錯誤,留下來提醒自己。

     

    1select uj.* from union_job uj , union_company uc where (uj.name like '%職員%' or uj.info like '%職員%'and uj.company_id=uc.id and uc.area= '廣東' order by uj.uptime desc

    1select uj.* from union_job uj , union_company uc where uj.name like '%職員%' or uj.info like '%職員%' and uj.company_id=uc.id and uc.area= '廣東' order by uj.uptime desc
    posted @ 2008-04-23 17:33 rox 閱讀(165) | 評論 (0)編輯 收藏

    1、修改啟動文件:
    vi /etc/rc.d/rc.local

    2、編輯并追加tomcat的啟動:
    #!/bin/sh
    echo "start tomcat">/var/log/tomcatmessages
    rm -rf /appserver/gooweb-tomcat-5.5.20/work/
    /appserver/gooweb-tomcat-5.5.20/bin/catalina.sh start

    注意:JAVA_HOME等環境變量還不會被加載的,這里是使用setenv.sh來加載的。

    3、修改計劃任務列表:
    crontab -e

    4、添加重啟任務:
    SHELL=/bin/bash
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    MAILTO=root
    HOME=/
    # run-parts
    01 0 * * 0 reboot

    定義為每周0點01分重啟系統。

    5、重啟計劃任務的服務:
    service crond restart

    6、查看日志
    tail -100 /var/log/cron


    另外要非常注意這里所有修改的文件都一定要 chmod +x
    不然要吃大虧。呵呵!

    posted @ 2007-12-27 16:42 rox 閱讀(1499) | 評論 (3)編輯 收藏
    浮動廣告代碼很多了,不介紹了。
    但是對于flash或者下拉框,是容易被遮擋的。

    1、flash的解決:
    ??? <!--1.設置FLASH為底層-->
    ??? <div style="z-index:-1">
    ??? <!--2.必須把FLASH設置為透明-->
    ??? <param name="wmode" value="transparent">

    2、下拉框的解決:
    ??? 因為下拉框的index是最高的,怎么調整都沒有用。
    ??? 所以,浮動層里面要增加一個iframe,里面再src近來一個新頁面,這個頁面就是廣告頁面。
    ???
    ?1?<!--?浮云?-->
    ?2?<div?id="fuyun"?style="Z-INDEX:?99999999999;?LEFT:?4px;?WIDTH:?100px;?POSITION:?absolute;?TOP:?372px;?HEIGHT:?100px">?
    ?3?<p?align="center">
    ?4?<iframe?height="80"?width="80"?frameborder="0"?scrolling="no"?hspace="0"?vspace="0"?style="padding:0;?margin:0"?src="ad_kfc/fy_kfc.html">
    ?5?</iframe>
    ?6?</p>
    ?7?</div>
    ?8?<script?language="JavaScript"?src="js/fy.js"></script>
    ?9?<SCRIPT?LANGUAGE="JavaScript">
    10?<!--
    11?????start();
    12?//-->
    13?</SCRIPT>

    其中這個src頁面代碼如下:
    1?<html>
    2?<head>
    3?<title>?fy?kfc?</title>
    4?</head>
    5?<body?style="padding:0;?margin:0">
    6?<a?href="/public/enterprise.do?id=29838"?target="_blank"><img?src="kfc.gif"?width="80"?height="80"?border=0></a>
    7?</body>
    8?</html>
    9?

    還是把浮動窗口的js代碼貼上來,原來網上找的代碼,參數名字過于簡單,怕多個js一起調用時會重名。自己改了一下的

    ?1?var?fuyun?=?document.getElementById("fuyun");
    ?2?var?fy_xPos?=?20;
    ?3?var?fy_yPos?=?document.body.clientHeight;
    ?4?var?fy_step?=?1;
    ?5?var?fy_delay?=?30;?
    ?6?var?fy_height?=?0;
    ?7?var?fy_Hoffset?=?0;
    ?8?var?fy_Woffset?=?0;
    ?9?var?fy_yon?=?0;
    10?var?fy_xon?=?0;
    11?var?fy_pause?=?true;
    12?var?interval;
    13?fuyun.style.top?=?fy_yPos;
    14?function?changePos()?{
    15?fy_width?=?document.body.clientWidth;
    16?fy_height?=?document.body.clientHeight;
    17?fy_Hoffset?=?fuyun.offsetHeight;
    18?fy_Woffset?=?fuyun.offsetWidth;
    19?fuyun.style.left?=?fy_xPos?+?document.body.scrollLeft;
    20?fuyun.style.top?=?fy_yPos?+?document.body.scrollTop;
    21?if?(fy_yon)?{
    22?fy_yPos?=?fy_yPos?+?fy_step;
    23?}
    24?else?{
    25?fy_yPos?=?fy_yPos?-?fy_step;
    26?}
    27?if?(fy_yPos?<?0)?{
    28?fy_yon?=?1;
    29?fy_yPos?=?0;
    30?}
    31?if?(fy_yPos?>=?(fy_height?-?fy_Hoffset))?{
    32?fy_yon?=?0;
    33?fy_yPos?=?(fy_height?-?fy_Hoffset);
    34?}
    35?if?(fy_xon)?{
    36?fy_xPos?=?fy_xPos?+?fy_step;
    37?}
    38?else?{
    39?fy_xPos?=?fy_xPos?-?fy_step;
    40?}
    41?if?(fy_xPos?<?0)?{
    42?fy_xon?=?1;
    43?fy_xPos?=?0;
    44?}
    45?if?(fy_xPos?>=?(fy_width?-?fy_Woffset))?{
    46?fy_xon?=?0;
    47?fy_xPos?=?(fy_width?-?fy_Woffset);
    48?}
    49?}
    50?function?start()?{
    51?fuyun.visibility?=?"visible";
    52?interval?=?setInterval('changePos()',?fy_delay);
    53?
    54?}
    55?function?fy_pause_resume()?{
    56?if(fy_pause)?{
    57?clearInterval(interval);
    58?fy_pause?=?false;
    59?}
    60?else?{
    61?interval?=?setInterval('changePos()',fy_delay);
    62?fy_pause?=?true;
    63?}
    64?}


    不提倡使用浮動廣告,現在多半都是懸浮廣告了。只是客戶指定要,而且還要不被遮擋,在多人的幫助下,終于解決了這個問題。

    大家可以到 http://www.jobhn.cn 網站上看看實際的效果。
    posted @ 2007-02-14 09:55 rox 閱讀(555) | 評論 (2)編輯 收藏
    主站蜘蛛池模板: 大香人蕉免费视频75| 女人18毛片特级一级免费视频 | 亚洲一区二区中文| 亚洲欧美日韩一区二区三区| 好猛好深好爽好硬免费视频| 桃子视频在线观看高清免费完整| 免费吃奶摸下激烈视频| 麻豆亚洲av熟女国产一区二| 黄色毛片免费观看| 67194国产精品免费观看| 亚洲第一成人影院| 亚洲激情校园春色| 一区二区3区免费视频| 国产精品免费观看| 日韩精品亚洲aⅴ在线影院| 国产成人亚洲综合网站不卡| 日本在线免费观看| 日韩亚洲国产二区| 亚洲国产模特在线播放| 中文字幕免费在线视频| 免费观看的毛片手机视频| 亚洲AV永久无码区成人网站| 色婷婷亚洲一区二区三区| 1000部啪啪未满十八勿入免费| 国产成人亚洲综合无码| 亚洲午夜精品久久久久久app| 免费无码av片在线观看| 又粗又硬免费毛片| 亚洲最大的黄色网| 久久精品乱子伦免费| 久久亚洲国产成人影院网站| 亚洲精品无码久久久久YW| 亚洲最大免费视频网| 亚洲VA中文字幕无码一二三区 | 美女尿口扒开图片免费 | 亚洲国产午夜福利在线播放| 亚洲欧洲AV无码专区| 五月婷婷在线免费观看| 亚洲a一级免费视频| 香蕉免费一级视频在线观看| 国产jizzjizz免费视频|