web專案如何判斷使用者是否進行了登入操作
今天帶來的是在寫web專案時候,如何判斷使用者是否進行了登入操作。
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name = request.getParameter("name");
String pwd = request.getParameter("pwd");
Userinfo u = new Userinfo(
Userinfo userinfo = new Userservice().get(u);
//通過jsp頁面獲取出使用者輸入的賬號和密碼到資料庫進行查詢,有沒有這個使用者資料判斷是否執行儲存登入狀態
if (userinfo != null) {
request.getSession().setAttribute("user", userinfo);
// 登入成功可以設定時間更長一些
//setMaxInactiveInterval(60) 60S內不做任何事情,Session就失效。比如,你剛登入了系統,接著跑去財務部收錢, 70S後回來,再繼續作業系統,這時應該會提示重新登入。
request.getSession().setMaxInactiveInterval(60 * 60 * 24 * 7);
// 儲存登入狀態
Cookie ck = new Cookie("JSESSIONID", request.getSession().getId());
ck.setPath("/");
ck.setMaxAge(30);
response.addCookie(ck);
}
}
//然後再其它的servlet中判斷user是否為空判斷是否有登入
public void delete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Object user = request.getSession().getAttribute("user"); if (user == null) { request.setAttribute("info", "你沒有登入"); request.getRequestDispatcher("/info.jsp").forward(request, response); return; } }