JSP九大內置對象和四大作用域


常用內置對象:

1. 輸出輸入對象:request對象、response對象、out對象

2. 通信控制對象:pageContext對象、session對象、application對象

3. Servlet對象:page對象、config對象

4. 錯誤處理對象:exception對象

一:out(輸出對象)

作用:用於輸出JSP頁面的信息

作用域:page

使用方式:

  <%="信息內容"%>

  <%out.print("信息內容")%>

  <%out.println("信息內容")%>

二:request(請求對象)

作用:將頁面上的動態信息提交給服務器,頁面提交后,顯示輸入的數據

  動態信息:用戶名、密碼

作用域:Request

  指從http頁面請求到服務器端處理結束,返回響應結果的整個過程

使用方式:

  String name = request.getParameter("上一個界面表單里邊的文本域的name");

三:response(響應對象)

作用:將服務器端處理完的結果返回客戶端

  登錄成功-->成功頁面

  登錄失敗-->失敗頁面

作用域:page

使用方式:

  (1)將請求重新定位到一個不同的URL頁面,即頁面重定向

  response.sendRedirect("success.jsp");

  response.sendRedirect("error.jsp");

四:session(會話對象)

*會話:一個會話就是瀏覽器與服務器之間的一次通話

session與瀏覽器一一對應,一次請求響應的過程就是一次會話

作用域:Session

發生以下四種情況之一,session將失效

  •  用戶關閉當前正在使用的瀏覽器

  •  關閉網頁服務器

  •  用戶未向服務器提出請求,無操作停留時間超過session預設時間

  •  運行程序結束session

  *注意:當瀏覽器關閉時,不會向服務器發送信息,這次會話關聯的所有會話數據不會馬上被刪除,直到會話超時才會被刪除。但是,當用戶再次打開瀏覽器時,服務器無法將新請求與以前的會話聯系起來,會通過新請求再創建一個新的會話。

五:application(應用程序對象)

所有客戶端使用的application對象都是同一個,這和session對象不同

作用域:application

  開始於服務器的啟動,結束於服務器的關閉,在此期間,此對象一直存在

作用:

  實現了用戶間數據共享,可存放全局變量。

  *注意:在用戶的前后連續或不同用戶之間的連接中,都可以對此對象的同一屬性進行操作。而且,在任何地方對此對象屬性的操作,都將影響到其他用戶對此訪問。

六:exception(異常對象)

 作用域:page

七:page(頁面對象)

  page指的是JSP本身

作用域:page

八:config(配置對象)

作用域:page

九:pageContext(頁面上下文對象)

作用域:page

可以訪問其他八個對象

四大作用域

pageContext, request, session、application四個作用域中

        1、如果把變量放到pageContext里,就說明它的作用域是page,它的有效范圍只在當前jsp頁面里。 從把變量放到pageContext開始,到jsp頁面結束,你都可以使用這個變量。

        2、如果把變量放到request里,就說明它的作用域是request,它的有效范圍是當前請求周期。所謂請求周期,就是指從http請求發起,到服務器處理結束,返回響應的整個過程。在這個過            程中可能使用forward的方式跳轉了多個jsp頁面,在這些頁面里你都可以使用這個變量。
        3、如果把變量放到session里,就說明它的作用域是session,它的有效范圍是當前會話。所謂當前會話,就是指從用戶打開瀏覽器開始,到用戶關閉瀏覽器這中間的過程。這個過程可能包含多個請求響應。也就是說,只要用戶不關瀏覽器,服務器就有辦法知道這些請求是一個人發起的,整個過程被稱為一個會話(session),而放到會話中的變量,
        4、如果把變量放到application里,就說明它的作用域是application,它的有效范圍是整個應用。整個應用是指從應用啟動,到應用結束。我們沒有說“從服務器啟動,到服務器關閉”是因為一個服務器可能部署多個應用,當然你關閉了服務器,就會把上面所有的應用都關閉了。application作用域里的變量,它們的存活時間是最長的,如果不進行手工刪除,它們就一直可以使用。與上述三個不同的是,application里的變量可以被所有用戶共用。如果用戶甲的操作修改了application中的變量,用戶乙訪問時得到的是修改后的值。這在其他scope中都是不會發生的,page, request, session都是完全隔離的,無論如何修改都不會影響其他


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM