request.setAttribute()和request.getSession().setAttribute()解釋
阿新 • • 發佈:2019-01-31
request.setAttribute()只能在一個request內有效,如果重定向客戶端,將取不到值。
request.getSession().setAttribute()可以通過sessionID得到自己的session,將引數儲存在session中,即使重定向客戶端也沒事,這個值可以在多個頁面上使用。
比如訪問一個網站,登入後用戶資訊被儲存到session中,在session過期之前或者使用者關閉頁面之前,使用者資訊可以通過request.getSession().getAttribute()方式 獲得。
request在當次的請求的URL之間有效,比如,你在請求某個servlet,那麼你提交的資訊,可以使用request.getAttribute()方式獲得,而當你再次跳轉之後,這些資訊將不存在。
JSP裡面的內建物件:
request,response,page,session,application,out,exception,pageContent,config
其中page物件在當前頁面是有效的,application在伺服器開啟之後,一直保持有效狀態,直到伺服器的關閉。
有必要記錄下getParameter()&getAttribute
getParameter()方法傳遞資料,只會從Web客戶端傳遞到WEB伺服器,代表的是HTTP請求資料,getParameter()方法返回的是String型別的資料。
setAttribute()和getAttribute()方法傳遞的資料只會在WEB伺服器內部,在具有轉發關係的WEB元件中傳遞,這兩個方法能設定Object型別的資料共享。