1.實現功能
實現上次登錄的時間Cookie的保存和發送,
如果有Cookie就打印上次登錄的時間,並返回這次CurrentTime作爲這次登錄的時間,
如果沒有Cookie就打印這是你第一次登錄
Cookie默認存活的時間是 10秒鐘,
2.核心代碼
1. 獲取Cookie
req.getCookies();
2. 獲取Cookie的鍵
cookies[i].getName()
3. 獲取Cookie的值
ookies[i].getValue()
4. 新建Cookie並設置保存時間
Cookie cookie = new Cookie("lastLoginTime",System.currentTimeMillis()+"");
cookie.setMaxAge(10);
5. 返回瀏覽器Cookie讓他保存
resp.addCookie(cookie);
3.實現框架
4.代碼實現
1.CookieLogin類:實現所有的功能
package com.bmft;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
/**
* 實現上次登錄的時間Cookie的保存和發送,
*
* 如果有Cookie就打印上次登錄的時間,並返回這次CurrentTime作爲這次登錄的時間,
* 如果沒有Cookie就打印這是你第一次登錄
* Cookie默認存活的時間是 10秒鐘,
*/
public class CookieLogin extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("utf-8");
resp.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=UTF-8");//設置客戶端的接受方式
javax.servlet.http.Cookie[] cookies = req.getCookies();
PrintWriter out = resp.getWriter();
boolean isFirstTime = true;
if (cookies != null){
for (int i = 0; i < cookies.length; i++) {
//如果有Cookie就打印上次登錄的時間,並返回這次CurrentTime作爲這次登錄的時間,
if (cookies[i].getName().equals("lastLoginTime")){
out.write("上次登錄的時間:"+cookies[i].getValue());
isFirstTime = false;
}
}
}
if (isFirstTime){
out.write("這是您的第一次登錄");
}
Cookie cookie = new Cookie("lastLoginTime",System.currentTimeMillis()+"");
cookie.setMaxAge(10);
resp.addCookie(cookie);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
2.映射
<servlet>
<servlet-name>CookieLogin</servlet-name>
<servlet-class>com.bmft.CookieLogin</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CookieLogin</servlet-name>
<url-pattern>/CookieLogin</url-pattern>
</servlet-mapping>
5.頁面展示
再刷新