一、在idea中新建spring boot項目,把html文件複製到static目錄下,配置mysql鏈接啓動項目html
(idea中:new->prokect->Spring Initializr->更名字或者不改->next->勾選Spring Boot Devtools,spring web,Mysql Driver,MyBatis Framework,Thtmeleaf->next。新建成功)。java
因爲勾選了mysql,須要先在application.properties中配置mysql鏈接。配置事後啓動。mysql
訪問默認頁面:localhost:8080。git
二、配置過濾器github
添加過濾器的掃描包web
三、編寫servlet接收用戶輸入,因爲添加了保存登陸信息選項,須要修改html和添加了一個參數flag記錄是否保存登陸信息。spring
四、在數據庫中創建表sql
五、配置Mybatis數據庫
六、在服務端用session保存用戶的登陸信息,在客戶端用cookie保存登陸信息json
logger.info("user:-----------"+name); logger.info("pwd:-----------"+pwd); logger.info("record:-----------"+flag); //查詢數據庫,驗證用戶名和密碼 User user1 = userMapper.findUser(name,pwd); if(user1==null){ return new LoginResult(false,"","用戶名或密碼錯誤"); }else { //是否須要記錄用戶信息,寫入session if(flag==true){ String token = getMd5(name); httpServletRequest.getSession().setAttribute(token,name); //設置session過時時間30天 httpServletRequest.getSession().setMaxInactiveInterval(30*24*60*60); System.out.println("session過時時間 : "+httpServletRequest.getSession().getMaxInactiveInterval()); System.out.println("session token: "+httpServletRequest.getSession().getAttribute(token)); Cookie cookie = new Cookie("token",token); cookie.setMaxAge(30*24*60*60); response.addCookie(cookie); } return new LoginResult(true,name,"");
客戶端的token。
七、使用session記錄當前登陸人數
Enumeration<String> attributeNames = httpServletRequest.getSession().getAttributeNames(); int count=0; for (;attributeNames.hasMoreElements();){ attributeNames.nextElement(); count++; } JSONObject jsonObject = new JSONObject(); jsonObject.put("count",count); logger.info(jsonObject.toString()); return jsonObject.toString();
八、上傳到github。地址 https://github.com/JPL1988/demo