如何获取session?方法有哪些?

KLQ 2020-04-22 15:46:23 java常见问答 11021

下面要给大家介绍的就是关于获取session的内容,那么你知道在springmvc和struts框架中如何来获取session吗?下面一起来详细的了解一下获取方式吧!

首先简单的给大家介绍一下session

和cookie相比,session和cookie还是有着很多的不同。session是由服务器端创建并存储的会话,和cookie比较起来,session要更加的安全一些,并且,也没有什么长度的限制。

因为,Session是以文本文件形式存储在服务器端的,所以,也不需要担心,客户端修改Session的内容(就算在客户端修改了session内容,也不会对服务器端session的正确性有影响)。

在服务器创建session出来之后,会将session的id号以cookie的形式回写到客户端去,这样的话,只要不关闭客户端的浏览器,那么,再去访问服务器的时候,都会带着session的id号去,服务器发现客户机浏览器带session id过来了,那么,就会使用内存中和它对应的session为之服务。

Session对象的获取方式?

在java开发当中,常见的有springmvc和struts框架,那么在这两种框架当中,又是怎样来获取session的呢?

1、在springmvc当中

HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();

2、在struts当中

HttpServletRequest request = ServletActionContext.getRequest(); HttpSession session = request.getSession();

或者是

ActionContext context = ActionContext.getContext(); Map request = (Map) context.get("request"); Map session = context.getSession();

其他:

注意了,session使用完确认不再需要的时候应该及时的销毁,这样可以避免长时间的占用服务器内存从而拖慢服务器。

以上就是对于如何获取session的介绍了,你都了解了吧,更多相关内容,请继续关注常见问题专栏了解吧。