一、cookies
- 什么是cookies?
服務(wù)端在客戶端保存用戶的信息,比如用戶名,密碼等..就是cookie. 一般保存在C:/Documents and Settings目錄下.
- cookies的用處.
1. 錄用戶名、密碼,在定義時間內(nèi)不用重新登錄
2. 記錄用戶訪問網(wǎng)站的喜好,比如有無背景音樂.
3. 網(wǎng)站個性化,定制網(wǎng)站服務(wù)、內(nèi)容.
二、sendRedirect()
如 sendRedirect("welcome?uname=admin");
注意:
1.welcome代表要傳遞的servlet.
2.serlver url名和變量之間有?分割
3.如果要傳遞兩個以上的值,之間需要使用&分隔開.
例如: sendRedirect("welcome?uname=admin&pwd=123");
4.如果傳遞的是中文會亂碼,需要額外處理.
三、隱藏表單
如:
<form action=login>
<input type=hidden name=a value=b>
</form>
四、Session
- 什么是Session?
客戶端訪問服務(wù)器網(wǎng)站的時候,服務(wù)器會為這個瀏覽器分配一個內(nèi)存空間,該空間被客戶端獨占 。這個空間就是session空間,該空間中數(shù)據(jù)默認(rèn)存在的時間是30 Minutes. 修改conf/web.xml文件 找到<session=config> - Session功能
1. 購物車
2. 登錄用戶的信息
3. 防止用戶登錄到某個非法頁面 - Session理解
Session是一個Map<K,V>集合 每個Session包含兩個部分, 一個是該Map的名字(String)另一個是它的值(Object). - 對Session的操作
1. 得到SessionHttpSession hs = request.getSession(true);
2. 向Session添加屬性hs.setAttribute(String name,Object val);
3. 從Session得到某個屬性String name = hs.getAttribute(String name);
4. 從Session刪除某個屬性hs.removeAttribute(String name) - 服務(wù)器會分配一個唯一的session id 并以此來區(qū)分不同的客戶端 瀏覽器
- 因為session的各個屬性要占用服務(wù)器的內(nèi)存,所以不能大量使用
LoginCl.java
// 得到Session
HttpSession hs = req.getSession(true);
// 修改session的存在時間
hs.setMaxInactiveInterval(20);
hs.setAttribute("pass","ok");
Welcome.java
// 業(yè)務(wù)邏輯
// 得到session
HttpSession hs = req.getSession(true);
String val = (String)hs.getAttribute("pass");
// 判斷
if(val == null){
//非法登錄
try{
res.sendRedirect("login");
}catch(Exception e){
e.printStackTrace();
}
}
給個github follow me的鏈接,上面有很多初學(xué)者可供學(xué)習(xí)的資料,項目.
<a>https://github.com/SuperZee</a>