java中session是什么_java中的Session有什么作用?

因为HTTP协议是无状态的协议,但我们需要保存客户端在多次请求之间状态信息的时候,我们需要Session来维护客户端的状态。Session对象类似于一个服务器端的容器,可以存放任何对象,以供不同页面间共享数据。Session用来识别用户并保存用户信息。session是用来传值的,当用户打开浏览器后,就会产生一个sessionid,并一直保持到浏览器关闭为止,在期间,可以用session来传值,但是切记,当session中的数据越多时,会影响服务器的速度。

jsp的session是使用bean的一个生存期限,一般为page,session意思是在这个用户没有离开网站之前一直有效,如果无法判断用户何时离开,一般依据系统设定,tomcat中设定为30分钟.我们使用session功能,可以达到多个jsp程序从操作同一个java bean, 那么这个java bean可以作为我们传统意义上的"全局变量池".(在java中我们可以使用static静态化一个变量和方法,使用singleton唯一化对象.)在项目实践中,我们Jsp程序中很多参数需要从数据库中读取,有的参数实际读取一次就可以,如果设计成每个用户每产生一个页面都要读取数据库,很显然,数据库的负载很大,同时也浪费时间,虽然可能有数据库连接池优化,但是尽量少使用数据库是我们编程的原则.JSP使用一个叫HttpSession的对象实现同样的功能。HTTPSession 是一个建立在cookies 和URL-rewriting 上的高质量的界面。Session的信息保存在服务器端,Session的id保存在客户机的cookie中。事实上,在许多服务器上,如果浏览器支持的话它们就使用cookies,但是如果不支持或废除了的话就自动转化为URL-rewriting,session自动为每个流程提供了方便地存储信息的方法。

Session是JAVA应用程序和Hibernate进行交互时使用的主要接口,它也是持久化操作核心API,注意这里的Session的含义,它与传统意思上web层的HttpSession并没有关系,Hibernate Session之与Hibernate,相当于JDBC Connection相对与JDBC。Session对象是有生命周期的,它以Transaction对象的事务开始和结束边界。Session作为贯穿Hibernate的持久化管理器核心,提供了众多的持久化的方法,如 save(), update ,delete ,find(Hibernate 3中已经取消了此方法)等,通过这些方法我们可以透明的完成对象的增删改查(CRUD-- create read update delete),这里所谓的透明是指,Session在读取,创建和删除影射的实体对象的实 例时,这一系列的操作将被转换为对数据库表中数据的增加,修改,查询和删除操作。Session有以下的特点:1,不是线程安全的,应该避免多个线程共享同一个Session实例2,Session实例是轻量级的,所谓轻量级:是指他的创建和删除不需要消耗太多资源。3,Session对象内部有一个缓存,被称为Hibernate第一缓存,他存放被当前工作单元中加载的对象,每个Session实例都有自己的缓存。session作用:放一些这个会话需要的,公用的东西,偶尔也会来传参。seeeion 是客户端与服务器之间的会话,用来保存用户的信息。Session就是一个会话。不能使用session情况。服务器端没有开启session支持。客户端浏览器禁用了cookie。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值