session存储及提取
@ResponseBody
@RequestMapping("/bbbbbasd")
public String a(HttpServletRequest request){
String a ="+abc+";
HttpSession session = request.getSession(true);//�½�session����
session.setAttribute("session", a); //����Ӧ��ݴ���session��
String b="asdasd";
session.setAttribute("session1", b);
System.out.println(session.getAttribute("session")); //��˻�ȡsession�е�ֵ
System.out.println(a);
a+="shghgj";
System.out.println(a);
return a;
}
java打印结果如下:
jsp获取session(注意因为jsp和后端接口打包一起发布,session直接可以用${session},其中session为后端取的名字)
<script type="text/javascript" src="js/jquery-1.8.3.js"></script>
<script type="text/javascript">
$.post("http://localhost:8080/new/bbbbbasd","",function(data){
console.log(data);
})
</script>
</head>
<body>
This is my JSP page. <br>
<input id="abc" type="text" value="${session}">
</body>
<script type="text/javascript">
var a=document.getElementById("abc").value;
var cc="${session}";
//alert(cc);
console.log(cc+"==============");
var b ="asdasdasdas";
console.log(a+"=========================="+b);
</script>
注意:jsp取session时需要注意的是session不能一下就能够拿到。因为运行时,标签全部需要打包放置服务器。不能明白session。一般需要手动再刷新一次。也可以设置页面自动刷新一次。可借鉴https://mp.youkuaiyun.com/postedit/85323515
html获取方式(现了解,需再写一个查询接口。用自调函数提取接口内容)
http本身是无session的,无法跟踪客户端的信息,换句话说:http协议不管是谁联接自己。
为了实现session,必须有浏览器支持。浏览器可以用cookie存储session,这是最通用的做法。
但是,如果我自己写一个完全符合http协议的浏览器,但是不配合服务器的session要求,那么服务器就无法产生session。
好在现在的浏览器都支持session要求,即使关闭了cookie,浏览器也会向服务器传递sessionid,这个id是存储在浏览器的内存空间中的,不保存在硬盘cookie中。
借鉴谈Cookie中的JSESSIONID解释的网址:https://blog.youkuaiyun.com/w405722907/article/details/77750535/