servlet--用戶登錄功能(含session,cookie和ServletCotext)

一.基本登錄功能的實現

結構.jpg

從網頁獲得用戶的名稱及密碼后,連接數據庫進行比對,即可實現登錄功能.為了讓程序的可讀性更好,這里采取將用戶的基本信息都封裝進UserBean.java,在UserBeanCk.java中對數據庫進行操作,LoginCk.java中判斷結果.
二.Session功能的實現
servlet中已經有關于session的一些函數,只需調用即可.

HttpSession hs=req.getSession(true);
hs.setMaxInactiveInterval(50);
hs.setAttribute("pass","ok");
String s=hs.getAttribute("pass");

getSession(true)函數為獲得session的操作權限,setMaxInactiveInterval()函數為設置session失效的最大時間間隔,這里的間隔不是累計時間,而是距離最近一次刷新的時間.setAttribute()函數可以添加一些參數,比如保存用戶名之類的,第一個參數是屬性的名稱,第二個參數是值.getAttribute()函數則可以根據屬性的名稱取出相應的值.
三.Cookie功能的實現

//將用戶名和密碼保存在客戶端,cookie技術
Cookie name=new Cookie("myname",u);
Cookie pass=new Cookie("mypasswd",p);
//設置時間,單位為秒
name.setMaxAge(60);
pass.setMaxAge(60);
//回寫到客戶端
res.addCookie(name);
res.addCookie(pass);

四.ServletContext功能的實現(可以實現網站訪問次數統計功能)

//登錄成功,網站訪問次數加1
if(this.getServletContext().getAttribute("visitTimes")!=null){
int times=Integer.parseInt(this.getServletContext().getAttribute("visitTimes").toString())+1;
this.getServletContext().setAttribute("visitTimes",times+"");
}else{
try{
System.out.println("init...");
//將文件中保存的訪問次數保存到ServletContext
//創建一個FileReader
FileReader fr=new FileReader("D:/JavaEE/Apache Software Foundation/Tomcat 8.5/webapps/myWebSites/myCounter.txt");
BufferedReader br=new BufferedReader(fr);
//讀出一行數據
String numVal=br.readLine();
//關閉文件流
br.close();
//從文件中獲取訪問次數times
int times=Integer.parseInt(numVal);
//將visitTimes屬性的值設為times,為了將times轉為String類型,所以在后面加一個空白的字串
this.getServletContext().setAttribute("visitTimes",times+"");
}catch(Exception ex){
ex.printStackTrace();
}
}

這里為代碼

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 寫在前面 cookie和session的區別: 1、cookie數據存放在客戶的瀏覽器上,session數據放在服...
    Pitfalls閱讀 1,537評論 0 17
  • 一、cookie機制和session機制的區別 具體來說cookie機制采用的是在客戶端保持狀態的方案,而sess...
    Rella7閱讀 4,733評論 0 7
  • 一 servlet概述 狹義的Servlet指javax.servlet包中的一個接口,而廣義的Servlet則是...
    靜慎獨閱讀 485評論 0 0
  • 一.Servlet細節 1.Servlet細節 1):一個Servlet向外暴露多個資源名稱(一般來說,一個Ser...
    賈里閱讀 365評論 0 0
  • “我在清晨的路上 誰被我遺忘 我在深夜里旅行 誰被我遺忘 肩上的破舊行囊 能收藏多少堅強 不如全身赤裸 還給我那脆...
    李星嵐閱讀 349評論 0 0