JSP總結(一)

一、JSP運行機制:
      1、轉譯階段:將JSP頁面轉換成Servlet類(即*.JSP文件轉換成*.Java文件)   
      2、編譯階段:Servlet類編譯成*.class文件,並執行,將相應結果發送至客戶端。
二、腳本元素:
      1、JSP聲明語句:
          格式:<%! 聲明語句 %>
          示例:<body>
                             <%! int a=1; %>    
                              <% out.println("a="+a); %>  
                     </body>
      2、JSP表達式:
            示例:
             <body>
                                        <%! String str = "Hello!"; %>    
                                         <% =str; %>  
                               </body>
三、JSP指令元素
       1、page指令:
          a、import指令:<%@ page language="java" import="java.util.*" %>
          b、是否啓用Session :<%@ page session="true" %>
          c、errorPage屬性:當jsp文件發生錯誤的時候,網頁重新跳轉到能夠處理異常的指定的jsp文件。
                                    <%@ page errorpage="error.jsp" %>
          d、isErrorPage屬性:指定的jsp文件是否能夠處理異常的jsp文件,默認值是false。
          e、contentType屬性:指定JSP文件的MIME格式,以及網頁編碼格式。
                                   <%@ page contentType="text/html;charset=ISO-8859-1"  %>
          f、pageEncoding屬性:用來指定網頁的編碼格式
                                   <%@ page pageEncoding="gb2312" %>
      2、include指令:(靜態include:在轉譯時合在一起,會成爲一個類,變量不可以重複)
           格式:<%@ include file="" %> 可以包含文本文檔、HTML文檔、JSP文件等。
四、JSP動作指令
       1、包含文件:<jsp:include>(動態include:在運行時調用另一個頁面,變量可以重複)  
       2、頁面跳轉:<jsp:forward>實現頁面轉發,等效於
                               客戶端跳轉: action , a-->href , window.location.href = "www.baidu.com"
                               服務器端頁面切換:response.sendRedirect(url) [跳轉,重定向],
                                                               rd = request.getRequestDispatcher(url) ; 
                                                               request.setAttibute("name" , "Lisa");
                                                               rd.forward(request , response); [轉發]
      3、傳遞參數:<jsp:param>
五、JSP內置對象:
        1、page對象:只在一個頁面有效。
              應用:屬性的應用:<% pageContext.setAttribute("name" , "Ancent");%>     
              在這個頁面中是可以存取這個屬性的,但是在其他頁面中是不可以訪問該變量。
        2、request對象:在一次請求的範圍內有效,如果從一個頁面進行跳轉,那麼這個屬性就消失了。
             一次請求: rd = request.getRequestDispatcher(url) ; 
                                request.setAttibute("name" , "Lisa");
                                rd.forward(request , response); [轉發]  
            兩次請求:action , a-->href , window.location.href = "www.baidu.com"
                               服務器端頁面切換:response.sendRedirect(url) [跳轉,重定向],
       3、Session的範圍:指瀏覽器與服務器的一次會話範圍內
       4、application的範圍:其範圍是在整個服務器範圍,直到服務器停止以後纔會失效。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章