JavaWeb之七天免登录

举报
运气男孩 发表于 2020/11/19 12:43:04 2020/11/19
【摘要】 准备工具: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"); //重定向
        }



    }
}

测试效果如下:

image.png

image.png


image.png





【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。