javaweb 常用內置對象

1.作用範圍

pageContext:頁面容器,默認在當前頁面中起作用
request:在一次服務器跳轉中有效。通過超鏈接跳轉,地址欄改變,屬於客戶端跳轉,request無效。request表示客戶端的請求,一次請求服務器只會給予一次迴應。如果請求的同時地址欄改變了,它也相當於一次請求,那麼第一次請求的內容就已經消失了,無法取得。
session:在一個瀏覽器中始終有效。每一個新的瀏覽器連接上服務器後就是一個新的session,表示每一位不同的上網者各自的屬性,所以新的瀏覽器打開後無法取得其它session設置的屬性。
application:在同一臺服務器活動範圍內所有用戶可見,不管何種跳轉。不過設置過多會影響服務器性能。

注意:<jsp:forward page=""/>屬於服務器跳轉,無條件直接跳轉
response.setHeader()和response.sendRedirect()通過頭信息跳轉方式的屬於客戶端跳轉
只有服務器端跳轉才能夠將request範圍的屬性保存到跳轉頁
如果使用的是服務器跳轉,則執行到跳轉語句時會立刻進行跳轉;如果使用客戶端跳轉,則是在整個頁面執行完之後才執行跳轉。

2.各內置對象常用法法

pageContext進行屬性設置,方法:
public abstract void setAttribute(java.lang.String name,java.lang.Object o,int scope)
第四個參數指定page屬性範圍。較少使用。

內置對象共有方法:

public void setAttribute(String name,Object c):設置屬性的名稱及內容
public Object getAttribute(String name):根據屬性名稱
public void removeAttribute(String name):刪除指定的屬性

1).request對象
方法:

public String getParameter(String name):接收客戶端發來的請求參數內容
public String[] getParameterValues(String name):取得客戶端發來的一組請求參數內容
public Enumeratioin getParameterNames():取得全部請求參數的名稱
void setCharacterEncoding(String env):設置統一的請求編碼
public Httpsession getSession():取得當前的session對象
public String getContextPath():取得上下文資源路徑

eg:

Enumeration enu = request.getParameterNames();
while(enu.hasMoreElements()){
     String paramName = (String)enu.nextElement();
     if(paramName.startsWith("**"){
           String[] paramValue = request.getParameterValues(paramName);
           for(int x=0;x<paramValue.length;x++){
                System.out.println(paramValue[x]);
           }
      }else{
           String paramValue = request.getParameter(paramName);
           System.out.println(paramValue);
       }
}

2).response對象

方法:
public void addCookie(Cookie cookie):向客戶端加加Cookie
public void setHeader(String name,String value):設置迴應的頭信息
public void sendRedirect(String location):頁面跳轉

eg:

response.setHeader("refresh","2;URL=XXX.html");//兩秒後跳轉

3).Cookie對象

方法;
public Cookie(String name,String value):實例化Cookie對象,同時設置Cookie的名稱和內容
public String getName():取得Cookie的名稱
public String getValue():取得Cookie的內容
public void setMaxAge(int expiry):設置Cookie的保存時間,以秒爲單位

4).Session對象

public String getId():取得Session ID
public boolean isNew():判斷是否是新的session(新用戶)
public void invalidate():讓session失效
public Enumeration getAttributeNames():得到全部屬性的名稱

5).application對象

方法:
String getRealPath(String path):得到虛擬目錄對應的絕對路徑,常用於文件上傳,確保絕對路徑有效

6).config對象

方法:
public String getInitParameter(String name):取得指定名稱的初始化參數內容
public Enumeration getInitParameterNames():取得全部的初始化參數名稱
需要修改web.xml置置初始化參數
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章