JSP內置對象及經常使用方法 JSP內置對象及經常使用方法

JSP內置對象及經常使用方法

 

jsp九大內置對象及四個做用域:html

何爲做用域java

  先讓咱們看看效果:數組

  大概流程是這樣的,咱們訪問index.jsp的時候,分別對pageContext, request, session,application四個做用域中的變量進行累加。(固然先判斷這個變量是否是存在,若是變量不存在,則要把變量初始化成1)。計算完成後就從index.jsp執行forward跳轉到test.jsp。在test.jsp裏再進行一次累加,而後顯示出這四個整數來。瀏覽器

  從顯示的結果來看,咱們能夠直觀的得出結論:tomcat

  page裏的變量無法從index.jsp傳遞到test.jsp。只要頁面跳轉了,它們就不見了。服務器

  request裏的變量能夠跨越forward先後的兩頁。可是隻要刷新頁面,它們就從新計算了。網絡

  session和application裏的變量一直在累加,開始還看不出區別,只要關閉瀏覽器,再次重啓瀏覽器訪問這頁,session裏的變量就從新計算了。session

    application裏的變量一直在累加,除非你重啓tomcat,不然它會一直變大。app

做用域規定的是變量的有效期限jsp

  若是把變量放到pageContext裏,就說明它的做用域是page,它的有效範圍只在當前jsp頁面裏。

  從把變量放到pageContext開始,到jsp頁面結束,你均可以使用這個變量。

  若是把變量放到request裏,就說明它的做用域是request,它的有效範圍是當前請求週期。

  所謂請求週期,就是指從http請求發起,到服務器處理結束,返回響應的整個過程。在這個過程當中可能使用forward的方式跳轉了多個jsp頁面,在這些頁面裏你均可以使用這個變量。

  若是把變量放到session裏,就說明它的做用域是session,它的有效範圍是當前會話。

  所謂當前會話,就是指從用戶打開瀏覽器開始,到用戶關閉瀏覽器這中間的過程。這個過程可能包含多個請求響應。也就是說,只要用戶不關瀏覽器,服務器就有辦法知道這些請求是一我的發起的,整個過程被稱爲一個會話(session),而放到會話中的變量,就能夠在當前會話的全部請求裏使用。

  若是把變量放到application裏,就說明它的做用域是application,它的有效範圍是整個應用。

  整個應用是指從應用啓動,到應用結束。咱們沒有說「從服務器啓動,到服務器關閉」,是由於一個服務器可能部署多個應用,固然你關閉了服務器,就會把上面全部的應用都關閉了。

  application做用域裏的變量,它們的存活時間是最長的,若是不進行手工刪除,它們就一直能夠使用。

  與上述三個不一樣的是,application裏的變量能夠被全部用戶共用。若是用戶甲的操做修改了application中的變量,用戶乙訪問時獲得的是修改後的值。這在其餘scope中都是不會發生的,page, request,session都是徹底隔離的,不管如何修改都不會影響其餘人的數據。

request經常使用方法

l得到客戶機信息

 •getRequestURL方法返回客戶端發出請求時的完整URL。

 •getRequestURI方法返回請求行中的資源名部分。

 •getQueryString 方法返回請求行中的參數部分。

 •getRemoteAddr方法返回發出請求的客戶機的IP地址

 •getRemoteHost方法返回發出請求的客戶機的完整主機名

 •getRemotePort方法返回客戶機所使用的網絡端口號

 •getLocalAddr方法返回WEB服務器的IP地址。

 •getLocalName方法返回WEB服務器的主機名

 •getMethod獲得客戶機請求方式

 

response對象

response對象包含了響應客戶請求的有關信息,但在JSP中不多直接用到它。它是HttpServletResponse類的實例。

1  String getCharacterEncoding() 返回響應用的是何種字符編碼

2  ServletOutputStream getOutputStream() 返回響應的一個二進制輸出流

3  PrintWriter getWriter() 返回能夠向客戶端輸出字符的一個對象

4  void setContentLength(int len) 設置響應頭長度

5  void setContentType(String type) 設置響應的MIME類型

6  sendRedirect(java.lang.String location) 從新定向客戶端的請求

 

session對象

session對象指的是客戶端與服務器的一次會話,從客戶連到服務器的一個WebApplication開始,直到客戶端與服務器斷開鏈接爲止。它是HttpSession類的實例

1  long getCreationTime() 返回SESSION建立時間

2  public String getId() 返回SESSION建立時JSP引擎爲它設的唯一ID號

3  long getLastAccessedTime() 返回此SESSION裏客戶端最近一次請求時間

4  int getMaxInactiveInterval() 返回兩次請求間隔多長時間此SESSION被取消(ms) 

5  String[] getValueNames() 返回一個包含此SESSION中全部可用屬性的數組

6  void invalidate() 取消SESSION,使SESSION不可用

7  boolean isNew() 返回服務器建立的一個SESSION,客戶端是否已經加入 

8  void removeValue(String name) 刪除SESSION中指定的屬性

9  void setMaxInactiveInterval() 設置兩次請求間隔多長時間此SESSION被取消(ms)

 

jsp動做及做用 JSP共有如下6種基本動做:     jsp:include:在頁面被請求的時候引入一個文件;     jsp:useBean:尋找或者實例化一個JavaBean。;     jsp:setProperty:設置JavaBean的屬性。;     jsp:getProperty:輸出某個JavaBean的屬性;     jsp:forward:把請求轉到一個新的頁面;     jsp:plugin:根據瀏覽器類型爲Java插件生成OBJECT或EMBED標記
相關文章
相關標籤/搜索