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

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

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

    Programmer

    追逐夢想的人
    隨筆 - 6, 文章 - 0, 評論 - 5, 引用 - 0
    數據加載中……

    2010年3月24日

    部署spring2.56中的例子jpetstore

    部署環境:tomcat6.0.18   jdk5   mysql5.1

    1.   下載  到www.springsource.org/download 中 下載spring-framework-2.5.6.SEC01-with-dependencies
    2.   jpetstores說明(自己翻譯jpetstore中的readme.txt,本人英語不好 ,翻譯不到位請手下留情)
         配備spring管理的中間層和ibatis作為數據訪問策略數據層,與spring的事務 和抽象DAO相結合。能使用本地的JDBC或者JTA 和2個數據庫中的后者一起工作
         使用了相同的數據模型和演示內容來作為jpetstore的原型,可以分別的查看 "WEB-INF/dataAccessContext-local.xml","WEB-INF/dataAccessContext-jta.xml"
         上下文定義的細節。
         提供了相同的用戶界面兩種不同的Web層實現,一個基于spring mvc,一個基于struts1.1,后者與jpetstore關系密切,但是用JSTL重寫作為jsp的實現,
         盡可能的具有可比性。查看"WEB-INF/web.xml", "WEB-INF/petstore-servlet.xml",and "WEB-INF/struts-config.xml" 的細節。
         與原來的jpetstore原型相比,這個實現在內部結構和松耦合方面有了顯著的改善。支持的應用上下文的概念,現在核心就是構建 應用對象(application objects)
         最顯著的改善就是 PetStoreLogic,現在叫做PetStoreFacade,它不再與配置,資源,事務的細節相關
         注意以spring為基礎的web層實現是故意與以struts為基礎的相似并不是打算改進錯誤信息等方面的現狀。jpetstore包含2個不同實現的web層來概括除了不同
         之外在各自程序設計模型的相同點,也闡明不同風格的配置。
         這個版本的jpetstore也展示了spring遠程處理的可選項 如:Hessian, Burlap, RMI, and Web Services via Apache Axis.他們都提供了即插即用通過
         默認的web應用(注意RMI是添加注釋避免與EJB容器沖突)“客戶端”目錄包含了一個通過所有協議調用OoderService輸出的簡單控制行客戶端。
    3.   部署
    • 創建數據庫  先創建數據庫 執行\jpetstore\db\mysql里面 jpetstore-mysql-schema.sql,jpetstore-mysql-dataload.sql 用來建表和導入數據(不同數據庫自己對應查找)
    • 改數據庫配置文件  在\jpetstore\war\WEB-INF  修改jdbc.properties(自己對應自己的設置)
      1 jdbc.driverClassName=com.mysql.jdbc.Driver
      2 jdbc.url=jdbc:mysql://localhost/jpetstore?
      3 jdbc.username=root
      4 jdbc.password=root
      5 
    • web層實現的選擇  在\jpetstore\war\WEB_INF   web.xml代碼
      <servlet-mapping>
               
      <!--使用spring mvc默認 -->
          
      <servlet-name>petstore</servlet-name>
              
      <!--使用struts -->
      <!--<servlet-name>action</servlet-name>-->
          
      <url-pattern>*.do</url-pattern>
      </servlet-mapping>
    • 部署 /jpetstore 運行warfile.bat 生成一個文件夾dist 把里面的jpetstore.war復制到 tomcat目錄下的webapps  ,把對應的數據庫驅動放到tomcat\lib下
    • 運行tomcat 打開瀏覽器http://localhost:8080/jpetstore 可以看到jpetstore頁面  have fun!



    posted @ 2010-03-24 13:43 霜の哀傷 閱讀(1780) | 評論 (2)編輯 收藏

    2007年4月13日

    java學習筆記(xml解析)

    最近學習xml,把學習的代碼發上來   希望對新手有用
    這是note.xml
    <?xml version="1.0" encoding="gb2312" ?> 
    <notes>
    <note date="2007-4-12">
    <from>小紅</from> 
    <to>小林</to> 
    <message>周末一起去吃火鍋呀</message> 
    </note>
    </notes>

    這是dom解析xml代碼
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.InputStream;

    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.ParserConfigurationException;

    import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    import org.w3c.dom.Node;
    import org.w3c.dom.NodeList;
    import org.xml.sax.SAXException;


    class  DomXMLTest
    {
        
    public static void main(String[] args)
        {   
            
    try{
             
    //(1)得到DOM解析器的工廠實例
            DocumentBuilderFactory factory =DocumentBuilderFactory.newInstance();     
              
    //(2)從DOM工廠獲得DOM解析器
            DocumentBuilder  builder=factory.newDocumentBuilder(); 
            File f
    =new File("note.xml");
             
    //(3)把要解析的XML文檔轉化為輸入流,以便DOM解析器解析它
            InputStream  is=new FileInputStream(f);  
            
    //(4)解析XML文檔的輸入流,得到一個Document
            Document doc=builder.parse(is);    
            
    //(5)得到XML文檔的根節點
            Element  root=doc.getDocumentElement(); 
             
    //(6)得到節點的子節點
            NodeList  notes=root.getChildNodes();   

              
    for(int i=0;i<notes.getLength();i++)
              {
                   Node note
    =notes.item(i);
                
    if(note.getNodeType()==Node.ELEMENT_NODE)
                    {  
                        
    //(7)取得節點的屬性值
                        String date =note.getAttributes().getNamedItem("date").getNodeValue(); 
                        System.out.println(date);
                        
    // (8)輪循子節點
                        for(Node node=note.getFirstChild();node!=null;node=node.getNextSibling()) 
                             {
                                    
    if(node.getNodeType()==Node.ELEMENT_NODE)
                                         {
                                                
    if(node.getNodeName().equals("from"))
                                                {
                                                     String from
    =node.getFirstChild().getNodeValue();
                                                     System.out.println(from);
                                                 }
                                                
    if(node.getNodeName().equals("to"))
                                                 {
                                                      String to
    =node.getFirstChild().getNodeValue();
                                                       System.out.println(to);
                                                 }
                                                 
    if(node.getNodeName().equals("message"))
                                                 {
                                                       String message
    =node.getFirstChild().getNodeValue();
                                                       System.out.println(message);
                                                  }
                                          }
                               }
                      }

            }
            }
            
    catch(ParserConfigurationException e)
            {
                e.printStackTrace();
            }
            
    catch(SAXException e)
            {
                e.printStackTrace();
            }
            
    catch(IOException e)
            {
                e.printStackTrace();
            }
         }                                  
    }

    還有 出現 下面的錯誤  是xml的格式不對 ,我就應為在 <?xml 前面多個空格 就找了好幾天的錯誤
    特別感謝那些幫我找問題的高手,用范偉的話說  謝謝啊
    The processing instruction target matching "[xX][mM][lL]" is not allowed.




    posted @ 2007-04-13 18:08 霜の哀傷 閱讀(439) | 評論 (1)編輯 收藏

    2007年4月10日

    學習筆記(java中的io操作)

    (1)File的操作
    import java.io.File;
    import java.io.IOException;
    class FileDemo{
     
    public static void main(String args[]){
      
    try{
       File f
    =new File("file1.txt");
       
       System.out.println(
    "文件是否存在: "+f.exists());
         
    if(!f.exists())
          {    
               System.out.println(
    "文件不否存在,開始創建!");
               f.createNewFile();
          }
       System.out.println(
    "文件是否存在: "+f.exists());
       System.out.println(
    "是文件嗎: "+f.isFile());
       System.out.println(
    "是文件夾嗎: "+f.isDirectory());   
       System.out.println(
    "可否讀取文件: "+f.canRead);
       System.out.println(
    "可否修改文件: "+f.canWrite());
       System.out.println(
    "是否隱藏: "+f.isHidden());
       System.out.println(
    "文件名稱: "+f.getName());
       System.out.println(
    "標準文件名: "+f.getCanonicalFile()); 
       System.out.println(
    "相對路徑: "+f.getPath());  
       System.out.println(
    "絕對路徑: "+f.getAbsolutePath());
       System.out.println(
    "標準路徑: "+f.getCanonicalPath());
       System.out.println(
    "最后修改時間: "+f.lastModified());
       System.out.println(
    "文件大小: "+f.length()+" 字節");        
      } 
      
    catch(IOException ex){
       ex.printStackTrace();
      }   
     }
    }

    (2)簡單文件讀寫
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.FileWriter;
    import java.io.FileReader;
    import java.io.IOException;
    import java.io.File;
    class test{
     
    public static void main(String args[]){
      
    try{
       File f
    =new File("file1.txt");
       
    if(!f.exists())
          {
               f.createNewFile();
          }
       FileWriter fw
    =new FileWriter(f);
       BufferedWriter bw
    =new BufferedWriter(fw);
       bw.write(
    "大家好,我正在學習Java");
       bw.newLine();
       bw.write(
    "請多多指教");
       System.out.println(
    "file1.txt寫入成功!***************開始讀..\n");
       bw.flush();
       bw.close();
       
       FileReader fr
    =new FileReader("file1.txt");
       BufferedReader br
    =new BufferedReader(fr);
       String temp
    =null;
       
    do{
        temp
    =br.readLine();
        System.out.println(temp
    ==null?"":temp);
       }
       
    while(temp!=null);
       fr.close();
       br.close();
       
       System.out.println(
    "file1.txt已經讀完!*************");
      }
      
      
    catch(IOException ex){
       ex.printStackTrace();
      }   
     }
    }


    (3)分隔符讀取
    import java.io.File;
    import java.io.FileWriter;
    import java.io.FileReader;
    import java.io.BufferedWriter;
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.util.StringTokenizer;
    class StringTokenizerTest
    {
        
    public static void main(String[] args) 
        {   
            
    try{
                     File f
    =new File("file1.txt");
                     
    if(!f.exists())
                    {
                       f.createNewFile();
                    }
                    FileWriter fw
    =new FileWriter(f);
                    BufferedWriter bw
    =new BufferedWriter(fw);
                    bw.write(
    "小明,男,1980-1-1,13624577654");
                    bw.newLine();
                    bw.write(
    "小強,男,1984-2-1,13634375634");
                    bw.newLine();
                    bw.write(
    "小紅,女,1986-1-5,13724777774");
                    System.out.println(
    "數據寫入成功!");
                    bw.flush();
                    bw.close();

                    FileReader fr
    =new FileReader(f);
                    BufferedReader br
    =new BufferedReader(fr);
                    String s
    =null;
                    
                    
    while  ((s  =br.readLine())!=  null)  
                    {  
                         StringTokenizer  st  
    =  new  StringTokenizer(s,",");  
                         System.out.println(s  
    ==  null?" " : s);  
                         
    while  (st.hasMoreTokens())  {  
                           String  name  
    =  st.nextToken();  
                           String  sex  
    =  st.nextToken();  
                           String  birthday  
    =  st.nextToken();  
                           String  tel  
    =  st.nextToken();  
                           System.out.println(  
    "姓名:  "  +  name);  
                           System.out.println(  
    "性別:  "  +  sex);  
                           System.out.println(  
    "生日:  "  +  birthday);  
                           System.out.println(  
    "電話:  "  +  tel);  
                           System.out.println(  
    "_______________________________  ");  
                              }  
                    }   
                    
    while(s!=null);
                    fr.close();
                    br.close();          
               }
               
    catch(IOException e){
                   e.printStackTrace();
             }
        }
    }



    posted @ 2007-04-10 23:53 霜の哀傷 閱讀(1261) | 評論 (0)編輯 收藏

    2007年4月8日

    JavaScript 技巧


    1. oncontextmenu="window.event.returnValue=false" 將徹底屏蔽鼠標右鍵
    <table oncontextmenu=return(false)></table> 可用于Table

    2. <body onselectstart="return false"> 取消選取、防止復制

    3. onpaste="return false" 不準粘貼

    4. oncopy="return false;" oncut="return false;" 防止復制

    5. <link rel="Shortcut Icon" href="favicon.ico"> IE地址欄前換成自己的圖標

    6. <link rel="Bookmark" href="favicon.ico"> 可以在收藏夾中顯示出你的圖標

    7. <input style="ime-mode:disabled"> 關閉輸入法

    8. 永遠都會帶著框架
    <script language="JavaScript"><!--
    if (window == top)top.location.href = "frames.htm"; //frames.htm為框架網頁
    // --></script>

    9. 防止被人frame
    <SCRIPT LANGUAGE=JAVASCRIPT><!--
    if (top.location != self.location)top.location=self.location;
    // --></SCRIPT>

    10. 網頁將不能被另存為
    <noscript><iframe src="/blog/*.html>";</iframe></noscript>

    11. <input type=button value=查看網頁源代碼
    onclick="window.location = "view-source:"+ "http://www.williamlong.info"">

    12.刪除時確認
    <a href="javascript:if(confirm("確實要刪除嗎?"))location="boos.asp?&areyou=刪除&page=1"">刪除</a>

    13. 取得控件的絕對位置
    //Javascript
    <script language="Javascript">
    function getIE(e){
    var t=e.offsetTop;
    var l=e.offsetLeft;
    while(e=e.offsetParent)
    alert("top="+t+"/nleft="+l);
    }
    </script>

    //VBScript
    <script language="VBScript"><!--
    function getIE()
    dim t,l,a,b
    set a=document.all.img1
    t=document.all.img1.offsetTop
    l=document.all.img1.offsetLeft
    while a.tagName<>"BODY"
    set a = a.offsetParent
    t=t+a.offsetTop
    l=l+a.offsetLeft
    wend
    msgbox "top="&t&chr(13)&"left="&l,64,"得到控件的位置"
    end function
    --></script>

    14. 光標是停在文本框文字的最后
    <script language="javascript">
    function cc()
    {
    var e = event.srcElement;
    var r =e.createTextRange();
    r.moveStart("character",e.value.length);
    r.collapse(true);
    r.select();
    }
    </script>
    <input type=text name=text1 value="123" onfocus="cc()">

    15. 判斷上一頁的來源
    javascript:
    document.referrer


    16. 最小化、最大化、關閉窗口
    <object id=hh1 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">
    <param name="Command" value="Minimize"></object>
    <object id=hh2 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">
    <param name="Command" value="Maximize"></object>
    <OBJECT id=hh3 classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
    <PARAM NAME="Command" VALUE="Close"></OBJECT>
    <input type=button value=最小化 onclick=hh1.Click()>
    <input type=button value=最大化 onclick=hh2.Click()>
    <input type=button value=關閉 onclick=hh3.Click()>
    本例適用于IE

    17.屏蔽功能鍵Shift,Alt,Ctrl
    <script>
    function look(){
    if(event.shiftKey)
    alert("禁止按Shift鍵!"); //可以換成ALT CTRL
    }
    document.onkeydown=look;
    </script>

    18. 網頁不會被緩存
    <META HTTP-EQUIV="pragma" CONTENT="no-cache">
    <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
    <META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">
    或者<META HTTP-EQUIV="expires" CONTENT="0">

    19.怎樣讓表單沒有凹凸感?
    <input type=text style="border:1 solid #000000">

    <input type=text style="border-left:none; border-right:none; border-top:none; border-bottom:

    1 solid #000000"></textarea>

    20.<div><span>&<layer>的區別?
    <div>(division)用來定義大段的頁面元素,會產生轉行
    <span>用來定義同一行內的元素,跟<div>的唯一區別是不產生轉行
    <layer>是ns的標記,ie不支持,相當于<div>

    21.讓彈出窗口總是在最上面:
    <body onblur="this.focus();">

    22.不要滾動條?
    讓豎條沒有:
    <body style="overflow:scroll;overflow-y:hidden">
    </body>
    讓橫條沒有:
    <body style="overflow:scroll;overflow-x:hidden">
    </body>
    兩個都去掉?更簡單了
    <body scroll="no">
    </body>

    23.怎樣去掉圖片鏈接點擊后,圖片周圍的虛線?
    <a href="#" onFocus="this.blur()"><img src="/blog/logo.jpg" border=0></a>

    24.電子郵件處理提交表單
    <form name="form1" method="post" action="mailto:****@***.com" enctype="text/plain">
    <input type=submit>
    </form>

    25.在打開的子窗口刷新父窗口的代碼里如何寫?
    window.opener.location.reload()

    26.如何設定打開頁面的大小
    <body onload="top.resizeTo(300,200);">
    打開頁面的位置<body onload="top.moveBy(300,200);">

    27.在頁面中如何加入不是滿鋪的背景圖片,拉動頁面時背景圖不動
    <STYLE>
    body
    {background-image:url(/blog/logo.gif); background-repeat:no-repeat;
    background-position:center;background-attachment: fixed}
    </STYLE>

    28. 檢查一段字符串是否全由數字組成
    <script language="Javascript"><!--
    function checkNum(str){return str.match(//D/)==null}
    alert(checkNum("1232142141"))
    alert(checkNum("123214214a1"))
    // --></script>

    29. 獲得一個窗口的大小
    document.body.clientWidth; document.body.clientHeight

    30. 怎么判斷是否是字符
    if (/[^/x00-/xff]/g.test(s)) alert("含有漢字");
    else alert("全是字符");

    31.TEXTAREA自適應文字行數的多少
    <textarea rows=1 name=s1 cols=27 onpropertychange="this.style.posHeight=this.scrollHeight">
    </textarea>

    32. 日期減去天數等于第二個日期
    <script language=Javascript>
    function cc(dd,dadd)
    {
    //可以加上錯誤處理
    var a = new Date(dd)
    a = a.valueOf()
    a = a - dadd * 24 * 60 * 60 * 1000
    a = new Date(a)
    alert(a.getFullYear() + "年" + (a.getMonth() + 1) + "月" + a.getDate() + "日")
    }
    cc("12/23/2002",2)
    </script>

    33. 選擇了哪一個Radio
    <HTML><script language="vbscript">
    function checkme()
    for each ob in radio1
    if ob.checked then window.alert ob.value
    next
    end function
    </script><BODY>
    <INPUT name="radio1" type="radio" value="style" checked>Style
    <INPUT name="radio1" type="radio" value="barcode">Barcode
    <INPUT type="button" value="check" onclick="checkme()">
    </BODY></HTML>

    34.腳本永不出錯
    <SCRIPT LANGUAGE="JavaScript">
    <!-- Hide
    function killErrors() {
    return true;
    }
    window.onerror = killErrors;
    // -->
    </SCRIPT>

    35.ENTER鍵可以讓光標移到下一個輸入框
    <input onkeydown="if(event.keyCode==13)event.keyCode=9">


    36. 檢測某個網站的鏈接速度:
    把如下代碼加入<body>區域中:
    <script language=Javascript>
    tim=1
    setInterval("tim++",100)
    b=1
    var autourl=new Array()
    autourl[1]="www.njcatv.net"
    autourl[2]="javacool.3322.net"
    autourl[3]="www.sina.com.cn"
    autourl[4]="www.nuaa.edu.cn"
    autourl[5]="www.cctv.com"
    function butt(){
    document.write("<form name=autof>")
    for(var i=1;i<autourl.length;i++)
    document.write("<input type=text name=txt"+i+" size=10 value="/blog/測試中......>" =》<input type=text
    name=url"+i+" size=40> =》<input type=button value=GO

    onclick=window.open(this.form.url"+i+".value)><br/>")
    document.write("<input type=submit value=刷新></form>")
    }
    butt()
    function auto(url)
    else

    b++
    }
    function run(){for(var i=1;i<autourl.length;i++)document.write("<img src=http://"+autourl+"/"+Math.random()+" width=1 height=1

    onerror=auto("http://"+autourl+"")>")}
    run()</script>

    37. 各種樣式的光標
    auto :標準光標
    default :標準箭頭
    hand :手形光標
    wait :等待光標
    text :I形光標
    vertical-text :水平I形光標
    no-drop :不可拖動光標
    not-allowed :無效光標
    help :?幫助光標
    all-scroll :三角方向標
    move :移動標
    crosshair :十字標
    e-resize
    n-resize
    nw-resize
    w-resize
    s-resize
    se-resize
    sw-resize

    38.頁面進入和退出的特效
    進入頁面<meta http-equiv="Page-Enter" content="revealTrans(duration=x, transition=y)">
    推出頁面<meta http-equiv="Page-Exit" content="revealTrans(duration=x, transition=y)">
    這個是頁面被載入和調出時的一些特效。duration表示特效的持續時間,以秒為單位。transition表示使用哪種特效,取值為1-23:
      0 矩形縮小
      1 矩形擴大
      2 圓形縮小
      3 圓形擴大
      4 下到上刷新
      5 上到下刷新
      6 左到右刷新
      7 右到左刷新
      8 豎百葉窗
      9 橫百葉窗
      10 錯位橫百葉窗
      11 錯位豎百葉窗
      12 點擴散
      13 左右到中間刷新
      14 中間到左右刷新
      15 中間到上下
      16 上下到中間
      17 右下到左上
      18 右上到左下
      19 左上到右下
      20 左下到右上
      21 橫條
      22 豎條
      23 以上22種隨機選擇一種

    39.在規定時間內跳轉
    <META http-equiv=V="REFRESH" content="5;URL=http://www.williamlong.info">

    40.網頁是否被檢索
    <meta name="ROBOTS" content="屬性值">
      其中屬性值有以下一些:
      屬性值為"all": 文件將被檢索,且頁上鏈接可被查詢;
      屬性值為"none": 文件不被檢索,而且不查詢頁上的鏈接;
      屬性值為"index": 文件將被檢索;
      屬性值為"follow": 查詢頁上的鏈接;
      屬性值為"noindex": 文件不檢索,但可被查詢鏈接;
      屬性值為"nofollow": 文件不被檢索,但可查詢頁上的鏈接。

    最大化窗口?
    <script language="JavaScript">
    <!--
    self.moveTo(0,0)
    self.resizeTo(screen.availWidth,screen.availHeight)
    //-->
    </script>




    解 決問題:由于層與下拉框之間的優先級是:下拉框 > 層,因此在顯示的時候,會因為優先級的次序而會出現如上問題。(如果幾個元素都是層的話,我們可以通過層的 z-index 屬性來設置)解決辦法就是:給層中放一個優先級比下拉框更高的元素(iframe),從而解決此問題!具體解決代碼如下:

    <div id="menu" style="position:absolute; visibility:hidden; top:20px; left:20px; width:100px; height:200px; background-color:#6699cc;">
    <table>
    <tr><td>item 1</td></tr>
    <tr><td>item 2</td></tr>
    <tr><td>item 3</td></tr>
    <tr><td>item 4</td></tr>
    <tr><td>item 5</td></tr>
    </table>
    <iframe src="/blog/javascript:false" style="position:absolute; visibility:inherit; top:0px; left:0px; width:100px; height:200px; z-index:-1; filter='progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)';"></iframe>
    </div>

    <a href="#" onclick="document.getElementById('menu').style.visibility='visible'">menu</a>

    <form>
    <select><option>A form selection list</option></select>
    </form>

    輸入框也可以做的很漂亮了
    <div align="center"><input type="hidden" name="hao" value="yes">
    外向數:<input
    name=answer
    style="color: #ff0000; border-left: medium none; border-right: medium none; border-top: medium none; border-bottom: 1px solid #c0c0c0">
     沒回答的題數:<input
    name=unanswer id="unanswer"
    style="color: #ff0000; border-left: medium none; border-right: medium none; border-top: medium none; border-bottom: 1px solid #c0c0c0">
    <br/>
    總得分:
    <input
    name=score id="score"
    style="color: #ff0000; border-left: medium none; border-right: medium none; border-top: medium none; border-bottom: 1px solid #c0c0c0">
     結    論:
    <input
    name=xgjg id="xgjg"
    style="color: #ff0000; border-left: medium none; border-right: medium none; border-top: medium none; border-bottom: 1px solid #c0c0c0">
    <br/>
    <br/>

    <input onClick=processForm(this.form) style="FONT-FAMILY: 宋體; FONT-SIZE: 9pt" type=button value=查看結果 name="button">
    <input type="reset" name="Submit" value="重做">
    </div>
    注意:修改<body>為<body onload="max.Click()">即為打開最大

    化窗口,而如果改為<body onload="min.Click()">就變為窗口一打開就最小化

    <object id="min" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
    <param name="Command" value="Minimize">
    </object> <object id="max" type="application/x-oleobject" classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
    <param name="Command" value="Maximize">
    </object>
    </body>

    頁面自動刷新(說明)

    當你做網頁時,是不是有的時候想讓你的網頁自動不停刷新,或者過一段時間自動跳轉到另外一個你自己設定的頁面?其實實現這個效果非常地簡單,而且這個效果甚至不能稱之為特效。你只要把如下代碼加入你的網頁中就可以了。

    1,頁面自動刷新:把如下代碼加入<head>區域中<meta http-equiv="refresh" content="20">,其中20指每隔20秒刷新一次頁面.

    2, 頁面自動跳轉:把如下代碼加入<head>區域中<meta http-equiv="refresh" content="20;url=http://www.williamlong.info">,其中20指隔20秒后跳轉到http: //www.williamlong.info頁面。

    頁面自動關閉

    5000是指時間<body onLoad="setTimeout(window.close, 5000)">

    彈出窗口自動關閉

    10秒后彈出窗口自動關閉

    注意:在新的tan.htm的body中要加 <onLoad="closeit()">
    head

    <script language="JavaScript">

    <!--

    var gt = unescape('%3e');

    var popup = null;

    var over = "Launch Pop-up Navigator";

    popup = window.open('', 'popupnav', 'width=225,height=235,resizable=1,scrollbars=auto');

    if (popup != null) {

    if (popup.opener == null) {

    popup.opener = self;

    }

    popup.location.href = 'tan.htm';

    }

    // -->

    </script>
    <body>注意:這段代碼是在新建文件中的
    <script language="JavaScript">

    function closeit()

    </script>

    這個可不是<iframe>(引用)呀。是直接調用的。以下代碼加入<body>區域

    <object type="text/x-scriptlet" width="800" height="1000" data="../index.htm">
    </object>


    posted @ 2007-04-08 23:38 霜の哀傷 閱讀(274) | 評論 (0)編輯 收藏

    2007年4月3日

    EditPlus 用戶工具配置

     

    工具集成——編譯器集成例子(Java、Borland C++、Visual C++、Inno Setup、nsis)
    在“工具→參數選擇→用戶工具”選項頁設置,設置步驟
    ① 設置組名稱,這里也可以不設置
    ② 單擊“添加工具→應用程序”按鈕并進行如下設置
    ③ 各種類似"$(FilePath)"的參數可以在文本框右側的箭頭下拉菜單中獲取,具體含義如下
    參數 描述
    $(FilePath) 文件路徑(文件全名,含目錄和文件名)
    $(FileDir) 文件目錄(不帶文件名)
    $(FileName) 文件名(不帶目錄)
    $(FileNameNoExt) 不帶擴展名的文件名(不帶目錄)
    $(FileExt) 擴展名(當前文件)
    $(ProjectName) 工程名稱(當前工程名)
    $(CurLine) 當前行號(光標位置處的行號)
    $(CurCol) 當前列號(光標位置處的列號)
    $(CurSel) 當前文本(插入當前選定文本)
    $(CurWord) 當前單詞(插入當前單詞)
    $(WindowList) 顯示當前窗口列表并選擇特定文件


    例子 1. Java 編譯器

    菜單文本:Java 編譯器
    命令:c:\java\bin\javac.exe
    參數:"$(FilePath)"
    初始目錄:$(FileDir)
    捕獲輸出:開啟

    要運行已編譯的 Java 類文件,你可以進行如下設置:
    菜單文本:Java
    命令:c:\java\bin\java.exe
    參數:$(FileNameNoExt)
    初始目錄:$(FileDir)
    “命令”部分應當替換為實際的 Java 解釋器的路徑。

    例子 2. Borland C++

    菜單文本:Borland C
    命令:c:\bc\bin\bcc32.exe
    參數:-Ic:\bc\include -Lc:\bc\lib -n$(FileDir) $(FilePath)
    初始目錄:c:\bc\bin
    捕獲輸出:開啟

    例子 3. Visual C++

    菜單文本:Visual C++
    命令:c:\msdev\vc98\bin\cl.exe
    參數:"$(FilePath)"
    初始目錄:$(FileDir)
    捕獲輸出:開啟

    例子 4. Inno Setup
    菜單文本:編譯 Inno
    命令:C:\Program Files\Inno Setup 4\Compil32.exe”
    參數:/cc $(FileName)
    初始目錄:$(FileDir)
    捕獲輸出:開啟

    例子 5. nsis
    菜單文本:編譯 nsis
    命令:C:\NSIS\makensis.exe
    參數:$(FileName)
    初始目錄:$(FileDir)
    捕獲輸出:開啟

    例子 6. C#
    菜單文本:編譯 C#
    命令:C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\csc.exe
    參數:$(FileName)
    初始目錄:$(FileDir)
    捕獲輸出:開啟

    在上面設置中,在命令部分,必須使用系統中各自編譯器的絕對路徑。

    設置完畢后,你可以在“工具”菜單運行對應工具了,運行結果會顯示在底部的輸出窗口,你也可以通過快捷鍵(Ctrl + 0-9) 運行,或者是通過“用戶工具欄”的快捷按鈕運行。

    要運行已編譯的 *.exe 文件,你可以進行如下設置(此時可執行文件需要和編譯文件同名):
    菜單文本:Run
    命令:$(FileNameNoExt)
    參數:
    初始目錄:$(FileDir)

    原文章地址:http://www.cppblog.com/shyli/archive/2006/12/17/16531.aspx

    posted @ 2007-04-03 22:12 霜の哀傷 閱讀(575) | 評論 (0)編輯 收藏

    java排序常見算法

    • 選擇排序
    將要排序的對象分作兩部份,一個是已排序的,一個是未排序的,從後端未排序部份選擇一個最小值,並放入前端已排序部份的最後一個,例如:

    排序前:70 80 31 37 10 1 48 60 33 80

    1. [1] 80 31 37 10 70 48 60 33 80 選出最小值1
    2. [1 10] 31 37 80 70 48 60 33 80 選出最小值10
    3. [1 10 31] 37 80 70 48 60 33 80 選出最小值31
    4. [1 10 31 33] 80 70 48 60 37 80 ......
    5. [1 10 31 33 37] 70 48 60 80 80 ......
    6. [1 10 31 33 37 48] 70 60 80 80 ......
    7. [1 10 31 33 37 48 60] 70 80 80 ......
    8. [1 10 31 33 37 48 60 70] 80 80 ......
    9. [1 10 31 33 37 48 60 70 80] 80 ......

    • 插入排序
    像是玩樸克一樣,我們將牌分作兩堆,每次從後面一堆的牌抽出最前端的牌,然後插入前面一堆牌的適當位置,例如:

    排序前:92 77 67 8 6 84 55 85 43 67

    1. [77 92] 67 8 6 84 55 85 43 67 將77插入92前
    2. [67 77 92] 8 6 84 55 85 43 67 將67插入77前
    3. [8 67 77 92] 6 84 55 85 43 67 將8插入67前
    4. [6 8 67 77 92] 84 55 85 43 67 將6插入8前
    5. [6 8 67 77 84 92] 55 85 43 67 將84插入92前
    6. [6 8 55 67 77 84 92] 85 43 67 將55插入67前
    7. [6 8 55 67 77 84 85 92] 43 67 ......
    8. [6 8 43 55 67 77 84 85 92] 67 ......
    9. [6 8 43 55 67 67 77 84 85 92] ......

    • 氣泡排序法
    顧名思義,就是排序時,最大的元素會如同氣泡一樣移至右端,其利用比較相鄰元素的方法,將大的元素交換至右端,所以大的元素會不斷的往右移動,直到適當的位置為止。

    基本的氣泡排序法可以利用旗標的方式稍微減少一些比較的時間,當尋訪完陣列後都沒有發生任何的交換動作,表示排序已經完成,而無需再進行之後的迴圈比較與交換動作,例如:

    排序前:95 27 90 49 80 58 6 9 18 50

    1. 27 90 49 80 58 6 9 18 50 [95] 95浮出
    2. 27 49 80 58 6 9 18 50 [90 95] 90浮出
    3. 27 49 58 6 9 18 50 [80 90 95] 80浮出
    4. 27 49 6 9 18 50 [58 80 90 95] ......
    5. 27 6 9 18 49 [50 58 80 90 95] ......
    6. 6 9 18 27 [49 50 58 80 90 95] ......
    7. 6 9 18 [27 49 50 58 80 90 95] 由於接下來不會再發生交換動作,排序提早結束

    public class BasicSort {
    //選擇排序
    public static void selectionSort(int[] number) {
    for(int i = 0; i < number.length - 1; i++) {
    int m = i;
    for(int j = i + 1; j < number.length; j++)
    if(number[j] < number[m])
    m = j;

    if(i != m)
    swap(number, i, m);
    }
    }
    //插入排序
    public static void injectionSort(int[] number) {
    for(int j = 1; j < number.length; j++) {
    int tmp = number[j];
    int i = j - 1;
    while(tmp < number[i]) {
    number[i+1] = number[i];
    i--;
    if(i == -1)
    break;
    }

    number[i+1] = tmp;
    }
    }
    //冒泡排序
    public static void bubbleSort(int[] number) {
    boolean flag = true;

    for(int i = 0; i < number.length-1 && flag; i++) {
    flag = false;
    for(int j = 0; j < number.length-i-1; j++) {
    if(number[j+1] < number[j]) {
    swap(number, j+1, j);
    flag = true;
    }
    }
    }
    }

    private static void swap(int[] number, int i, int j) {
    int t;
    t = number[i];
    number[i] = number[j];
    number[j] = t;
    }
    }

    posted @ 2007-04-03 10:40 霜の哀傷 閱讀(2017) | 評論 (2)編輯 收藏

    主站蜘蛛池模板: 亚洲午夜爱爱香蕉片| 免费被黄网站在观看| 亚洲国产综合精品中文第一| 亚洲国产区男人本色| 精品国产一区二区三区免费看| 亚洲乱码一二三四区乱码| 久久WWW色情成人免费观看| 亚洲小说图片视频| 在线免费不卡视频| 色欲aⅴ亚洲情无码AV| 免费在线看片网站| 不卡视频免费在线观看| 欧洲亚洲国产清在高| 亚洲高清视频免费| 亚洲欧洲专线一区| 亚洲精品和日本精品| 国产成人精品日本亚洲18图| 曰批全过程免费视频在线观看| 亚洲日本一线产区和二线产区对比| 欧洲精品免费一区二区三区| 免费播放国产性色生活片| 伊人久久亚洲综合| 91福利视频免费| 亚洲欧美日韩中文高清www777| vvvv99日韩精品亚洲| 黄页免费在线观看 | 国产成人免费永久播放视频平台| 337P日本欧洲亚洲大胆艺术图| 亚洲国产日韩在线视频| 在线看免费观看AV深夜影院| 精品韩国亚洲av无码不卡区| 国产亚洲av片在线观看16女人 | 色网站在线免费观看| 国产亚洲一区二区精品| 免费H网站在线观看的| 日韩在线观看免费完整版视频| 91精品国产亚洲爽啪在线影院| 国产大片51精品免费观看| 无码国产精品一区二区免费式芒果| 亚洲人成网站18禁止| 亚洲AV无码成人网站久久精品大 |