大爺的并TM罵人
request response pageContext session application out config page exception JSP中屬性的保存范圍: ★在JSP中可以采用下面方法來設置和取得屬性: → 設置屬性:public abstract void setAttribute(java.lang.String.name,java.lang.Object.atrribute) → 去的屬性:public abstract java.lang.Object getAttribute(java.lang.String.name) ★在JSP中提供了四種屬性保存范圍: → 在一個頁面范圍內:page 在JSP中設置一個頁面屬性范圍,必須通過pageContext完成。pageContext屬性范圍:是最為重要的JSP 屬性之一,但是如果使用純粹的JSP代碼開發,此屬性顯現不出作用。在struts等就極其重要; → 在一次服務器請求范圍內:request request保存在一次請求范圍之內前提:必須使用服務器端跳轉<jsp:forward/> → 在一次會話范圍內:session 設置了Session保存范圍后不管什么跳轉,都可以取得屬性。session的主要功能是驗證用戶是否登陸。 → 在一個應用服務器范圍內:application application屬性范圍值,只要設置一次,則說有的網頁窗口都可以取得數據,主要用于在線人員統計。 application、request、session→都需要跨多個頁,屬性保存是有開銷的,過多的application和session會導致性能下降,所以能使用request就不要使用session,能使用session就不要使用application。如果釋放application只能重新啟動服務器。 ■頁面的中文亂碼問題: 1、頁面顯示的亂碼處理:<%@page context="test/html,charset=gbk"%> 2、頁面傳遞的亂碼處理:①對所有的數據進行在編碼:ISO8859-1 ②設置同意字符編碼 如:
■如果傳遞的內容是數組(復選框、多個下拉列表)使用request的一下方法取得數據 例:
使用request.getParameterNames()方法取得數據
用request.getParamaterValues()方法取得數據
■向服務器傳值還可以使用隱藏域<input type="hidden" name="name" value="aaa">; 還可以使用地址重寫傳遞數據到服務器端。 ■取得客戶端的IP地址:<%=request.getRemoteAddr()%> ★response的主要功能: 1、最有用用的一個頭信息:refresh:刷新 例:
2、response跳轉與forward跳轉 ①<jsp:forward page=""/> ■ 地址欄不改變跳轉----服務器端跳轉 ■ 執行跳轉語句后無條件立即跳轉----之后的代碼不再被執行 ■ 使用forward時,request設置的屬性依然能保留在下一個頁面(setAttrbute) ■ 通過<jsp:param name="" value=""/>傳遞參數 ②response.sendRedirect("地址") ■ 地址欄改變跳轉----客戶端跳轉 ■ 所有代碼執行完畢后跳轉 ■ 不能保存request屬性,地址欄改變 ■ 通過URL地址的重寫傳遞參數 3、設置cookie,cookie是服務器端保存在客戶端的一組資源,例如登錄時會問你是否記住密碼等等。此功能的實現就是通過cookie。 例:
cookie默認只對當前瀏覽器有效,如果長留要設置cookie的保存時間 ■session對象 -session對象主要用于保存用戶的各種信息,知道他的生命周期(一般為900S)超時或被人為地釋放掉為止。 -可以通過session對象來判斷此用戶是否是合法用戶。 1、在服務器上通過session來區分每一個用戶,用戶只要已連接服務器,則立刻分配一個session給用戶。 2、Session的主要方法: ■ 服務器上通過Session來區分用戶(SessionID):任何鏈接到服務器上的用戶,服務器都會為之分配一個 唯一的SessionID,sessionID由服務器同意管理,人為不能控制。 ■ 獲得sessionID的方法,session.getId();,session的長度為32位。 ■ 通過session可以驗證用戶是否登陸 ■ 判斷當前的session是否是新建立的session方法:session.isNew(); ■ session的屬性設置: 設置屬性:public void setAttribute(Stirng name,Object value) 取得屬性:public void getAttribute(String name) 刪除屬性:public void removeAttrbute(String name) ■ 讓session失效,也就是通常用的用戶注銷 手動注銷:public void invalidate() 自動注銷:session長時間不被使用則自動會注銷 ■ 得到session的創建時間:public long getCreationTime();此方法返回long類型,通過Date類可以取得一個完整的 時間。 ■ 取得用戶最后一次的操作時間:public long getLastAccessedTime()
posted on 2008-12-19 10:58 生命的綻放 閱讀(1095) 評論(0) 編輯 收藏 所屬分類: S2SH
Powered by: BlogJava Copyright © 生命的綻放