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

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

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

    愚僧

    贏與輸的差別通常是--不放棄

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      23 Posts :: 0 Stories :: 2 Comments :: 0 Trackbacks

    #


    提供一套標準, 實現web服務器之間信息通訊, 接口調用
    posted @ 2013-02-26 09:44 ywm 閱讀(112) | 評論 (0)編輯 收藏


    語法:
    (select ...)
    union [all] | intersect | minus
    (select ...)

    union              并集,排重, 排序
    union all          并集, 排重
    intersect         交集
    minus             差

    from : http://1632004.blog.163.com/blog/static/29991497201282653334529/
    posted @ 2013-02-26 09:33 ywm 閱讀(507) | 評論 (0)編輯 收藏

    變量
    1. 傳值賦值和傳地址賦值(&)
    - 傳地址比較適合大對象,如數組和對象類型, 這樣賦值變量時效率更高.
    - 只有變量才可以傳地址賦值

    同一內存

    2. 預定義變量(數組形式存在)

    $GLOBALS         當前腳本中全局范圍內的有效的變量
    $_SERVER         有WEB服務器設定或當前腳本的執行環境相關的變量
    $_GET               get請求參數
    $_POST             post請求參數
    $_COOKIE         客戶端傳遞至服務器的cookie
    $_FILES            文件上傳變量
    $_ENV              執行環境變量
    $_REQUEST      請求變量
    $_SESSION       會話變量

    3. 變量的范圍
    在include 和 require 引入的文件中有效
    全局范圍的變量在局部范圍內(如函數體內)無效, 需要使用global(關鍵字或者globals數組)去聲明使用全局變量.

    4.靜態變量
    static $變量名;
    其值會一直保存


    5. 可變變量名
    $vn = "varName";
    $$vn = "varValue";
    echo $varName;
    結果 : 
    varValue

    6. 確定變量的類型
    gettype()
    array    : is_array()

    float     : is_float()
    integer  : is_int()
    object   : is_object()
    string    : is_string()


    posted @ 2013-02-25 17:45 ywm 閱讀(96) | 評論 (0)編輯 收藏

    有一個已經排序的數組(升序),數組中可能有正數、負數或0,求數組中元素的絕對值最小的數,要求,不能用順序比較的方法(復雜度需要小于O(n)),可以使用任何語言實現

    例如,數組{-20,-13,-4, 6, 77,200} ,絕對值最小的是-4。


    package web;

    import java.util.Arrays;

    /**
     * 有一個已經排序的數組(升序), 數組中可能有正數、負數或0,求數組中元素的絕對值最小的數, 要求,不能用順序比較的方法 求絕對值最小的數
     * 
     * 
    @author mayw
     
    */
    public class FindMinValue {

        /**
         * 
         * 
    @param source
         *            原數組
         * 
    @return 絕對值最小的數
         * 
    @throws Exception 
         
    */
        public static int[] getMinAbsoluteValue(final int[] source) throws Exception {
            int[] rvs = null;
            if(source==null){
                throw new Exception("非法的原數組, 對象為null");
            }
            int index = binarySearch(source,0);
            int insertPos = -1 - index;
            if(index >= 0){
                return new int[]{0}; // 存在0, 0絕對值最小 
            }else if(source.length==1){
                return new int[]{source[0]};
            }else if(insertPos == source.length){
                return new int[]{source[source.length - 1]};
            }else if(insertPos == 0){
                return new int[]{source[0]};
            }else if(Math.abs(source[insertPos]) > Math.abs(source[insertPos - 1])){
                return new int[]{source[insertPos - 1]};
            }else if(Math.abs(source[insertPos]) == Math.abs(source[insertPos - 1])){
                return new int[]{source[insertPos - 1],source[insertPos],};
            }else{
                return new int[]{source[insertPos]};
            }
    //        int rv = index >= 0 ? 0
    //                : source[insertPos == source.length ? source.length - 1
    //                        : insertPos];
    //        if(){
    //            
    //        }
    //        return index >= 0 ? 0
    //                : source[insertPos == source.length ? source.length - 1
    //                : insertPos];
        }

        /**
         * 使用二分搜索法來搜索指定的 int 型數組,以獲得指定的值。
         * 
         * 
    @param source
         *            要查找的目標數組
         * 
    @param target
         *            要查找的數
         * 
    @return 如果它包含在數組中,則返回搜索鍵的索引; 否則返回 (-(插入點) - 1)。 插入點
         *         被定義為將鍵插入數組的那一點:即第一個大于此鍵的元素索引, 如果數組中的所有元素都小于指定的鍵,則為 a.length。
         *         注意,這保證了當且僅當此鍵被找到時,返回的值將 >= 0。
         
    */
        public static int binarySearch(final int[] source, int target) {
            int low = 0;
            int high = source.length - 1;
            while(low<=high){
                int midIdx = (low+high)>>1; // 去中間索引
                int midVal = source[midIdx]; // 去中間值
                if(target < midVal){
                    high = midIdx - 1; // 去中間索引的前半部分, 不包含中間索引
                }else if(target > midVal){
                    low = midIdx + 1; // 去中間索引的后半部分, 不包含中間索引
                }else{
                    return midIdx; // 返回當前索引
                }
            }
            return -low-1;
        }

        public static void main(String[] args) throws Exception {
            System.out.println(Arrays.toString(getMinAbsoluteValue(new int[]{0})));
            System.out.println(Arrays.toString(getMinAbsoluteValue(new int[]{-1})));
            System.out.println(Arrays.toString(getMinAbsoluteValue(new int[]{1})));
            System.out.println(Arrays.toString(getMinAbsoluteValue(new int[]{-4,-2,-1})));
            System.out.println(Arrays.toString(getMinAbsoluteValue(new int[]{-4,-2,-1,1,2,3,4})));
            System.out.println(Arrays.toString(getMinAbsoluteValue(new int[]{-4,-2,-1,2,3,4})));
            System.out.println(Arrays.toString(getMinAbsoluteValue(new int[]{-4,-2,-2,1,3,4})));
            System.out.println(Arrays.toString(getMinAbsoluteValue(new int[]{1,2,3,4})));
        }

    }


    from : http://www.cnblogs.com/nokiaguy/archive/2013/01/29/2881476.html
    posted @ 2013-02-24 20:51 ywm 閱讀(179) | 評論 (0)編輯 收藏

    /* 參考 : http://www.w3school.com.cn/xmldom/dom_http.asp */
    /*
     * 獲取ajax對象
     
    */
    function getXmlHttpRequest(){
        var xhr = null;
        if(typeof(XMLHttpRequest) != 'undefined'){
            xhr = new XMLHttpRequest();
        }else{
            xhr = new ActiveXObject("Microsoft.XMLHttp");
        }
        return xhr;
    }

    /*
     * post方式請求
     
    */
    function post(url, queryString,fn){
        var xhr = getXmlHttpRequest();
        xhr.open('post',url,true);
        xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
        xhr.onreadystatechange=function(){
            if(xhr.readyState == 4){
                if(xhr.status == 200){
                    fn.apply(this,[xhr]);
                }
            }
        };
        xhr.send(queryString);
    }

    /*
     * get方式請求
     
    */
    function get(url,fn){
        var xhr = getXmlHttpRequest();
        xhr.open('get',url,true);
        xhr.onreadystatechange=function(){
            if(xhr.readyState == 4){
                if(xhr.status == 200){
                    fn.apply(this,[xhr]);
                }
            }
        };
        xhr.send(null);
    }

     /*
      * 測試
      
    */
    post("ajax","",function(xhr){
        alert(xhr.responseText);
    });
    posted @ 2013-02-22 17:18 ywm 閱讀(104) | 評論 (0)編輯 收藏


    作用:
    監聽Container中對象狀態的變化

    可監聽的對象:
    • ServletContext
    • HttpSession
    • ServletRequest
    8個Listener接口和6個Event類:




    from : http://m.tkk7.com/i369/articles/236313.html
    posted @ 2013-02-22 11:08 ywm 閱讀(105) | 評論 (0)編輯 收藏

    posted @ 2013-02-22 11:00 ywm 閱讀(110) | 評論 (0)編輯 收藏

    test1.jsp=======================

    <a href ="test.jsp?p=fuck">跳轉到test2</a>

    test2.jsp=======================

    <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

    out.println("basePath:"+basePath);
    out.println("<br/>");
    out.println("getContextPath:"+request.getContextPath());
    out.println("<br/>");
    out.println("getServletPath:"+request.getServletPath());
    out.println("<br/>");
    out.println("getRequestURI:"+request.getRequestURI());
    out.println("<br/>");
    out.println("getRequestURL:"+request.getRequestURL());
    out.println("<br/>");
    out.println("getRealPath:"+request.getRealPath("/"));
    out.println("<br/>");
    out.println("getServletContext().getRealPath:"+getServletContext().getRealPath("/"));
    out.println("<br/>");
    out.println("getQueryString:"+request.getQueryString());

    %>

    請求路徑:
    http://localhost:8080/test/test.jsp?p=fuck

    顯示結果:

    basePath:http://localhost:8080/test/

    getContextPath:/test 
    getServletPath:/test.jsp 
    getRequestURI:/test/test.jsp 
    getRequestURL:http://localhost:8080/test/test.jsp 
    getRealPath:D:\Tomcat 6.0\webapps\test\ 
    getServletContext().getRealPath:D:\Tomcat 6.0\webapps\test\ 
    getQueryString:p=fuck

    在一些應用中,未登錄用戶請求了必須登錄的資源時,提示用戶登錄,此時要記住用戶訪問的當前頁面的URL,當他登錄成功后根據記住的URL跳回用戶最后訪問的頁面:

    String lastAccessUrl = request.getRequestURL() + "?" + request.getQueryString();

    from : http://www.cnblogs.com/JemBai/archive/2010/11/10/1873764.html

    posted @ 2013-02-22 10:56 ywm 閱讀(96) | 評論 (0)編輯 收藏

    1. 語法格式

    • 靜態包含:<%@ include file="被包含頁面" %>;
    • 動態包含:<jsp:include page="被包含頁面" />。

     

    2. 區別

    • 導入路徑 : 靜態包含是相對于被包含頁面, 動態包含是相對于包含頁面
    • 動態包含先編譯成servlet然后包涵(2個servlet) , 靜態包含先包含后解析成一個servlet
    3.相同點
    • 公用一個request

     

     

    posted @ 2013-02-21 23:10 ywm 閱讀(155) | 評論 (0)編輯 收藏


    全局變量
    1. 方法外
    • var variableName = "variableValue";
    • variableName = "variableValue";
    2. 方法內
    • variableName = "variableValue";
    • window.variableName = "variableValue";
    局部變量
    1. 方法內
    • var variableName = "variableValue";
    posted @ 2013-02-21 17:09 ywm 閱讀(101) | 評論 (0)編輯 收藏

    僅列出標題
    共3頁: 上一頁 1 2 3 下一頁 
    主站蜘蛛池模板: 日本成人在线免费观看| 中文字幕人成无码免费视频| 男男gay做爽爽的视频免费| 亚洲av无码成人精品区一本二本| 亚洲AV综合永久无码精品天堂| 日本高清免费中文在线看| 中文字幕一区二区三区免费视频| 一级毛片全部免费播放| 91免费资源网站入口| 亚洲人成在线播放| 一级毛片视频免费观看| 久久精品免费电影| 国产又大又黑又粗免费视频 | 九九九精品成人免费视频| 成人午夜亚洲精品无码网站| 亚洲天堂中文字幕在线观看| 国产日韩一区二区三免费高清| 午夜高清免费在线观看| 久久久影院亚洲精品| 亚洲AV性色在线观看| 亚洲成A人片77777国产| 天堂亚洲国产中文在线| 国产精品免费久久久久久久久| 国产精品久免费的黄网站| 成人免费夜片在线观看| 精品国产免费一区二区| 亚洲最大中文字幕| 国产精品免费视频播放器| 一边摸一边桶一边脱免费视频| 亚洲av无码不卡| 日本一区午夜艳熟免费| 亚洲视频免费在线看| 国产一精品一AV一免费| 国产亚洲精品福利在线无卡一| 日韩免费人妻AV无码专区蜜桃| 亚洲va久久久噜噜噜久久| 久久久久久99av无码免费网站| 一级特黄aaa大片免费看| 中文字幕亚洲色图| 亚洲国产成人久久笫一页| 18女人水真多免费高清毛片|