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

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

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

    隨筆-7  評論-24  文章-102  trackbacks-0

    以下文字皆是我閱讀《JSP2.0 技術手冊》1-7 章的心得&筆記,此書做為 JSP 入門參考手冊,值得推薦。


    1、JSP 的執行過程(1)客戶端發出 Request(請求);
    (2)JSP 容器將 .jsp 頁面轉譯成 Servlet 的 .java 源碼;
    (3)將產生的 Sevlet 源碼進行編譯,并加載的內存執行;
    (4)把結果 Response (響應)至客戶端。

    ps.更詳細的說明可以參考 IBM dW 社區的文章:Scott Johnson:JavaServer Pages 新手入門
    里面詳細的說明了 JSP 容器在處理階段(轉換和請求)實踐細節。

     

    2、JSP 語法

    JSP 頁具有元素和模板數據。
          元素是 JSP 容器已知的元素類型的實例。
          其他的都是模板數據,即所有 JSP 轉換器不知道的內容。

          HTML 是模板文本;JSP 技術并不知道如何解析或驗證 HTML 標記(如 codegen.jsp 中的 <html><head><title>)。這意味著可以將 HTML 嵌入到 JSP 頁,會在頁執行時直接將此內容發送到瀏覽器。

    元素 有四種類型:Directive ELements(指令元素)、Scripting ELements(腳本元素)、Action ELements(動作元素)和 EL表達式。


     

    3、指令元素        指令(Directives)主要用來提供整個 JSP 網頁相關的信息,并且用來設定 JSP 網頁的相關屬性,例如:網頁的編碼方式、語法、信息等。
            <%@   directive   attribute1="value"    attribute2="value"   %>

    4 attribute指令 
    5 tag指令 
    6 variable指令 
    1 page指令 
    2 include指令
    3 taglib指令


      

    4、腳本元素        JSP 中的腳本元素包括聲明、scriptlet 和表達式,內放置的是 Java 代碼。

    聲明語法為 <%!... %>
            ps.使用聲明將不加修改地放入 _codegen.java 中的頁實現類的類級別,而不是在服務方法內,即表示:若同時 n個用戶在執行此 JSP 網頁時,將會共享變量(類實例變量)。這樣當 JSP 在多用戶環境中執行時,一個特別重要的變量被一個用戶請求的線程更改了,將會出錯,這是非常危險的。(編譯為 Servlet 的時候將作為類的公共字段

    scriptlet 語法為 <% ...%>
            ps.在 JSP 中嵌入 Java 是需要此類括號來讓 Java 代碼保持有效和完整。當 JSP 包含數百或數千行 HTML、JSP語法 和 JSP 腳本混合代碼時候,將使得 JSP 難以閱讀和調試。

    表達式語法為 <%= ... %>

            綜上所述,建議不在 JSP 內使用 Java 代碼,改用 JSTL+EL 代替。

    附加:jspInit() 與 jspDestroy()



     

    5、動作元素http://chain99081.blog.163.com/blog/static/45898482008451023885/ 
            動作元素在請求處理階段起作用。JSP 的動作元素是使用XML 語法寫成的,有以下兩種格式:
            <prefix:tag attribute=value attribute-list…/>
           或者<prefix:tag attribute=value attribute-list…</prefix:tag>
    常用動作元素


     


    6、EL 表達式Type text here...



    7、JSP 內置對象     http://riman.blogdriver.com/riman/1011608.html

    內置對象是不需要聲明,直接可以在JSP中使用的對象,JSP有以下幾種內置對象:

    JSP內置對象       Servlet子類                                                作用域

    request                javax.servlet.http.HttpServletRequest          Request
    response             javax.servlet.http.HttpServletResponse       Page
    session               javax.servlet.http.HttpSession                      Session            request.getSession().setAttribute("user", user)
    application          javax.servlet.ServletContext                         Application        servlet.getServletContext().getAttribute("userList")
    out                    javax.servlet.jsp.JSPWrite                            Page
    pageContext       javax.servlet.jsp.PageContext                      Page
    config               javax.servlet.ServletConfig                         Page
    page                  java.lang.Object                                          Page
    exception           java.lang.Throwable                                     Page



    HttpServletRequest request;
    HttpServletResponse response;
    Cookie[]  cookies = request.getCookies();
    HttpSession session = request.getSession();
    ServletContext context = servlet.getServletContext(); 
    PrintWrite out = response.getWriter();


    request:它包含了有關瀏覽器請求的信息,并且提供了幾個用于獲取cookie, header, 和session數據的有用的方法。
    response:提供了幾個用于設置送回瀏覽器的響應的方法(如cookies,頭信息等)
    out:提供了幾個方法使你能用于向瀏覽器回送輸出結果。
                PrintWriter pw = response.getWriter();
                pw.print("<script type='text/javascript'>alert('成功添加一個管理員。');history.go(-1);</script>");
                pw.flush();
                pw.close();

                 //獲得jsp頁面的輸入流
                JspWrite out=pageContext.getOut();
                out.println("<b>HelloWorld!</b>");

    pageContext:它是用于方便存取各種范圍的名字空間、servlet相關的對象的API,并且包裝了通用的servlet相關功能的方法。
    session:可以存貯用戶的狀態信息
    application:有助于查找有關servlet引擎和servlet環境的信息
    config:該對象用于存取servlet實例的初始化參數。
    page:表示從該頁面產生的一個servlet實例。

    Servlet API中的幾個對象
    request,response,session,application,out對象的常用調用的函數
    posted on 2008-08-09 10:12 黃小二 閱讀(231) 評論(0)  編輯  收藏 所屬分類: J2EE
    主站蜘蛛池模板: 国产一区二区三区在线免费 | 久久噜噜噜久久亚洲va久| 中文字幕免费不卡二区| 亚洲av专区无码观看精品天堂| 亚洲AV无码一区二区三区在线观看| 精品一区二区三区免费| 亚洲人av高清无码| 伊人久久大香线蕉亚洲五月天| 无码区日韩特区永久免费系列 | 黄色免费网址大全| 麻豆亚洲av熟女国产一区二| 国产在线观看免费不卡| 午夜无码A级毛片免费视频| 午夜亚洲国产理论片二级港台二级| 国产亚洲一区二区三区在线观看| 最近免费中文字幕大全视频| 中文字幕在线视频免费| 亚洲一区二区三区高清在线观看| 亚洲熟妇丰满多毛XXXX| 午夜两性色视频免费网站| 国产羞羞的视频在线观看免费| 亚洲精品女同中文字幕| 一区二区三区免费视频播放器| 亚洲国产精品综合一区在线 | 亚洲国产精品无码久久久蜜芽| 嫩草视频在线免费观看| 国产精品免费高清在线观看| 国产精品日本亚洲777| 激情综合亚洲色婷婷五月APP| 亚洲精品乱码久久久久久中文字幕| 免费羞羞视频网站| 亚洲成a人片在线观看中文动漫 | 91大神亚洲影视在线| 亚洲国产av一区二区三区| 久久久久久国产精品免费免费| 久久久久久免费一区二区三区 | 四虎1515hh永久久免费| 久久福利青草精品资源站免费| 一级A毛片免费观看久久精品 | 精品无码人妻一区二区免费蜜桃| 亚美影视免费在线观看|