使用SSM框架纯HTML取Session值

最近实训写注册登录,但是EL表达式和${session.XXX} jstl都只适用在JSP页面,实训前后端分离有点头痛,前端使用纯HTML页面,在写Session的时候碰墙了...

jsp原型就是servlet,里面有内置session,html里面没这些东西

先贴一下我的登录Controller

写入Session

//登录操作
    @RequestMapping("/doLogin")
    public void doLogin(HttpServletRequest request,HttpServletResponse response) throws Exception{
        //编码规范
        response.setContentType("text/html;charset=utf-8");
        response.setCharacterEncoding("utf-8");

        String number = request.getParameter("loginNumber");
        String password = request.getParameter("loginPwd");
        int id=0;
        if(number.contains("@")){id = userDaoService.loginJudgeEmail(number,password);}  //邮箱格式-用邮箱登录
        else {id = userDaoService.loginJudgePhone(number,password);}
        System.out.println(id);
        PrintWriter out = response.getWriter();
        if(id>0){
            //转Gson
            Gson gson=new Gson();
            User user = userDaoService.findUserById(id);
            String userGson= gson.toJson(user);

            //将user存进session

            HttpSession session = request.getSession();
            session.setAttribute("user",userGson);
            //out.write(userGson);
            out.print("<script language=\"javascript\">alert('登录成功了');window.location.href='/'</script>");
        }else{
            out.print("<script language=\"javascript\">alert('账号密码错误');window.location.href='/register'</script>");
        }
    }

上面操作无论Html、Jsp都是这样写入Session。

获取Session

    @RequestMapping("/checkUser")
    public void checkUser(HttpServletRequest request,HttpServletResponse response){
        //编码规范
        response.setContentType("text/html;charset=utf-8");
        response.setCharacterEncoding("utf-8");
        //获取session值
        HttpSession session = request.getSession();
        Object user = session.getAttribute("user");
        try {
            PrintWriter out = response.getWriter();
            out.write((String) user);
        }catch (Exception e){
            System.out.println("Nothing session");
        }
    }

用AJAX返回session值

$(function(){

    $.ajax({
        async:true,
        dataType:"json",
        type:"POST",
        url:"/checkUser",
        success:function(data){
            console.log(data);
        }
    });
});

结果

最后感谢一下网友Selfisher

猜你喜欢

转载自blog.csdn.net/one_hwx/article/details/81143581
今日推荐