jsp可以保存两个session吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsp可以保存两个session吗?相关的知识,希望对你有一定的参考价值。

我在网站后台登陆时设置了一个session
session.setAttribute("user",username);
登陆之后又设置了第二个session
session.setAttribute("path",application.getRealPath(request.getRequestURI())) ;
设置第二个session后获取第一个session拿到的就是一个空值了,
session.getAttribute("user");

如果不设置第二个session就能拿到第一个session的值
该怎样设置才能把两个session的值都获取过来?

不能设置两个session,但是一个session中可以存放多个Attribute。

登录之后你不需要新创建一个session,而是通过session = request.getSession();获取session。
然后在session.setAttribute("path",application.getRealPath(request.getRequestURI())) ;
这样就不会影响以前设置的属性了。

追问

创建第二个session不是为了判断是否登录而是用作其他用途的,用完第二个session后又要判断是否登录了,所以又要获取第一个登录的session

追答

每次都使用一个session,不用创建新的,只要每次添加不同的属性就可以了。
需要判断是否登录只要session.getAttribute("user");看是否有值就行了。

追问

我把登录的用户名存在第一个session里面了,用了第二个session之后我还要获取到第一个session里存登录用户名,不只是判断那个session是否存在

追答

大哥,不需要第二个session,一直使用第一个就可以了。

追问

可是我用完第二个session后,第一个session获取过来的是空值啊

追答

跟你说了啊,别用第二个session,一个会话只能存在一个session,你用了第二个,第一个就没了有了

参考技术A session的作用就是存放缓存 每次打开页面 会创建一个session setAttribute是 key值不重复 就可以 你的那个问题 应该是 登陆之后 有重新打开了浏览器 所有拿不到session的值 参考技术B Session就是一个Map集合,里面放入键值对,key和value,既然是集合了,一个对象能放多个值 参考技术C session是在你登陆系统时创建的 一次登陆只有一个session 你第二次登陆的时候的session已经不是你第一次登陆的那个session了 所以取不到 参考技术D 可以的,例如:
<%
session.putValue("cartid","gwcid");//添加session名称为cartid,值为gwcid
%>

<%=session.getValue("cartid") %>//获取名称为cartid的值

//再设置一个名称为csrdname的session,值为hello world

<%
session.putValue("csrdname",“hello world");//添加session名称为cartid,值为gwcid
%>

<%=session.getValue("csrdname") %>//获取名称为csrdname的值

JS或jsp获取Session中保存的值

JS是不能读取Session中的值的 。

session是服务器对象,

javascript是客户端脚本,你能做的操作就是把这个值用

<%=%>输出到页面的javascript中参与运算,而无法直接用js调用的

 方法:

你可以做一个AJAX来请求 服务器, 返回session中的值 。

当然你也可以在JSP中使用<%=%>这种东西来获取session中的值,例如:

 <script language="JavaScript"> 
     var myName="<%=session.getAttribute("userName")%>"; 
     alert(myName); 
 </script>

jsp获取session的value,将如下代码添加到你想添加的位置即可:

<%=session.getAttribute("userName")%>

 



以上是关于jsp可以保存两个session吗?的主要内容,如果未能解决你的问题,请参考以下文章

JS或jsp获取Session中保存的值

JSP中怎样用session保存并验证用户登录信息

如何往session对象保存和取出数据?

java保存到session里,新的JSP页面怎么获取不到值

Jsp数据交互

jsp:session的跟踪方式