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

本文介绍了在SpringBoot web开发中,如何实现在用户登录后,HTML页面通过Ajax请求获取Session中的用户信息,并在首页显示欢迎信息。主要涉及登录控制器、Ajax请求和Session数据交互的实现过程。
摘要由CSDN通过智能技术生成

在利用springboot进行web开发时,遇到这样一个问题:html如何获取session中的值,实现用户登录系统后首页展示xx欢迎您。

也就是需要实现html通过ajax请求获取session中的值。

1.登录页面

测试
姓名:
密码:

提交

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.登录成功后进入首页

Title

//当页面一加载时就向后台发送post请求

$(function(){

$.post("../username/getusername",function(obj){

$("#roleName").html(obj.username+"欢迎你");

},"json")

});

需要使用ajax请求,页面加载完成就向后台发送请求

xxx

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值