跳转登录功能

// 引入头页面
    @RequestMapping("/head")
    public String head() {
        return "head.jsp";
    }

    // 退出功能
    @RequestMapping("/logout")
    public String logout(HttpServletRequest req) {
        req.getSession().invalidate();// 取消sessionID
        // req.getRequestDispatcher("MainServ").forward(req, resp);
        return "forward:goMain.do";
    }

    // 实现登录功能
    @RequestMapping(value = "/loginaction", method = RequestMethod.POST)
    public String loginaction(HttpServletRequest request, HttpServletResponse response) {
        // 获取页面输入的用户名和密码
        String name = request.getParameter("Userame");
        String pwd = request.getParameter("Password");
        String result = request.getParameter("result");

        HttpSession session = request.getSession();
        // 定义一个字符串变量用来存储页面跳转的位置
        String re = "";
        try {
            Tuser tu = userService.login(name, pwd);

            if (tu == null) {
                // 失败,回到登录页面
                // request.getRequestDispatcher("login.jsp").forward(request, response);
                re = "login.jsp";
            } else {
                // 成功,走到主页面
                // request.setAttribute("tu", tu);//请求数据的时候只能请求一次
                session.setAttribute("tu", tu);
                // 登录成功将用户名和密码存储到Cookie中
                // 创建一个Cookie对象
                /*
                 * Cookie cookie = new Cookie("loginCookie", tu.getU_name() + "#" +
                 * tu.getPwd()); System.out.println(tu.getU_name() + " " + tu.getPwd()); //
                 * 修改Cookie属性,存储时间的属性 cookie.setMaxAge(60 * 5); // 将此Cookie发送到浏览器端
                 * response.addCookie(cookie);
                 */
                if (result == null || result.equals("")) {
                    // request.getRequestDispatcher("MainServ").forward(request, response);
                    re = "forward:goMainpost.do";
                } else {
                    // session.setAttribute("tu", tu);
                    // request.getRequestDispatcher("CarServ?type=login").forward(request,
                    // response);
                    re = "CarServ?type=login";
                }
            }

        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return re;
    }

    // 进入到登录页面
    @RequestMapping("/login")
    public String login() {
        return "login.jsp";
    }

    // 跳转主页面的post方法
    @RequestMapping(value = "/goMainpost", method = RequestMethod.POST)
    public String goMainpost(HttpServletRequest request, HttpServletResponse response) {
        String type = request.getParameter("type");
        System.out.println(type);
        // 目的是为了从数据库中获取鲜花的信息

        // 此时需要判断浏览器端是否有Cookie对象,而且此Cookie对象为自己创建的登录成功的对象,如果Cookie对象为空,表示从未登录,执行之前代码即;如果Cookie对象不为空
        // 表示已经登录过,而且还没过期,所以可以直接从 Cookie对象中获取到登录的信息值,直接使用此对象中的信息进行登录
        List<Flower> list = null;
        /*
         * // 进入主页面的时候,判断一下是否登录过 Cookie[] coos = request.getCookies(); //
         * 创建一个对象用来获取Cookie Cookie cookie = null; // 遍历此cookie数组 if (coos != null) { for
         * (Cookie c : coos) { if (c.getName().equals("loginCookie")) { cookie = c;
         * String str = cookie.getValue(); // 根据获取的值进行,分隔 String[] strs =
         * str.split(","); Tuser tu = new Tuser(); tu.setU_name(strs[0]);
         * tu.setPwd(strs[1]); request.getSession().setAttribute("tu", tu); break; } } }
         */

        try {
            list = userService.getAll();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        // 将list数据存储到request对象中
        request.setAttribute("list", list);
        // request.getRequestDispatcher("mai.jsp").forward(request, response);
        return "mai.jsp";
    }

    // 跳转到主页面
    @RequestMapping(value = "/goMain")
    public String goMain(HttpServletRequest request, HttpServletResponse response) {
        /*String type = request.getParameter("type");
        System.out.println(type);*/
        // 目的是为了从数据库中获取鲜花的信息

        // 此时需要判断浏览器端是否有Cookie对象,而且此Cookie对象为自己创建的登录成功的对象,如果Cookie对象为空,表示从未登录,执行之前代码即;如果Cookie对象不为空
        // 表示已经登录过,而且还没过期,所以可以直接从 Cookie对象中获取到登录的信息值,直接使用此对象中的信息进行登录
        List<Flower> list = null;
        /*
         * // 进入主页面的时候,判断一下是否登录过 Cookie[] coos = request.getCookies(); //
         * 创建一个对象用来获取Cookie Cookie cookie = null; // 遍历此cookie数组 if (coos != null) { for
         * (Cookie c : coos) { if (c.getName().equals("loginCookie")) { cookie = c;
         * String str = cookie.getValue(); // 根据获取的值进行,分隔 String[] strs =
         * str.split("#"); Tuser tu = new Tuser(); tu.setU_name(strs[0]);
         * tu.setPwd(strs[1]); request.getSession().setAttribute("tu", tu); break; } } }
         */

        try {
            list = userService.getAll();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        // 将list数据存储到request对象中
        request.setAttribute("list", list);
        // request.getRequestDispatcher("mai.jsp").forward(request, response);
        return "mai.jsp";
    }
}

 

posted on 2019-10-28 11:58  年夜饭  阅读(797)  评论(0编辑  收藏  举报

导航