1. 程式人生 > >web專案如何判斷使用者是否進行了登入操作

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(

name, pwd);

           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;         }     }