JSP學習筆記

一、JSP本質還是Servlet

二、JSP頁面內容由靜態內容(通過HTML顯示)與動態內容(通過java調用控制)組成

三、第一個訪問JSP頁面的速度很慢,因爲必須等待JSP翻譯成Servlet,之後就不需要了

四、注意JSP頁面聲明的變量和方法。因爲JSP相當於一個Servlet實例,聲明的變量和方法會翻譯爲Servlet實例中的成員變量和方法,Servlet在容器中只有一個實例,成員變量就會被共享。

五、JSP的3個編譯指令:page,include,taglib

六、JSP的7個動作指令:forward,param,include,plugin,useBean,set、getProperty

其中,forward執行頁面轉向,但是不會丟失request裏的參數,使用forward指令,並沒有重新計算請求,還是之前的請求,而後面會出現的redirect重定向就相當於產生新的請求,之前request裏的參數就會被清除。

七、JSP中9個內置對象:application,config,exception,out,page,pageContext,request,response,session

八、Web服務器:

        對於大部分瀏覽器,通常負責完成三件事,即1.向遠程服務器發送請求2.讀取遠程服務器返回的數據3.渲染頁面

        Web服務器則負責接收客戶端請求,之後完成如下工作:1.啓動單獨線程2.使用I/O流讀取請求二進制數據3.解析參數4.處理請求5.生成響應數據6.使用I/O流向客戶端發送請求數據

        而爲了實現JSP、Servlet之間數據的交換,一般都會提供四種類似Map的結構,application,session,request,page,並從這幾種結構中獲取數據。

九、Cookie:增加Cookie使用response內置對象完成,首先創建Cookie對象實例,然後設置其生命期限,最後向客戶端寫入Cookie;訪問Cookie對象使用request

                Cookie c=new Cookie("username",name);

                c.setMaxAge(24*3600);

                response.addCookie(c);

                Cookie[] cookies=request.getCookies();

                for(Cookie c:cookies){

                        if(("username").equals(c.getName)){

                                out.println(c.getValue());

                        }

                }

九、JSP表達式語言

        ${expression}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章