程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> Session的用途一:保存用戶信息

Session的用途一:保存用戶信息

編輯:關於JSP

前面用MVC模式設計了一個簡單的小系統。不知發現沒有,實現分頁效果時,為了顯示所登錄的用戶名,每換一次頁面就得傳一次用戶名,顯得非常麻煩,引入Session對象就會使問題變得非常簡單。
首先理一下思路,用戶登錄系統後,用戶名就是他自己了,這時我們就可以把用戶信息保存下來,由於我們只是想顯示用戶名,於是我用Session對象只保存用戶名。怎麼做呢?
用戶登錄系統後,是在控制器LoginServlet中完成驗證的,如果登錄成功,就用Session對象保存用戶名信息,代碼如下:
//將用戶名放入session,以備後用
   // request.getSession().setMaxInactiveInterval(3);單位是秒
   request.getSession().setAttribute("user", u);
而welcome.jsp頁面則用來接收session對象的用戶名信息,代碼如下:
String u=(String)session.getAttribute(“user”);
還需要加一些判斷,如果session保存時間到了(用戶發呆時間一般達到30min則timeout,這時用戶名為空),則返回到登陸界面,否則直接返回則會出現不友好界面。
if(u==null){     
         response.sendRedirect("login.jsp?error=1");
         // return;
      }else{
         out.println(u);     
      }
返回到登錄前頁面,可以通過error參數判斷用戶是否正常登陸,沒有的話就給出一些提示信息,提示用戶非正常登陸,並要求用戶登錄。
String error=request.getParameter("error");
System.out.println("error:----------------"+error);
if(error!=null){
      if(error.equals("1")){
         out.println("<font size=6>您沒有正常登陸,請登錄!</font>");
      }
}
Session保存用戶信息就是這樣做的,希望運行成功!
 
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved