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

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

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

    yxhxj2006

    常用鏈接

    統計

    最新評論

    #

    java程序員必知的8大排序

         摘要: 8種排序之間的關系:   1, 直接插入排序    (1)基本思想:在要排序的一組數中,假設前面(n-1)[n>=2] 個數已經是排 好順序的,現在要把第n個數插到前面的有序數中,使得這n個數 也是排好順序的。如此反復循環,直到全部排好順序。  (2)實例 (3)用java實現 01 ...  閱讀全文

    posted @ 2012-08-04 12:24 奮斗成就男人 閱讀(191) | 評論 (0)編輯 收藏

    301跳轉詳細說明

        
        說明:A網站--->B網站--->C網站--->D網站,其中A為提交網站,可以通過get或者post表單傳值,然后在B網站做301跳轉,跳轉到C網站。然后在從C網站跳轉到網關D。

        具體代碼實現步驟如下:
       (1):A網站:只是一個簡單的form表單提交:
            <form action="            <input type="hidden" value="abc" name="param">
                <input type="submit"/>
           </form>

      (2):B網站:首先在B網站目錄中寫一個重寫文件.htaccess。具體如下:
                RewriteEngine On         //開始重寫引擎
                // .htaccess放到B網站/test2/目錄下,表示該301跳轉只在/test2/起作用,其他的目錄則不起作用。
                RewriteBase /test2/                         
                // http://192.168.5.17:8090/test2/index.php 為B網站目錄地址
                RewriteCond %{HTTP_HOST} !http://192.168.5.17:8090/test2/index.php [NC] 
                //
    http://192.168.5.17:8080/servlet01/dispatcher.jsp 為C網站地址
                RewriteRule ^(.*)$ http://192.168.5.17:8080/servlet01/dispatcher.jsp [L,R=301]      
      
      (3):C網站:首先獲取A網站提交的參數:
                String param = request.getParameter("param");
                然后再組裝form表單:
                    <form action="                     <input type="hidden" value="<%=param %>" name="TradeInfo">
                         <input type="submit"/>
                    </form>
        (4): D網站:獲取從C網站提交過來的參數。

        重點:做了301跳轉后,從C網站中可以獲取到A提交過來的參數,而且C網站獲取的來源網站居然是A網站,而不是B網站地址。經過測試發現:在B網站301跳轉時,已經把從A網站提交的參數,組裝成get方式提交方式(而不管你在A采用的是post還是get提交方式),
    即:<a href="
    > 然后會自動跳轉到C網站。


             

    posted @ 2012-08-03 18:17 奮斗成就男人 閱讀(640) | 評論 (0)編輯 收藏

    MYSQL數據庫導入導出

    導入:mysql -h hostname -u root -p databasename<test.sql
    導出:mysqldump -h hostname  -u root -p databasename>test.sql

    其中 -u root 表示用戶名

       -p tian  表示密碼

        test    表示數據庫名(已存在的)

        test.sql  表示外部的腳本文件(文件名字、格式隨便,例如:a.sql,a.abc......)
    注意:-p后面不用填寫密碼,密碼再執行了上面的語句后再輸入

    posted @ 2012-08-01 18:42 奮斗成就男人 閱讀(114) | 評論 (0)編輯 收藏

    java中的日期和sql中的日期轉換以及java.util.Date, java.util.Calendar, java.sql.Date, java.sql.Time, java.sql.Timestamp區別和聯系

    將"yyyy-mm-dd"格式的字符串轉換為java.sql.Date:

    SimpleDateFormat bartDateFormat =   new SimpleDateFormat("yyyy-MM-dd");  
    String dateStringToParse = "2007-7-12";  
    try{  
           java.util.Date date = bartDateFormat.parse(dateStringToParse);  
           java.sql.Date sqlDate = new java.sql.Date(date.getTime());
           System.out.println(sqlDate.getTime());  
     
    catch (Exception ex) {  
         System.out.println(ex.getMessage());  
    }

     

    java.util.Date, java.util.Calendar, java.sql.Date, java.sql.Time, java.sql.Timestamp區別和聯系:

     

    在java有關的項目開發工作中,我們常常要java.util.Date,  java.util.Calendar,   java.sql.Date,    java.sql.Time,   java.sql.Timestamp等幾個類進行日期的處理和分析,那么這幾個函數之間有什么樣的聯系,它們又有什么區別呢?

    首先來說說它們之間的關系,java.util.Date這個類是java.sql.Date,  java.sql.Time,  java.slq.Timestamp這三個類的父類。這三個類對java.util.Date類進行了包裝。

    java.sql.Date類屏蔽了java.util.Date類的時間有關的方法(形如:hh:mm:ss),因此,不可以通過這個類訪問時間有關的信息,比如,如果你通過sqlDate.getHour()方法去訪問小時信息,此方法會拋出一個IllegalArgumentException異常。這是因為java.sql.Date在繼承java.util.Date類的時候對父類進行了重寫,禁用了時間訪問的方法。之所以這么處理,是為了和數據庫的Date數據類型相匹配,數據庫的Date數據類行只是保存日期有關的字段。

    Java.sql.Time類屏蔽了java.util.Date的日期有關的字段(形如:yyyy-MM-dd),因此,不能通過這個類訪問日期有關的信息,比如:如果你通過sqlTime.getYear()方法去獲取年有關的信息,此方法會拋出一個IllegalArgumentException異常。這是因為java.sql.Time在繼承java.util.Date類的時候對父類進行了重寫,禁用了日期訪問的方法。之所以這么處理,是為了和數據庫的Time數據類型相匹配,數據庫的Time數據類行只是保存時間有關的字段。

    Java.sql.Timestamp字段則對java.util.Date這個類進行了擴充,它在java.util.Date類的基礎上增加了毫秒的時間訪問控制,因此,你可以通過getNanos()方法去獲取時間的毫微秒數(注意此處獲取的時間是以毫微秒為單位的,1秒等于十億毫微秒),同樣的,這也是為了和數據庫中的Timestamp數據類型進行匹配。

    理清了上述四個類的關系,那么java.util.Date和java.util.Calendar類有什么關系呢?

    Java.util.Calendar類是java.util.Date類的一個更加深入,更加全面的替代。Java.util.Calendar類支持java.util.Date的所有功能,此外,Calendar還引入了多語言,多區域的特性,可以根據需要獲取不同區域,不同時區的時間,Calendar還增加了比Date更加方便和快捷的許多操作,如獲取一年當中的第幾個星期,各個月的天數等便捷的方法。

    Java.util.Calendar區別與java.util.Date的幾個地方也需要注意一下:首先,Calendar增加了毫秒的時間段,通過它可以獲取時間點的毫秒值,而java.util.Date只是精確到秒。其次,Calendar過去年的時候是當前年份比如:2010,而Date獲取年份的時獲取到的是當前年份-1900的一個值(2010-1900=110,因此,你調用getYear后過去的值就是110)。最后Calendar是一個抽象類,之所以能夠實例化,是因為此處的Calendar充當了一個類似于工廠的作用,在getInstance方法中實例化了Calendar子類GregorianCalendar,并把它返回給客戶使用。

    posted @ 2012-08-01 18:33 奮斗成就男人 閱讀(532) | 評論 (0)編輯 收藏

    execute、executeUpdate、executeQuery三者的區別(及返回值)

    一、boolean execute(String sql)
    允許執行查詢語句、更新語句、DDL語句。
    返回值為true時,表示執行的是查詢語句,可以通過getResultSet方法獲取結果;返回值為false時,執行的是更新語句或DDL語句,getUpdateCount方法獲取更新的記錄數量。
    例子:
    public static void main(String[] args) {

      Connection conn 
    = null;
      Statement stm 
    = null;
      ResultSet rs 
    = null;
      
    try {
       Class.forName(
    "com.microsoft.sqlserver.jdbc.SQLServerDriver");
       conn 
    = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=Test;user=sa;password=sasa");
       stm 
    = conn.createStatement();
       
    boolean ret = stm.execute("select * from stuinfo");
       
    if(ret){
        rs 
    = stm.getResultSet();
        
    while(rs.next()){
         System.out.println(
    "姓名:"+rs.getString("stuName")+"\t年齡:"+rs.getString("stuScore"));
        }

       }

       ret 
    = stm.execute("update stuinfo set stuScore=62 where stuname='張三'");
       
    int count = stm.getUpdateCount();
       
    if(!ret){
        System.out.println(count
    +"條數據修改成功!");
       }

      }
     catch (ClassNotFoundException e) {
       e.printStackTrace();
      }
     catch (SQLException e) {
       e.printStackTrace();
      }
      
     }

    二、
    int executeUpdate(String sql)
    執行給定 SQL 語句,該語句可能為 INSERT、UPDATE 或 DELETE 語句,或者不返回任何內容的 SQL 語句(如 SQL DDL 語句)。
    返回值是更新的記錄數量
    三、ResultSet executeQuery(String sql)
    執行給定的 SQL 語句,該語句返回單個 ResultSet 對象。

    posted @ 2012-08-01 18:31 奮斗成就男人 閱讀(4561) | 評論 (0)編輯 收藏

    struts2.0工作原理

    最近學習struts2,其實它就是webwork2.2的升級版,現附上原理圖 

    struts2.0工作原理 - caoyanhua_05 - caoyanhua_05的博客

    上圖來源于Struts2官方站點,是Struts 2 的整體結構。

    一個請求在Struts2框架中的處理大概分為以下幾個步驟

    1 客戶端初始化一個指向Servlet容器(例如Tomcat)的請求

    2 這個請求經過一系列的過濾器(Filter)(這些過濾器中有一個叫做ActionContextCleanUp的可選過濾器,這個過濾器對于Struts2和其他框架的集成很有幫助,例如:SiteMesh Plugin)

    3 接著FilterDispatcher被調用,FilterDispatcher詢問ActionMapper來決定這個請是否需要調用某個Action

    4 如果ActionMapper決定需要調用某個Action,FilterDispatcher把請求的處理交給ActionProxy

    5 ActionProxy通過Configuration Manager詢問框架的配置文件,找到需要調用的Action類

    6 ActionProxy創建一個ActionInvocation的實例。

    7 ActionInvocation實例使用命名模式來調用,在調用Action的過程前后,涉及到相關攔截器(Intercepter)的調用。

    8 一旦Action執行完畢,ActionInvocation負責根據struts.xml中的配置找到對應的返回結果。返回結果通常是(但不總是,也可 能是另外的一個Action鏈)一個需要被表示的JSP或者FreeMarker的模版。在表示的過程中可以使用Struts2 框架中繼承的標簽。在這個過程中需要涉及到ActionMapper

     

    在上述過程中所有的對象(Action,Results,Interceptors,等)都是通過ObjectFactory來創建的。

    posted @ 2012-08-01 17:46 奮斗成就男人 閱讀(172) | 評論 (0)編輯 收藏

    Struts2攔截器(Interceptor)

         摘要: 1.    理解攔截器 1.1.    什么是攔截器: 攔截器,在AOP(Aspect-Oriented Programming)中用于在某個方法或字段被訪問之前,進行攔截然后在之前或之后加入某些操作。攔截是AOP的一種實現策略。 在Webwork的中文文檔的解釋為——攔截器是動態攔截Action調用的對象。...  閱讀全文

    posted @ 2012-08-01 17:44 奮斗成就男人 閱讀(182) | 評論 (0)編輯 收藏

    Struts2文件的上傳和下載

         摘要: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->1.    文件上傳的原理:表單元素的enctype屬性指定的是表單數據的編碼方式,該屬性有3個值:1)     ...  閱讀全文

    posted @ 2012-08-01 17:41 奮斗成就男人 閱讀(583) | 評論 (0)編輯 收藏

    Java中定時器

    對于開發游戲項目的同胞來說,Timer 這個東西肯定不會陌生,今天放假閑來無事,對以前自己經常使用的定時進行了一番小小的總結!沒有寫具體實現的原理,只是列舉出了其中的四種比較常見的使用方法,相對而言,所以只要按照其所列舉的例子仿照即可!

    import java.util.Calendar;
    import java.util.Date;
    import java.util.Timer;
    import java.util.TimerTask;

    public class TimeTest {
        
    public static void main(String[] args) {
            timer1();
            
    //timer2();
            
    //timer3();
            
    //timer4();
        }


        
    // 第一種方法:設定指定任務task在指定時間time執行 schedule(TimerTask task, Date time)
        public static void timer1() {
            Timer timer 
    = new Timer();
            timer.schedule(
    new TimerTask() {
                
    public void run() {
                    System.out.println(
    "-------設定要指定任務--------");
                }

            }
    2000);// 設定指定的時間time,此處為2000毫秒
        }


        
    // 第二種方法:設定指定任務task在指定延遲delay后進行固定延遲peroid的執行
        
    // schedule(TimerTask task, long delay, long period)
        public static void timer2() {
            Timer timer 
    = new Timer();
            timer.schedule(
    new TimerTask() {
                
    public void run() {
                    System.out.println(
    "-------設定要指定任務--------");
                }

            }
    10005000);
        }


        
    // 第三種方法:設定指定任務task在指定延遲delay后進行固定頻率peroid的執行。
        
    // scheduleAtFixedRate(TimerTask task, long delay, long period)
        public static void timer3() {
            Timer timer 
    = new Timer();
            timer.scheduleAtFixedRate(
    new TimerTask() {
                
    public void run() {
                    System.out.println(
    "-------設定要指定任務--------");
                }

            }
    10002000);
        }

        
        
    // 第四種方法:安排指定的任務task在指定的時間firstTime開始進行重復的固定速率period執行.
        
    // Timer.scheduleAtFixedRate(TimerTask task,Date firstTime,long period)
        public static void timer4() {
            Calendar calendar 
    = Calendar.getInstance();
            calendar.set(Calendar.HOUR_OF_DAY, 
    12); // 控制時
            calendar.set(Calendar.MINUTE, 0);       // 控制分
            calendar.set(Calendar.SECOND, 0);       // 控制秒

            Date time 
    = calendar.getTime();         // 得出執行任務的時間,此處為今天的12:00:00

            Timer timer 
    = new Timer();
            timer.scheduleAtFixedRate(
    new TimerTask() {
                
    public void run() {
                    System.out.println(
    "-------設定要指定任務--------");
                }

            }
    , time, 1000 * 60 * 60 * 24);// 這里設定將延時每天固定執行
        }

    }

    posted @ 2012-08-01 17:36 奮斗成就男人 閱讀(1032) | 評論 (1)編輯 收藏

    Javascript 常用驗證

         摘要: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->javascript常用驗證:(1):驗證IP地址:function checkIP(){  var ipArray,ip,j;  ip&nbs...  閱讀全文

    posted @ 2012-07-24 12:34 奮斗成就男人 閱讀(251) | 評論 (0)編輯 收藏

    僅列出標題
    共23頁: First 上一頁 15 16 17 18 19 20 21 22 23 下一頁 
    主站蜘蛛池模板: 国产日韩精品无码区免费专区国产 | 亚洲av无码国产精品色午夜字幕| 无码一区二区三区亚洲人妻| 午夜dj免费在线观看| 亚洲国产熟亚洲女视频| 一二三四视频在线观看中文版免费| 亚洲日韩乱码久久久久久| 永久黄色免费网站| 亚洲一卡2卡4卡5卡6卡在线99 | 在线观看亚洲免费视频| 四虎免费影院4hu永久免费| 男女猛烈xx00免费视频试看| 亚洲国产成人a精品不卡在线| 香蕉97碰碰视频免费| 亚洲狠狠婷婷综合久久久久 | 在线观看免费高清视频| 亚洲丁香婷婷综合久久| 波多野结衣视频在线免费观看| 午夜在线免费视频 | 亚洲色WWW成人永久网址| 国产精成人品日日拍夜夜免费| 91在线精品亚洲一区二区| 一个人免费观看www视频在线| 亚洲人成电影网站色| 亚洲国产精品成人久久蜜臀 | 亚洲精品人成网在线播放影院| 永久在线毛片免费观看| 人妖系列免费网站观看| 亚洲资源在线观看| 插B内射18免费视频| 一级做性色a爰片久久毛片免费| 国产亚洲婷婷香蕉久久精品| 四虎在线免费视频| 美女18一级毛片免费看| 亚洲精品私拍国产福利在线| 成人免费看片又大又黄| 99精品视频在线观看免费| 亚洲国产成人精品久久| 亚洲人妻av伦理| 最新欧洲大片免费在线| 国产特黄一级一片免费|