天行健,君子以自強不息。
這句話我雖然理解不深,但我認為學(xué)習(xí)絕非一個人的事,它需要與其它人交流,如果只是悶頭學(xué),可能一天就能理解了的東西,你要理解一年,甚至更長。
希望各位高人能對我的學(xué)習(xí)進行指導(dǎo),部分問題在此處提出,如果你知道或有理解,請予以評論,謝謝。
-------------------------------------------
1、標(biāo)簽庫
我知道了標(biāo)簽庫的概念,但我不知道在現(xiàn)在這種框架開發(fā)模式下,是否還需要學(xué)習(xí)標(biāo)簽庫的開發(fā)等,請指導(dǎo)。此處的學(xué)習(xí)我先略過了,等需要時再看吧。
2、用戶跟蹤
對訪問站點的用戶進行跟蹤,可以有以下方法(三種主要機制):Cookies、URL 重寫、隱藏式表單域
操作Cookies:
<%
Cookie mycookie=new Cookie("user","wuxs");//創(chuàng)建一個Cookie對象
mycookie.setMaxAge(24*60*60);//設(shè)置Cookie的存活期
response.addCookie(mycookie);//將Cookie存儲
%>
<%
//獲取Cookie
Cookie[] cookielist=request.getCookies();
..........
Cookie mycookie=cookielist[i];
if (mycookie.getName.equals("user")){out.println(mycookie.getValue());}
%>
使用會話,Session:
使頁面可以支持會話:<% page language="java" import="java.util.*" session="true" %>,默認是支持的,如果要使其不支持會話,則可以將其設(shè)為false
在Session中存儲數(shù)據(jù):
Integer i=new Integer(1);
session.setAttribute("userAccessTimes",i);
如上,保存會話的屬性值用的是整型對象而不是簡單數(shù)據(jù)類型int。因為 Session 對象只能存儲對象,而不能保存像int 這樣的簡單數(shù)據(jù)類型。
獲取Session中的數(shù)據(jù):
Integer i=(Integer) session.getAttribute("user");
檢查新會話:
if (session.isNew()){....} //什么是新會話?
獲取會話標(biāo)識符:
String sid=session.getId();
刪除會話:
當(dāng)不需要會話時,可以立即將會話失效。session.invalidate();
會話超時:
由于http 協(xié)議是無狀態(tài)的,因此判斷用戶是否活動的唯一機制是超時。所以要確保會話定期刷新。
可以使用session.getMaxInactiveInterval()方法獲取最大超時時間,可以用session.setMaxInactiveInterval()方法進行設(shè)置。
在配置文件中web.xml這樣設(shè)置:
<webapp>
<session-config>
<session-timeout>-1</session-timeout>
</session-config>
</webapp>
可以將會話設(shè)為永不超時。
會話范圍:有page , session ,request , application ,但沒有理解
application 對象:
application 對象提供方法:getAttribute()、setAttribute()、getAttributeNames()、removeAttribute()
邊學(xué)邊更新中....