Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 启动应用程序时出错-Hibernate+;例子_Spring_Hibernate_Spring Mvc - Fatal编程技术网

Spring 启动应用程序时出错-Hibernate+;例子

Spring 启动应用程序时出错-Hibernate+;例子,spring,hibernate,spring-mvc,Spring,Hibernate,Spring Mvc,我有一个使用SpringMVC+hibernate的应用程序。所有测试都正常,但当我尝试使用tomcat启动应用程序时,出现了一个错误: HTTP Status 500 - type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception org.springfram

我有一个使用SpringMVC+hibernate的应用程序。所有测试都正常,但当我尝试使用tomcat启动应用程序时,出现了一个错误:

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'sessionFactory' is defined
    org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:529)
    org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1095)
    org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:277)
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
    org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1097)
    org.springframework.orm.hibernate4.support.OpenSessionInViewFilter.lookupSessionFactory(OpenSessionInViewFilter.java:156)
    org.springframework.orm.hibernate4.support.OpenSessionInViewFilter.lookupSessionFactory(OpenSessionInViewFilter.java:141)
    org.springframework.orm.hibernate4.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:105)
    org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
web.xml:


Prim-MeCito de Coutha Co o O上下文与Spring有关。本地onde se encontram os arquivos.xml do spring
上下文配置位置
类路径:*/Spring/*.xml
org.springframework.web.context.ContextLoaderListener
Filtro do Spring para uso do设计模式“视图中的开放会话”。
openSessionInViewFilter
org.springframework.orm.hibernate4.support.OpenSessionInViewFilter
sessionFactoryBeanName
会话工厂
字符编码滤波器
org.springframework.web.filter.CharacterEncodingFilter
编码
UTF-8
SpringMVCServlet
org.springframework.web.servlet.DispatcherServlet
上下文配置位置
类路径:*/Spring/springmvc-context.xml
1.
SpringMVCServlet
/
openSessionInViewFilter
SpringMVCServlet
字符编码滤波器
SpringMVCServlet
*.jsp
*.标签
UTF-8
真的

ApplicationContext.xml

。。。


br.com.infowhere.timeSheet.domain
类路径:hibernate.cfg.xml
${jdbc.dial}
真的
更新

springmvc-context.xml

。。。


有人帮我吗

谢谢

  • 确保这些文件xml文件已正确部署并位于正确位置,即
    WEB-INF/classes/spring
  • 尝试找出哪个定义有问题-例如,去掉
    OpenSessionInViewFilter
    ,看看它是否正确启动
  • 首选小写文件夹名称-
    spring
    而不是
    spring
    (和
    applicationContext
    而不是
    applicationContext
    )。这不应该干扰,但看起来与传统背道而驰
  • 一般来说,避免OSIV——如果您正确地管理实体和/或使用DTO,就不需要OSIV
<context-param>
        <description>
            Parâmentro de configuração do contexto spring. Local onde se encontram os arquivos .xml do spring
    </description>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:*/Spring/*.xml</param-value>
</context-param>

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<filter>
    <description>Filtro do Spring para uso do Design Pattern "Open Session in View".</description>
    <filter-name>openSessionInViewFilter</filter-name>
    <filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class>
    <init-param>
        <param-name>sessionFactoryBeanName</param-name>
        <param-value>sessionFactory</param-value>
    </init-param>
</filter>

<filter>
    <filter-name>CharacterEncodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
</filter>

<!-- SPRING MVC -->
<!---->
<!-- ############################################################################### -->
<!-- Configurações para o SpringMVC -->
<servlet>
    <servlet-name>SpringMVCServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            classpath:*/Spring/springmvc-context.xml
        </param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>SpringMVCServlet</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

<filter-mapping>
    <filter-name>openSessionInViewFilter</filter-name>
    <servlet-name>SpringMVCServlet</servlet-name>
</filter-mapping>

<filter-mapping>
    <filter-name>CharacterEncodingFilter</filter-name>
    <servlet-name>SpringMVCServlet</servlet-name>
</filter-mapping>

<jsp-config>
    <jsp-property-group>
        <url-pattern>*.jsp</url-pattern>
        <url-pattern>*.tag</url-pattern>
        <page-encoding>UTF-8</page-encoding>
        <trim-directive-whitespaces>true</trim-directive-whitespaces>
    </jsp-property-group>
</jsp-config>
<context:property-placeholder location="classpath:jdbc.properties" />

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"
      p:driverClassName="com.mysql.jdbc.Driver"
      p:url="${jdbc.url}"
      p:username="${jdbc.username}"
      p:password="${jdbc.password}">
</bean>

<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSource"/>
    <property name="packagesToScan">
        <list>
            <value>br.com.infowhere.timeSheet.domain</value>
        </list>
    </property>
    <property name="configLocation">
        <value>classpath:hibernate.cfg.xml</value>
    </property>
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">${jdbc.dialect}</prop>
            <prop key="hibernate.show_sql">true</prop>
            <prop key="hibernate.hbm2ddl.auto">update</prop>
        </props>
    </property>
</bean>

<bean id="transactionManager"
      class="org.springframework.orm.hibernate4.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory" />
</bean>

<tx:annotation-driven />
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
    <property name="basename" value="/WEB-INF/Resources/i18n/messages"/>
    <property name="defaultEncoding" value="UTF-8" />
</bean>

<mvc:interceptors>
    <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"/>
</mvc:interceptors>

<bean id="localeResolver"
      class="org.springframework.web.servlet.i18n.SessionLocaleResolver">
    <property name="defaultLocale" value="pt_BR"/>
</bean>

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/views/" />
    <property name="suffix" value=".jsp" />
</bean>