JSP應用(三)

來源:互聯網
上載者:User

 

JSP的執行過程

1、             用戶端發出請求

2、             Web容器將JSP轉議成Servlet原始碼

3、             Web容器將產生的原始碼進行編譯

4、             Web容器載入編譯後的代碼並執行

5、             把執行結果返回用戶端

JSP的異常處理機制

  處理異常的操作

            在錯誤處理頁上必須先倒入<%@ page isErrorPage="true"%>

            異常處理寫為:

            出現了異常:<%=exception %>,請檢查JSP頁面。<br/>

        <!-- 輸出異常處理的錯誤訊息 -->

        <%exception.printStackTrace(new PrintWriter(out)); %>

 

        指定跳轉到哪個錯誤頁

        <%@ page  errorPage="error.jsp"%>

在web.xml中添加

  <error-page>

     <exception-type>

       java.lang.ArithmeticException

     </exception-type>

     <location>

        /error.jsp

     </location>

  </error-page>

可以將工程中的所有錯誤都跳轉到error.jsp頁面

 

發生404錯誤,會跳轉到404.jsp

<error-page>

    <error-code>404</error-code>

    <location>/404.jsp</location>

  </error-page>

404.jsp

  <body>

    你訪問的資源不存在 <br>

  </body>

JSP的隱式對象(JSP的內建對象,也叫隱式對象)

JSP隱式對象是Web容器載入的一組類的執行個體。它是可以直接在JSP頁面使用的對象。分為4個主要類別:

–       輸入和輸出對象:控制頁面的輸入和輸出(request、response、out)。

–       範圍通訊對象:檢索與JSP頁面的Servlet相關的資訊(session、application、pageContext)。

–       Servlet對象:提供有關頁面環境的資訊(page、config)。

–       錯誤對象:處理頁面中的錯誤(exception)。

Request對象:

           Request隱式對象表示用戶端的請求,包含了所有的請求資訊,常用的方法:1、String getParameter(String name):根據頁面表單組件名稱擷取請求頁面提交的資料。2、String getParameterValues(String name):擷取頁面請求中一個表達組件對應多個值時的使用者的請求資料(eg:複選框)

Response對象:

           Response隱式對象處理JSP產生的響應,然後將響應結果發送給用戶端,常用的方法:1、void setContentType(String name):設定作為響應產生的內容的類型和字元編碼。2、void sendRedirect(Strign name):發送一個響應給瀏覽器,指示其應請求另一個URL(會遺失資料,跳轉後不再執行sendRedirect方法下面的代碼)

Out對象:

           Out對象表示輸出資料流,此輸出資料流將作為請求的響應發送到用戶端,常用方法有print()、println()和write()。

範圍通訊對象——

pageContext對象

      pageContext對象使使用者可以訪問當前頁面範圍中定義的所有隱式對象。pageContext對象常用的方法:

1、getRequest()、getServletConfig()、getSession()等

2、void setAttribute(String name, Object value)

3、void getAttribute(String name)

Session對象

           Session對象表示使用者的工作階段狀態,用此項機制可以輕易識別每一個使用者,能儲存和跟蹤使用者的工作階段狀態。Session的常用方法:

1、void setAttribute(String name, Object value)

2、void getAttribute(String name)

Application對象

application對象作用於整個應用程式,所有的用戶端視窗都可以共用該對象,從伺服器開始就存在,直到伺服器關閉為止。application對象最常用的方法:

1、void setAttribute(String name, Object value):以名稱/值的方式,將一個對象的值存放到application中(存的值的類型為Object)。

2、void getAttribute(String name):根據名稱去擷取application中存放對象的值(擷取的值的類型為Object)。

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.