ssh中session关闭的问题

问题描述

在多对多延迟加载的时候,获取用户对对应的角色时发现延迟加载无作用,已经配置了OpenSessionInViewFilter,居然没用。从开启tomcat后从页面上进去action然后进入Service这时候延迟加载有作用,正常的。但是我在spring中配置init-method执行某个方法时延迟加载就失效了,提示:noseession,session被关闭之类的话。在得到session的时候如果用getCurrentSession,就会报这种错误,改成openSession()后全部正常,但是这样做肯定不可以,太影响性能。这可怎么办?碰到这么诡异的问题。

解决方案

解决方案二:
用这个方法:getCurrentSession,那以后所有的session要你自己去处理,如果你没关,那就没有关了。
解决方案三:
无代码无真相
解决方案四:
User类:publicclassUserextendsIdEntityAUTO{//其他省略privateList<Role>roleList=newArrayList<Role>();@ManyToMany(cascade=CascadeType.ALL,fetch=FetchType.LAZY)@JoinTable(name="user_role",joinColumns={@JoinColumn(name="userid")},inverseJoinColumns={@JoinColumn(name="roleid")})}//Role类publicclassRoleextendsIdEntityAUTO{//其他略privateList<User>userList=newArrayList<User>();@ManyToMany(mappedBy="roleList")publicList<User>getUserList(){returnuserList;}}<beanid="hahaha"class="com.util.web.LoadResc"init-method="load"></bean>load方法publicvoidload(){List<User>userList=userServiceImpl.findAllUser();for(Useruser:userList){user.getRoleList;//这句的时候就报session已经关闭}}web.xml中已经在最开始就配置了:hibernateOpenSessionInViewFilter

解决方案五:
init-method是初始化bean的时候调用的,hibernateOpenSessionInViewFilter对他来说没什么作用。
解决方案六:
hibernate的问题吧,延迟加载。
解决方案七:
该回复于2010-12-07 13:28:25被版主删除
解决方案八:
不知道楼主是用hibernate哪个版本的,是2.5的还是3.0以上的,好象那个getCurrentSession()是hibernate3.0以上才提供了实现!具体不清楚,详细的自己可以去查下资料!
解决方案九:
难度不小~
解决方案十:
引用7楼goodlucktomyself的回复:

不知道楼主是用hibernate哪个版本的,是2.5的还是3.0以上的,好象那个getCurrentSession()是hibernate3.0以上才提供了实现!具体不清楚,详细的自己可以去查下资料!

我用的是3.3.2~~好像是的,通过spring启动openviewfilter就不起作用了,这下该怎么办?
解决方案十一:
学习下
解决方案十二:
呵呵,学习了
解决方案十三:
引用1楼licip的回复:

用这个方法:getCurrentSession,那以后所有的session要你自己去处理,如果你没关,那就没有关了。

可以考虑下的session这个东西本来就不好用

时间: 2024-07-29 11:35:48

ssh中session关闭的问题的相关文章

ssh中session怎么保存信息和登录状态

问题描述 ssh中session怎么保存信息和登录状态 刚接触,学着做了注册登录,对于后续的实现不明白 1.网站是怎么用session保存用户登录状态的?是不是通过在登录功能中设置一个session保存一个bool变量来保存存储状态?我本来思路如下 public String login() { List<User>users; users=service.queryUser(this.username, this.password); try { User a=users.get(0); r

求解在SSH中,打开页面时引用action,并读取在调用action后session中数据

问题描述 求解在SSH中,打开页面时引用action,并读取在调用action后session中数据 解决方案 解决方案二:Mapmap=(Map)ActionContext.getContext().get(ActionContext.SESSION);Objectobj=map.get("sessionKey");解决方案三:引用楼主a76607401的回复: 求解在SSH中,打开页面时引用action,并读取在调用action后session中数据 我就是想知道咋个在页面中引用s

PHP中session详解

session|详解 综述 Session指的就是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间.从上述的定义中我们可以看到,Session实际上是一个特定的时间概念. 一般来说,在网站上某一个页面中的变量(指服务器端变量,下同)是不能在下一页中用的,有了session就好办了.session中注册的变量可以作为全局变量使用.这样我们就可以将session用于用户身份认证,程序状态记录,页面之间参数传递. 在PHP3版本中是如何实现session

PHP开发中session应用详解

session|详解     Session指的就是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间.从上述的定义中我们可以看到,Session实际上是一个特定的时间概念. 一般来说,在网站上某一个页面中的变量(指服务器端变量,下同)是不能在下一页中用的,有了session就好办了.session中注册的变量可以作为全局变量使用.这样我们就可以将session用于用户身份认证,程序状态记录,页面之间参数传递. 在PHP3版本中是如何实现sessio

抛开Cookie使用SESSION-PHP中SESSION不能跨页传递问题的解决办法

cookie|session|解决|问题 抛开cookie使用sessionPHP中SESSION不能跨页传递问题的解决办法 在PHP中使用过SESSION的朋友可能会碰到这么一个问题,SESSION变量不能跨页传递.这令我苦恼了好些日子,最终通过查资料思考并解决了这个问题.我认为,出现这个问题的原因有以下几点:1.客户端禁用了cookie2.浏览器出现问题,暂时无法存取cookie3.php.ini中的session.use_trans_sid = 0或者编译时没有打开--enable-tra

ASP.NET中Session的状态保持方式浅议

asp.net|session ASP.NET提供了Session对象,从而允许程序员识别.存储和处理同一个浏览器对象对服务器上某个特定网络应用程序的若干次请求的上下文信息.Session对应浏览器与服务器的同一次对话,在浏览器第一请求网络应用程序的某个页面时,服务器会触发Session_onStart事件;在对话超时或者被关闭的时候会触发Session_onEnd 事件.程序员可以在代码中响应这两个事件来处理与同一次对话相关的任务,如开辟和释放该次对话要使用的资源等. 在ASP.NET的程序中

浅议ASP.NET中Session的状态保持方式

asp.net|session ASP.net提供了Session对象,从而允许程序员识别.存储和处理同一个浏览器对象对服务器上某个特定网络应用程序的若干次请求的上下文信息.Session对应浏览器与服务器的同一次对话,在浏览器第一请求网络应用程序的某个页面时,服务器会触发Session_onStart事件;在对话超时或者被关闭的时候会触发Session_onEnd 事件.程序员可以在代码中响应这两个事件来处理与同一次对话相关的任务,如开辟和释放该次对话要使用的资源等. 在ASP.NET的程序中

NHibernate中Session的处理

session NHibernate中Session是线程不安全的,而且每次数据库操作 请求创建Session时对性能有些影响.在Windows应用中可以通过 [ThreadStatic]特性很简单的就可以实现线程安全,而在Web中可以通过将Session与用于请求HttpContext绑定实现线程安全,并且用户当前请求时只有一个Session.代码如下: ISessionManage.cs using System;using NHibernate; namespace Commercial.

ASP.NET中Session的状态保持方式

asp.net|session ASP.NET提供了Session对象,从而允许程序员识别.存储和处理同一个浏览器对象对服务器上某个特定网络应用程序的若干次请求的上下文信息.Session对应浏览器与服务器的同一次对话,在浏览器第一请求网络应用程序的某个页面时,服务器会触发Session_onStart事件:在对话超时或者被关闭的时候会触发Session_onEnd 事件.程序员可以在代码中响应这两个事件来处理与同一次对话相关的任务,如开辟和释放该次对话要使用的资源等.    在ASP.NET的