用Cookie實現一天免登錄功能
阿新 • • 發佈:2018-07-26
extend nds sun .html ace name odin 實現 ron Servlet程序:
package com.westos.untitle2; import com.westos.untitle2.CityService.UserService; import com.westos.untitle2.bean.User; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; 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.util.List; @WebServlet(name = "Cookie4Servlet") public class Cookie4Servlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request,response); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setCharacterEncoding("utf-8"); request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); String username=request.getParameter("username"); String password=request.getParameter("password"); UserService userService=new UserService(); List<User> list=userService.setUser(); if (username==null||password==null){ Cookie[] cookie=request.getCookies(); for (Cookie c:cookie){ if(c.getName().equals("username")){ username=c.getValue(); }else if(c.getName().equals("password")){ password=c.getValue(); } } } if(username.equals("")||password.equals("")){ request.getRequestDispatcher("login2.html").forward(request,response); }else{ for(User user:list){ if(user.getUsername().equals(username)&&user.getPassword().equals(password)){ Cookie cookie1=new Cookie("username",username); Cookie cookie2=new Cookie("password",password); cookie1.setMaxAge(60*60); cookie2.setMaxAge(60*60); response.addCookie(cookie1); response.addCookie(cookie2); request.getRequestDispatcher("success.html").forward(request,response); }else{ request.getRequestDispatcher("login2.html").forward(request,response); } } } } }
登錄頁面程序:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>登錄</title> </head> <body> <form action="./cookie4" method="Post" name="login"> 昵稱:<input name="username" type="text" placeholder="請輸入昵稱" id="nicheng"/><br/><br/> 密碼:<input name="password" type="password" placeholder="請輸入密碼" id="mima"/><br/><br/> 請輸入驗證碼:<br/> <img src="./yzm01" height="32" id="myyzm"> <button type="button" value="看不清楚,再來一張" onclick="identifyload()">看不清楚,再來一張</button> <input name="yzm01" type="text"/><br/> <button type="submit" value="登錄" >登錄</button> <button type="reset" value="重置">重置</button> </form> </body> </html>
User:
public class User { private String Username; private String password; public String getUsername() { return Username; } public String getPassword() { return password; } public void setUsername(String username) { Username = username; } public void setPassword(String password) { this.password = password; } }
UserService:
package com.westos.untitle2.CityService;
import com.westos.untitle2.bean.User;
import sun.rmi.log.LogInputStream;
import java.util.ArrayList;
import java.util.List;
public class UserService {
public List<User> setUser(){
List<User> list=new ArrayList<>();
User u1=new User();
u1.setUsername("Bighead");
u1.setPassword("4214963");
list.add(u1);
User u2=new User();
u2.setUsername("lyy");
u2.setPassword("0829");
list.add(u2);
return list;
}
}
success.html程序,自己根據需求設置.
用Cookie實現一天免登錄功能