我想配置OpenSessionInViewFilter
为能够在视图中使用hibernate延迟初始化,因此我在web.xml中添加了过滤器定义,但是它不起作用,我仍然遇到相同的延迟初始化异常,这是我所做的:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<display-name>MyApp</display-name>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<listener>
<listener-class>
org.springframework.web.context.request.RequestContextListener
</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:META-INF/spring/applicationContext.xml
classpath:META-INF/spring/applicationSecurity.xml
</param-value>
</context-param>
<context-param>
<param-name>javax.faces.FACELETS_LIBRARIES</param-name>
<param-value>/WEB-INF/springsecurity.taglib.xml</param-value>
</context-param>
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<welcome-file-list>
<welcome-file>/</welcome-file>
</welcome-file-list>
<context-param>
<description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>server</param-value>
</context-param>
<context-param>
<param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
<param-value>resources.application</param-value>
</context-param>
<listener>
<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
</listener>
<context-param>
<param-name>javax.faces.FACELETS_SKIP_COMMENTS</param-name>
<param-value>true</param-value>
</context-param>
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>
org.springframework.web.filter.DelegatingFilterProxy
</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
<dispatcher>ERROR</dispatcher>
</filter-mapping>
<filter>
<filter-name>Pretty Filter</filter-name>
<filter-class>com.ocpsoft.pretty.PrettyFilter</filter-class>
<init-param>
<param-name>logLevel</param-name>
<param-value>ERROR</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Pretty Filter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
<dispatcher>ERROR</dispatcher>
</filter-mapping>
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
<init-param>
<param-name>sessionFactoryBeanName</param-name>
<param-value>sessionFactory</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>Resource Servlet</servlet-name>
<servlet-class>com.icesoft.faces.webapp.CompatResourceServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Resource Servlet</servlet-name>
<url-pattern>/xmlhttp/*</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
</web-app>
applicationContext:
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="packagesToScan" value="${project.groupId}.domain" />
<!-- control the behavior of Hibernate at runtime,All are optional and have reasonable default values -->
<property name="hibernateProperties">
<value>
<!-- hibernate.dialect: allows Hibernate to generate SQL optimized for a particular relational database -->
hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
hibernate.hbm2ddl.auto=create-drop
hibernate.show_sql=true
hibernate.format_sql=true
</value>
</property>
</bean>
请告知为什么我 仍然会收到延迟初始化异常 ,谢谢。
似乎构造过滤器链的顺序取决于过滤器映射元素出现的顺序。
换句话说,请尝试将OpenSessionInViewFilter的过滤器映射放在任何其他过滤器映射之前。
祝你好运
在我的项目中,我一直在使用Spring3和Hibernate4。我已经添加了支持Spring3和Hibernate4项目的所有依赖项。我并不特定于hibernate上的版本,但它应该支持Spring3。 当我尝试在Tomcat7项目上部署时,我得到了以下异常。 原因:org。springframework。豆。工厂BeanCreationException:无法自动关联字段:私有组织。冬眠Sess
困惑: 对我来说没有代码段工作,每次我面对404,我想我错过了什么?
2.3.1 XML配置的结构 一般配置文件结构如下: <beans> <import resource=”resource1.xml”/> <bean id=”bean1”class=””></bean> <bean id=”bean2”class=””></bean> <bean name=”bean2”class=””></bean> <alias alias="bean3" name="be
Tmux 名字取自“Terminal Multiplexer”,读作“T-马克思”,是一个能够终端窗口中提供多终端会话 管理的应用,它可以在后台保持多个终端会话的运行,并在合适的时候 attach 或者 detach 会话, 以达到保持和切换会话的作用。 Tmux 的竞争对手有 GNU Screen,我没有过 Screen 的使用经验,但是根据搜索的结果 BSD 协议的 Tmux 似乎要更加自由和
我正在使用spring 3.0开发一个多租户应用程序,需要根据租户将文件上传到FTP服务器或从FTP服务器下载文件。对于每个租户,我们在同一个FTP服务器中有不同的FTP位置。您能帮助我根据租户使用spring 3配置/更改FTP位置吗。?
配置远程仓库 Gradle支持下面三种不同类型的仓库: 下图是配置不同仓库对应的Gradle API: 下面以Maven仓库来介绍,Maven仓库是Java项目中使用最为广泛的一个仓库,库文件一般是以JAR文件的形式存在,用XML(POM文件)来来描述库的元数据和它的传递依赖。所有的库文件都存储在仓库的指定位置,当你在构建脚本中声明了依赖时,这些属性用来找到库文件在仓库中的准确位置。group属性
本文向大家介绍Spring Boot使用和配置Druid,包括了Spring Boot使用和配置Druid的使用技巧和注意事项,需要的朋友参考一下 1、引入依赖包 2、配置application.properties 3、目前Spring Boot中默认支持的连接池有dbcp,dbcp2, tomcat, hikari三种连接池。 由于Druid暂时不在Spring Bootz中的直接支持,故需要
假设我已经有了一个工作的Spring项目,那么在Hibernate4中添加Spring3XML配置所需的最小配置量是多少?我希望使用基于注释的事务管理,并使用注释映射对象。 注:这是一个自我回答问题