2011-05-29 97 views

回答

1

请勿延伸FilterDispatcher

正如duffymo指出,如果你需要建立和拆除当前请求一个Hibernate会话,你应该使用一个拦截器。您也可以使用他链接的OpenSessionInViewInterceptor,或者如果您不使用Spring,则可以使用create your own

1

像你想拥有类似Spring的OpenSessionInViewInterceptor功能,这听起来我。如果是的话,另一个框架已经做了这样的事实表明这是一个很好的做法。

+0

我不知道春天。但问题是'FilterDispatcher'已被弃用。 – 2011-05-29 14:37:25

+0

为什么不只是一个过滤器? FilterDispatcher为您做的是什么? – duffymo 2011-05-29 14:39:23

+0

'公共无效的init(一个FilterConfig一个FilterConfig)抛出的ServletException { \t \t super.init(一个FilterConfig); \t \t尝试{ \t \t \t HibernateUtil.createSessionFactory(); \t \t \t是System.out.print( “=========应用Intialization ======”); \t \t} \t \t赶上(HibernateException的发送){ \t \t \t掷新的ServletException(); \t \t} \t}' FilterDispatcher刚刚打开一个会话。没有其他的.. – 2011-05-29 14:51:15

0

的点通常是你不想将过滤器映射到所有请求 - 例如,你不需要交易,一些网页 - 为FilterDispatcher的API文档说,

重要:此过滤器必须映射到所有请求。除非你确切地知道你在做什么,否则总是映射到这个URL模式:/ *

所以FilterDispatcher是全部或全部。这说明了一个旧的过滤器是以视图模式打开会话的更好选择。

相关问题