登录功能代码实现

登录功能_代码实现

public class LoginServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doPost(request, response);

    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//        设置编码
        request.setCharacterEncoding("UTF-8");
//        获取数据
        String verifycode = request.getParameter("verifycode");
        Map map = request.getParameterMap();
        //        验证码校验
        HttpSession session = request.getSession();
        String o = (String) session.getAttribute("CHECKCODE_SERVER");
        session.removeAttribute("CHECKCODE_SERVER");
        if (!o.equalsIgnoreCase(verifycode)) {
            //验证码错误
            //提示信息
            request.setAttribute("login_msg", "验证码错误");
            //跳转登陆页面
            request.getRequestDispatcher("/login.jsp").forward(request, response);
            return;
        }
//        封装user对象
        User user = new User();
        try {
            BeanUtils.populate(user,map);
        } catch (IllegalAccessException e) {
            throw new RuntimeException(e);
        } catch (InvocationTargetException e) {
            throw new RuntimeException(e);
        }

//        调用Servlet查询
        UserService service = new UserServiceImpl();
        User loginUser = service.login(user);
//        判断登录成功
        if (loginUser!=null){
//            登路成功
//             将用户存入session
            session.setAttribute("user",loginUser);
//            跳转页面
            response.sendRedirect(request.getContextPath()+"/index.jsp");
        }else {
            request.setAttribute("login_msg","用户名或者验证码错误");
//           跳转‘
            request.getRequestDispatcher("/login.jsp").forward(request,response);
        }
    }
}

jsp错误提示页面

<!-- 出错显示的信息框 -->
<div class="alert alert-warning alert-dismissible" role="alert">
    <button type="button" class="close" data-dismiss="alert" >
        <span>&times;</span></button>
    <strong>${login_msg}</strong>
</div>

 

posted @ 2023-02-02 15:13  夫君  阅读(46)  评论(0)    收藏  举报