页面实现记住我的功能和权限分配

一、创建一个记住我的工具类

public class RememberMe {
    public static void rememberMe(String phone, String password, HttpServletRequest request, HttpServletResponse response) {

        //创建一个cookie,存放制定值
        Cookie phoneCookie = new Cookie("phone", phone);
        Cookie passwordCookie = new Cookie("password", password);

        //设置Cookie的有效路径(制定当前目录)
        phoneCookie.setPath("/");
        passwordCookie.setPath("/");

        //获取页面复选框的值(用作判断)
        String rememberMe = request.getParameter("rememberMe");

        //这是选中的情况,  设置Cookie的有效时间(1周)
        if (rememberMe != null && rememberMe.equals("1")) {
            phoneCookie.setMaxAge(7 * 24 * 60 * 60);
            passwordCookie.setMaxAge(7 * 24 * 60 * 60);
        }
        //这是没有选中的情况
        else{
            phoneCookie.setMaxAge(0);
            passwordCookie.setMaxAge(0);
        }
        //将Cookie存放到response中
        response.addCookie(phoneCookie);
        response.addCookie(passwordCookie);
    }

}

二、登录之后调用工具类实现这个功能

package com.ys.servlet.user.crud;

import com.ys.model.User;
import com.ys.service.UserService;
import com.ys.service.impl.UserServiceImpl;
import com.ys.util.RememberMe;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

@WebServlet("/login")
public class UserLoginServler extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doPost(req, resp);
    }
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String choose = req.getParameter("choose");
        String phone = req.getParameter("phone");
        String password = req.getParameter("password");
        //普通用户
        if (choose != null && choose.equals("1")){
            UserService userService = new UserServiceImpl();
            User user = userService.findUserByLogin(phone, password);
            System.out.println(user);
            //调用remeberme实现记住我
            RememberMe rm = new RememberMe();
            rm.rememberMe(phone,password,req,resp);
            if(user!=null){
                HttpSession session = req.getSession();
                session.setAttribute("user",user);
                //跳转至个人主页
                req.getRequestDispatcher("mainpage.jsp").forward(req,resp);
            }
        }
        //管理层
        if (choose != null && choose.equals("2")){
            MangerService mangerService = new MangerServiceImpl();
            Manger manger = mangerService.findMangerByLogin(phone, password);
            //调用remeberme实现记住我
            RememberMe rm = new RememberMe();
            rm.rememberMe(phone,password,req,resp);
            if(manger!=null){
                HttpSession session = req.getSession();
                session.setAttribute("manger",manger);
                //跳转至主页面
                resp.sendRedirect(req.getContextPath()+"/manger/select");
            }
        }
    }
}

三、前端页面设计

<script type="text/javascript" src="js/jquery-3.6.0.js"></script>
<script type="text/javascript">
    $(function (){
        var phonecookie = "";
        var passwordcookie = "";
        if (document.cookie && document.cookie != '') {
            var cookies = document.cookie.split(';');
            for (var i = 0; i < cookies.length; i++) {
                var cookie = cookies[i];
                let strings = cookie.split("=");
                let key = strings[0];
                let value = strings[1];
                if (key == " password") {
                    passwordcookie = cookie;
                } else if (key ==  "phone") {
                    phonecookie = cookie;
                }
            }
        }
        let phone = phonecookie.split("=")[1];
        let password = passwordcookie.split("=")[1];
        if (phone != null && password != null) {
            $("#phone-i1").val(phone);
            $("#password-i2").val(password);
        }

    })
</script>
<input type="radio" id="user-login" name="choose" value="1"> 普通职员
<input type="radio" id="manger-login" name="choose" value="2"> 管理者

四、页面展示

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值