在利用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