html页面通过ajax请求获取session中的值

在利用springboot进行web开发时,遇到这样一个问题:html如何获取session中的值,实现用户登录系统后首页展示xx欢迎您。
也就是需要实现html通过ajax请求获取session中的值。
1.登录页面

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<meta charset="utf-8">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>测试</title>
</head>
<body>

<form action="../checkuser" method="post">
    <table>
        <tr>
            <td> 姓名:</td>
            <td width="25">
                <input type="text" name="username" value="">
            </td>
        </tr>
        <tr>
            <td> 密码:</td>
            <td width="25">
                <input type="text" name="password" value="">
            </td>
        </tr>

    </table>

    <button type="submit" >提交</button>

</form>

</body>
</html>

2.处理用户登录请求的controller

@Controller
public class TestController {
    //控制器调用service层服务层
    @Autowired
    private CheckUserService checkUserService;

    //用户登录
    @RequestMapping(value = "/checkuser")
    public String checkUser(HttpServletRequest request, HttpServletResponse response, User user) throws Exception{

        String username=user.getUsername();
        String password=user.getPassword();
        int user1=checkUserService.select(username,password);

        if(user1==1){
            System.out.println("登录成功!");
            //将用户信息存放到session中
            request.getSession().setAttribute("user",user);
            return "redirect:main";

        }else{
            System.out.println("登录失败!");
            return "redirect:toindex";
        }
    }

    @RequestMapping(value = "/main")
    public String toIndex(){
        return "user/addUser";
    }

    @RequestMapping(value = "/toindex")
    public String toError(){
        return "error/error";
    }

}    

3.登录成功后进入首页

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript"  src="../js/jquery-3.1.1.min.js"></script>

    <script type="text/javascript">
      //当页面一加载时就向后台发送post请求
      $(function(){
          $.post("../username/getusername",function(obj){
              $("#roleName").html(obj.username+"欢迎你");
          },"json")
      });

    </script>

</head>
<body>
需要使用ajax请求,页面加载完成就向后台发送请求<br>
<span id="roleName">xxx</span><br>

</body>
</html>

4.处理页面加载时controller

@Controller
@RequestMapping("username")
public class IndexController {

    @RequestMapping(value = "/getusername")
    public void getUsername(HttpServletRequest request, HttpServletResponse response)throws Exception{
        //先从session中获取到之前存在session中的用户信息,然后通过ObjectMapper输出返回一个json数据给html页面,由页面去解析这个json数据
        User user=(User)request.getSession().getAttribute("user");
        if(user!=null){
            ObjectMapper objectMapper=new ObjectMapper();
            objectMapper.writeValue(response.getOutputStream(),user);
        }
    }
}

以上就是html通过ajax请求获得session中的值的全过程。

原文地址:https://www.cnblogs.com/jasonboren/p/12285992.html

时间: 2024-08-05 15:00:02

html页面通过ajax请求获取session中的值的相关文章

jsp页面中获取session中的值

JSTL标签获取Session: session.setAttribute("age","123"); ${ sessionScope.age} 在页面上显示的就是123了 sessionScope指的是session的范围,类似还有requestScope,pageScope,contextScope 然后后面的age表示的是set属性时的key值 Jsp中获取Session: session是jsp的内置对象,所以你可以直接写在jsp的 <% sessio

ajax 动态获取数据库中的值

功能简介:  在一个输入框中输入内容 ,当内容长度>1时向后发送ajax   从数据库中获取有关文本框中的内容在前台显示, 前台设计一些点击事件,以及jquery的应用 1   使用了springmvc  中的requestmapping注解  故 先附上 配置文件 web.xml配置: <servlet> <servlet-name>springDispatcherServlet</servlet-name> <servlet-class>org.s

一般处理 程序中获取Session中的值?

如果没有引入using System.Web.SessionState;空间 和IRequiresSessionState(或者IReadOnlySessionState)接口, 那么会出现session对象未将实例化的错误. 原文地址:http://blog.51cto.com/11871779/2097125

JS或jsp获取Session中保存的值

JS是不能读取Session中的值的 . session是服务器对象, javascript是客户端脚本,你能做的操作就是把这个值用 <%=%>输出到页面的javascript中参与运算,而无法直接用js调用的 方法: 你可以做一个AJAX来请求 服务器, 返回session中的值 . 当然你也可以在JSP中使用<%=%>这种东西来获取session中的值,例如: <script language="JavaScript"> var myName=&

jsp页面中使用javascript获取后台放在request或session中的值

在JSP页面中.常常使用javascript,可是要出javascript获取存储在request,session, application中的值.例如以下是获取request中的值: 如果后台中有: request.setAttribute("value", "123"); 在前台的javascript中有例如以下获取方式: 1 : var val =  "${value}"; 2: var val = "<%=request.

ajax请求获取的数据无法赋值给全局变量问题总结

一.总结: 1.问题描述: 今天做项目遇到在用表单显示详细信息的过程中ajax请求获取的数据无法赋值给全局变量的情况,从列表页面进入详情页,在详情页面被渲染了之后就会调用js文件里的接口向服务器请求数据,除了详情页面被加载之后需要向服务器发送ajax请求,在详情页面还有几个表单控件的属性需要去请求服务器获取实际项目中要求要显示的数据. 如下代码,直接在ajax请求中改变表单控件的值,避开了给全局变量赋值. 给全局变量赋值的解决办法,给ajax请求设置async为false,表示请求为同步请求:

页面中获取 iframe 中的值

3.页面中获取 iframe 中的值 var obj=document.getElementsByClassName(".ke-edit-iframe").contentWindow; var obj1=obj.document.getElementsByClassName(".ke-content"); var val=eval(obj1).html();

JS中获取数据库中的值

在本次项目中,遇到很多问题,经过努力,都逐步得到解决.静下心来,做一个记录,以供以后学习. 在项目中遇到一个问题,需要在JS中读取数据库中的值,然后再把值返回到页面中,解决方案如下:使用Ajax方法来实现,需要用到ajax.dll(一个ajax技术开发的帮助类库). 实施过程如下: 1.引用Ajax.dll 2.在App_Code写具体的方法,最好单独建立一个类文件,然后写具体方法. public class AjaxMethod www.2cto.com { public AjaxMethod

selenium+java:获取列表中的值

selenium+java:获取列表中的值 (2011-08-23 17:14:48) 标签: 杂谈 分类: selenium 初步研究利用java+testNg框架下写selenium测试用例,今天学会了几个API:(1)获取页面上列表中的值,并打印输出:System.out.println(selenium.getTable("xpath=/html/body/div[3]/form/table.1.1")); //输出列表中第1行第1列的值(2)判断页面上是否有某个文本:(只能判