JavaWeb之七天免登录
【摘要】 准备工具:IntelliJ IDEA 2019.2.3 x64 apache-tomcat-8.5.15实现功能:七天免登录 七天内不用输入账号和密码直接跳转index首页jsp页面部分<%-- Created by IntelliJ IDEA. --%><%@ page contentType="text/html;charset=UTF-8" language="java" %><ht...
准备工具:
IntelliJ IDEA 2019.2.3 x64
apache-tomcat-8.5.15
实现功能:七天免登录 七天内不用输入账号和密码直接跳转index首页
jsp页面部分
<%-- Created by IntelliJ IDEA. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title></title> </head> <body> <form action="login" method="post"> <input name="name" > <br /> <input name="password" type="password"> <br /> <input type="checkbox" name="check" value="1">7天免登录 <input type="submit" value="登录"> ${msg} </form> </body> </html>
java逻辑部分: 进行一个判断
若账号密码都输对 即可登录跳转登录成功页面
若账号密码都输对 且勾选7天免登录 会生成一个7天时长的cookie
其他情况则登录失败
import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.*; import java.io.IOException; import java.util.HashMap; import java.util.Map; @WebServlet("/login") public class LoginServlet extends HttpServlet { private Map<String, HttpSession> sessions = new HashMap<>(); @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String name = req.getParameter("name"); String password = req.getParameter("password"); String check =req.getParameter("check"); // Cookie cookie =new Cookie("username",username); // Cookie cookie2 =new Cookie("password",password) ; // cookie.setMaxAge(60 * 60 * 24 * 7); // resp.addCookie(cookie); // resp.addCookie(cookie2); // Cookie[] cookies =req.getCookies(); // for(Cookie cookie3:cookies){ // System.out.println(cookie.getName()); // System.out.println(cookie.getValue()); // } if ("root".equals(name)&&"root".equals(password)) { //登录成功 if("1".equals(check)){ Cookie cookie = new Cookie("JSESSIONID",req.getSession().getId()); cookie.setMaxAge(60 * 60 * 24 * 7); //设置cookie七天过期 resp.addCookie(cookie); } //向request作用域存放session req.getSession().setAttribute("name",name); req.getRequestDispatcher("index.jsp").forward(req, resp); //转发 }else{ req.setAttribute("msg","登录失败"); resp.sendRedirect("login.jsp"); //重定向 } } }
测试效果如下:
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)