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

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

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

    posts - 122,  comments - 25,  trackbacks - 0
    1、SSH
    遠程登錄遠程服務器:ssh root@192.168.1.100,按提示輸入密碼,即可登錄遠程服務器進行操作。

    2、SCP
    scp 就是 secure copy, 是用來進行遠程文件拷貝。數據傳輸使用ssh1,并且和ssh1使用相同的認證方式提供相同的安全保證rcp不同的是,scp會要求你輸入密碼。命令格式如下:

    scp 本地用戶名@IP地址:文件名遠程用戶名@IP地址:文件名2

    選項說明(詳細的可用 man scp查詢):

        -v 和大多數 linux 命令中的 -v 意思一樣 , 用來顯示進度 . 可以用來查看連接 , 認證 , 或是配置錯誤 .

        -C 使能壓縮選項 .

        -P 選擇端口 . 注意 -p 已經被 rcp 使用 .

        -4 強行使用 IPV4 地址 .

        -6 強行使用 IPV6 地址 .

         -r Recursively copy entire directories.

    注:ip地址和文件名之間有":",且兩臺服務器的ssh1版本不一致的話可能會有問題。



    posted @ 2008-01-23 10:38 josson 閱讀(516) | 評論 (0)編輯 收藏
    tcpdump是一個Sniffer工具,實際上就是一個網絡上的抓包工具,同時還可以對抓到的包進行分析。一般系統都默認安裝。相關介紹及安裝說明可參見: Tcpdump的安裝和使用。


        tcpdump命令說明:
    tcpdump采用命令行方式,它的命令格式為:
    tcpdump [ -adeflnNOpqStvx ] [ -c 數量 ] [ -F 文件名 ]
    [ -i 網絡接口 ] [ -r 文件名] [ -s snaplen ]
    [ -T 類型 ] [ -w 文件名 ] [表達式 ]

    tcpdump的選項介紹:
    -a    將網絡地址和廣播地址轉變成名字;
    -d    將匹配信息包的代碼以人們能夠理解的匯編格式給出;
    -dd    將匹配信息包的代碼以c語言程序段的格式給出;
    -ddd    將匹配信息包的代碼以十進制的形式給出;
    -e    在輸出行打印出數據鏈路層的頭部信息;
    -f    將外部的Internet地址以數字的形式打印出來;
    -l    使標準輸出變為緩沖行形式;
    -n    不把網絡地址轉換成名字;
    -t    在輸出的每一行不打印時間戳;
    -v    輸出一個稍微詳細的信息,例如在ip包中可以包括ttl和服務類型的信息;
    -vv    輸出詳細的報文信息;
    -c    在收到指定的包的數目后,tcpdump就會停止;
    -F    從指定的文件中讀取表達式,忽略其它的表達式;
    -i    指定監聽的網絡接口;
    -r    從指定的文件中讀取包(這些包一般通過-w選項產生);
    -w    直接將包寫入文件中,并不分析和打印出來;
    -T    將監聽到的包直接解釋為指定的類型的報文,常見的類型有rpc (遠程過程 調用)和snmp(簡單       網絡管理協議;)

          -s      設置抓包大小限制,默認抓包大小限制在96個BYTE(包括以太網幀)。修改參數為:-s 0。0 則忽略包的大小限制,按包的長度實際長度抓取。

        例:tcpdump -vv tcp port 5270 -c 100 -s 1500 -w /opt/sniffer.pack
    posted @ 2008-01-21 15:39 josson 閱讀(8767) | 評論 (0)編輯 收藏

    1、模態窗口自適應:
    在Internet Explorer中定義window.open 和 window.showModalDialog以打開一個網頁對話框的時候,在不同版本的Windows和不同版本的IE中,窗口的大小和樣式都是不同的。
    在IE7中更是有了很大的不同,狀態欄,主要內容被默認保留(下詳),還加了一個只讀狀態的地址欄.窗口的最小尺寸被限定在了250*150:


    如上圖所示:在ie7中,定義的高度僅僅是窗體內容高度,狀態欄及地址欄的高度都不算在內的;而ie6則包含了狀態欄及地址欄的高度。所以,我們需要依據不同的操作系統及ie版本,高度自適應的js代碼如下:

    /**
     * 模態窗口高度調整.
     * 根據操作系統及ie不同版本,重新設置窗口高度,避免滾動條出現.
     
    */
    function resetDialogHeight(){
      
    if(window.dialogArguments == null){
        
    return//忽略非模態窗口
      }

      
    var ua = navigator.userAgent;
      
    var height = document.body.offsetHeight;
      
    if(ua.lastIndexOf("MSIE 6.0"!= -1){
      
    if(ua.lastIndexOf("Windows NT 5.1"!= -1){
        
    //alert("xp.ie6.0");
        var height = document.body.offsetHeight;
        window.dialogHeight
    =(height+102)+"px";
      }
      
    else if(ua.lastIndexOf("Windows NT 5.0"!= -1){
        
    //alert("w2k.ie6.0");
        var height = document.body.offsetHeight;
        window.dialogHeight
    =(height+49)+"px";
      }
    }
    }

    模態窗口頁面加上如下代碼:
    //窗口加載后,判斷系統及其ie版本調整高度
    window.onload = resetDialogHeight;


    2、ie7中模態窗口提交時新開窗口問題:
    IE 7.0對模態窗口<base target='_self'>屬性的放置位置更加嚴格。<base>標簽必須放置在<head>標簽對中,否則提交表單時總是會新開窗口。示例如下 :
    <html>
    <head>
    <title>標題</title>
    <base target="_self"/>
    .. .. ..
    </head>
    <body onload="pageClose();" scroll="no">
    .. .. ..
    </body>
    </html>

    posted @ 2008-01-21 09:46 josson 閱讀(1278) | 評論 (1)編輯 收藏

      JSON,JavaScript Object Notation,一種更輕、更友好的用于接口(AJAX、REST等)數據交換的格式。作為XML的一種替代品,用于表示客戶端與服務器間數據交換有效負載的格式。

       
        關于json的文章:JSON 簡介
    posted @ 2008-01-17 14:36 josson 閱讀(3825) | 評論 (0)編輯 收藏
    1、目的
    系統通過一內嵌頁面(iframe) 來展現網頁內容(也包括內嵌頁中再嵌一個網頁),這將會引起如下幾個問題:
    a.不同的網頁內容多少不一致,導致iframe的高度無法與實現內容或瀏覽器高度相匹配。
    b.窗口縮放時,不能iframe不能進行自動調整。

    針對這兩個問題,寫了一些js方法,使iframe自動適應內容或瀏覽器高度。

    2、js代碼
    在主框回頁面中包括如下js方法:
    /**
     * 內嵌頁面的高度設置
     
    */
    function handleFrameLoad() {
     
    var hDoc = getBodyHeight(document);
     
    var tblmain =  document.getElementById('tblMain');
     
    var mFrame = window.mainFrame;
     
    var hFrameDoc = getFrameHeight(mFrame);
     
    var hTable = hDoc-80; //減去該頁面除iframe外其他控件所占的高度.
     
    if(hFrameDoc > hTable) hTable = hFrameDoc;
     tblmain.style.height 
    = hTable;
     mFrame.height 
    = hTable;
     
    if(window.mainFrame.moduleRight != null){
       
    //表示該內嵌頁,包含內嵌的頁面,頁iframe的id固定為moduleRight。
        initFrameHeight(mFrame,hTable);
     }
    }

    /**
     * 獲取當前頁面的高度
     
    */
    function getBodyHeight(doc){
      
    if(doc.all) return doc.body.offsetHeight;
      
    else return doc.body.scrollHeight;
    }

    /**
     * 獲取內嵌頁中的高度.
     * 若另含子內嵌(
    moduleRight)頁時,應考慮該頁面的高度.
     
    */
    function getFrameHeight(mFrame){
      
    var h1 = mFrame.document.body.offsetHeight;
      
    var h2 = mFrame.document.body.scrollHeight;
      
    if(mFrame.moduleRight != null){
          
    var h3 = mFrame.moduleRight.document.body.scrollHeight;
        
    if(h3 > h2) h2 = h3;
      }
      
    return h2;
    }

    /**
     * 設置子內嵌頁面的高度.
     * 通過設置iframe所在table的高度來調整。
     
    */
    function initFrameHeight(frame,hFrame){
      
    var tbl = frame.document.getElementById('tblMainFrame');
      tbl.style.height 
    = hFrame;
    }

    3、其他設置
    主頁面(main.jsp),在加載完畢(onload)、窗口大小調整(onresize),以及iframe的加載完畢時,需調用:handleFrameLoad,代碼如下:
    <html>
       
      
    <body onload="handleFrameLoad();" onResize="handleFrameLoad();">
       
      
    <iframe src="" id="mainFrame" name="mainFrame" border=0 width=100% height=100% frameborder="0" marginwidth="0" hspace="0" scrolling="no" onload="handleFrameLoad();"/>
       
      
    </body>
    </html

    其他內嵌頁如下(注:此處的iframe高度設為100%,其高度由父頁面通過設置table<tblMainFrame>的高度來進行調整):
    <html>
       
      
    <body class="body" style="overflow:hidden;margin:0px;padding:0px">
        
    <table width="100%" height="100%" id="tblMainFrame" border="0" align="center" cellpadding="0" cellspacing="0">
         
    <tr>
           
    <td id='content' height=100%>
             
    <iframe src="about:blank" width="100%" height="100%" name="moduleRight" id="moduleRight" frameborder="0" hspace="0"/>
           
    </td>
         
    </tr>
        
    </table>
      
    </body>
    </html

    4、樣例下載: sample
    posted @ 2008-01-17 13:56 josson 閱讀(9304) | 評論 (2)編輯 收藏
    文摘摘錄如下:

    1. LDAP是什么東西,我需要它么?
    2. 我需要LDAP還是數據庫?
    3. LDAP精煉總結
    posted @ 2008-01-15 10:57 josson 閱讀(381) | 評論 (0)編輯 收藏
    XML/JSON的操作類庫,codehaus的xstream,很簡單的在xml/json和java對象間轉換。

    1、所需jar包:xstream-[version].jarxpp3-[version].jar 。xpp3不是必須的,也可以用標準的JAXP DOM parser 來代替,如:
    XStream xstream = new XStream(new DomDriver()); // does not require XPP3 library

    另外,通過alias可實現xml屬性的支持。更多功能,請參閱 Tutorial

    2、XML轉換代碼片段:
    Class 轉換為 xml 的代碼片段:
    XStream xstream = new XStream();
    xstream.alias("person", Person.class);
    xstream.alias("phonenumber", PhoneNumber.class);
    Person joe = new Person("Joe""Walnes");
    joe.setPhone(
    new PhoneNumber(123"1234-456"));
    joe.setFax(
    new PhoneNumber(123"9999-999"));
    String xml 
    = xstream.toXML(joe);

    The resulting XML looks like this:
    <person>
      
    <firstname>Joe</firstname>
      
    <lastname>Walnes</lastname>
      
    <phone>
        
    <code>123</code>
        
    <number>1234-456</number>
      
    </phone>
      
    <fax>
        
    <code>123</code>
        
    <number>9999-999</number>
      
    </fax>
    </person>

    xml轉換為java類的代碼片段:
    Person newJoe = (Person)xstream.fromXML(xml);

    3、JSON
    另需jar包:jettison.jar 、stax-api.jar。JSON Turorial

    Write to json:

    package org.sensatic.json.test;

    import com.thoughtworks.xstream.XStream;
    import com.thoughtworks.xstream.io.json.JettisonMappedXmlDriver;

    public class WriteTest {
        
    public static void main(String[] args) {
            Product product 
    = new Product("Banana""123"23.00);
            XStream xstream 
    = new XStream(new JettisonMappedXmlDriver());
            xstream.alias(
    "product", Product.class);
            System.out.println(xstream.toXML(product));    
        }
    }

    Read from json:
    package org.sensatic.json.test;

    import com.thoughtworks.xstream.XStream;
    import com.thoughtworks.xstream.io.json.JettisonMappedXmlDriver;

    public class ReadTest {
        
    public static void main(String[] args) {
            String json 
    = "{\"product\":{\"name\":\"Banana\",\"id\":\"123\""
                
    + ",\"price\":\"23.0\"}}";
                
            XStream xstream 
    = new XStream(new JettisonMappedXmlDriver());
            xstream.alias(
    "product", Product.class);
            Product product 
    = (Product)xstream.fromXML(json);
            System.out.println(product.getName());
        }
    }

    And that's how simple XStream is!
    posted @ 2008-01-15 10:11 josson 閱讀(942) | 評論 (0)編輯 收藏
    使用 Apache MINA 開發高性能網絡應用程序:
    http://www.ibm.com/developerworks/cn/opensource/os-cn-apmina/
    posted @ 2008-01-14 10:21 josson 閱讀(463) | 評論 (0)編輯 收藏
    1、web.xml設置
      <servlet>
        
    <servlet-name>dwr-invoker</servlet-name>
        
    <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
        
    <init-param>
          
    <param-name>activeReverseAjaxEnabled</param-name>
          
    <param-value>true</param-value>
        
    </init-param>
      
    </servlet>
      
      
    <servlet-mapping>
        
    <servlet-name>dwr-invoker</servlet-name>
        
    <url-pattern>/dwr/*</url-pattern>
      
    </servlet-mapping>

    2、client端將 setActiveReverseAjax設為true
    dwr.engine.setActiveReverseAjax(true);

    使用Reverse AJAX,client端就不用指定call back function,當執行server端的method時,會自動調用client端javascript來執行。

    3、Server端通過ScriptSession,找到對到的client端JS方法
    //取得當前執行頁面
    WebContext wctx = WebContextFactory.get();
    String currentPage 
    = wctx.getCurrentPage();
    //取得目前執行中的ScriptSession
    ScriptSession scriptSession = wctx.getScriptSession();
    //或是取得某page開啟中的client ScriptSession
    Collection sessions = wctx.getScriptSessionsByPage("/ajax/client.jsp");

    //根據ScriptSession來執行client端的 DWRUtil
    Util utilThis = new Util(wctx.getScriptSession());

    //調用WRUtil,在客戶端生成相應的腳本,實現消息的輸出
    utilAll.removeAllOptions("chatlog");
    utilAll.addOptions(
    "chatlog", messages, "text");

    4、網上的范例
    chat.jsp頁面,點擊發送按鈕,調用javascript的sendMessage()方法將消息發送出(注意這里沒有指定call back function。)。
    function sendMessage() {
        JavaChat.addMessage();
    }

    服務端JavaChat代碼,調用DWRUtil,在客戶端生成腳本,將消息輸出到頁面中。
    //JavaChat.java
    public void addMessage(String messsage){
        Util utilAll 
    = new Util(sessions);
        utilAll.addScriptSessions(wctx.getScriptSessionsByPage(
    "/chat.jsp"));
        utilAll.removeAllOptions("chatlog");        
        utilAll.addOptions(
    "chatlog", message, "text");
    }

    posted @ 2008-01-04 12:37 josson 閱讀(1761) | 評論 (4)編輯 收藏
    http://dhtmlx.com/

    包括樹、菜單、表格、工具條等。。。
    posted @ 2008-01-04 12:11 josson 閱讀(1177) | 評論 (1)編輯 收藏
    僅列出標題
    共11頁: First 上一頁 2 3 4 5 6 7 8 9 10 下一頁 Last 
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(3)

    隨筆分類

    隨筆檔案

    收藏夾

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 99久久国产免费中文无字幕| 精品国产日韩亚洲一区91| 久久夜色精品国产亚洲AV动态图 | 精品亚洲成A人在线观看青青| 亚洲精品一区二区三区四区乱码 | 免费无码又爽又高潮视频 | 高清免费久久午夜精品| 少妇亚洲免费精品| 亚洲阿v天堂在线2017免费| 在线播放免费人成视频网站| 人妻免费久久久久久久了| 日韩在线一区二区三区免费视频 | 亚洲国产精品xo在线观看| 亚洲国产综合在线| 亚洲人成7777影视在线观看| 日韩亚洲不卡在线视频中文字幕在线观看 | 中文字幕乱码免费看电影| 免费国产污网站在线观看| 国产精品白浆在线观看免费| 99久久免费看国产精品| 亚洲电影在线免费观看| 成年女人毛片免费视频| 女人张开腿给人桶免费视频 | 99在线在线视频免费视频观看 | 国产亚洲Av综合人人澡精品| 一级做a爰片久久毛片免费看| 一级做a爱过程免费视| 精品成人免费自拍视频| 最近免费中文在线视频| 67194成是人免费无码| 免费中文字幕不卡视频| 亚洲欧洲∨国产一区二区三区| 亚洲黄色网址大全| 亚洲AV日韩综合一区尤物 | 亚洲国产成人九九综合| 亚洲精品无码久久久久秋霞| 香港经典a毛片免费观看看| 久久99久久成人免费播放| 4444www免费看| 国产精品久免费的黄网站| 亚洲综合精品香蕉久久网|