求助大佬,整合三大框架发生:Caused by: Unable to load configuration.

木白萌 发布于 2018/07/18 22:57
阅读 280
收藏 0

具体的异常信息如下:

文件结构:

具体代码如下:

applicationContext.xml
    前略...
  <!-- 链接池 -->
    <bean name="dataSource"
        class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="${jdbc.driver}" />
        <property name="jdbcUrl" value="${jdbc.url}" />
        <property name="user" value="${jdbc.user}" />
        <property name="password" value="${jdbc.password}" />
        <property name="initialPoolSize" value="${jdbc.initPoolSize}" />
        <property name="maxPoolSize" value="${jdbc.maxPoolSize}" />
    </bean>
    <!--配置sessionFactory -->
    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="configLocation"
            value="classpath:hibernate.cfg.xml" />
    </bean>
    <bean id="employeeDao" class="com.hbsi.dao.imp.EmployeeDaoImp">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    <bean id="employeeService"
        class="com.hbsi.service.imp.EmployeeServiceImp">
        <property name="employeeDao" ref="employeeDao" />
    </bean>
    <bean id="employeeAction" class="com.hbsi.action.EmployeeAction">
        <property name="employeeService" ref="employeeService" />
    </bean>
    <!-- 1,配置hibernate的事务管理器 -->
    <bean id="transactionManager"
        class="org.springframework.orm.hibernate4.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    <!-- 2,配置事务属性 -->
    <tx:advice id="txAdvice"
        transaction-manager="transactionManager">
        <tx:attributes>
            <tx:method name="get*" read-only="true" />
            <tx:method name="*" />
        </tx:attributes>
    </tx:advice>
    <!-- 3,配置事务切入点,再把事务属性和事务切入点关联起来 -->
    <aop:config>
        <aop:pointcut
            expression="execution(* com.hbsi.service.imp.*.*(..))"
            id="txPointcut" />
        <aop:advisor advice-ref="txAdvice"
            pointcut-ref="txPointcut" />
    </aop:config>
hibernate.cfg.xml
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
        <property name="hibernate.show_sql">true</property>
        <property name="hibernate.format_sql">true</property>
        <property name="hibernate.hbm2ddl.auto">update</property>
        <mapping class="com.hbsi.dojo.Department"
            resource="com/hbsi/dojo/Department.hbm.xml" />
        <mapping class="com.hbsi.dojo.Employee"
            resource="com/hbsi/dojo/Employee.hbm.xml" />
    </session-factory>
</hibernate-configuration>
struts.xml
<struts>
    <constant name="struts.enable.DynamicMethodInvocation"
        value="false" />
    <constant name="struts.devMode" value="true" />
    <package name="employeePackage" namespace="/"
        extends="struts-portlet-default">
        <action name="emp-*" class="employeeAction" method="{1}">
            <result name="list">/WEB-INF/views/emp-list.jsp</result>
        </action>
    </package>
</struts>
 
web.xml
   <!-- Spring 配置 -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <!-- Struts2 配置 -->
    <filter>
        <filter-name>filter</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
        <init-param>
            <param-name>config</param-name>
            <param-value>struts-default.xml,/struts.xml,../../resources/struts.xml</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>filter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>

引用的jar包:

加载中
0
孤星闵月
孤星闵月
报错不是说找不到Struts配置文件么,是不是你配置文件放错地方了
木白萌
木白萌
项目中有struts.xml文件,配置文件也没放错路径
0
孤星闵月
孤星闵月
Struts配置文件里面class要写类的全路径,
孤星闵月
孤星闵月
没有按你说的那种配过,空指针action里面是不是没有set方法
木白萌
木白萌
按照您说的修改完以后,问题解决了,不过出现了空指针异常。网上有说,struts.xml中的class值不能用类的全名,需要用spring配置文件中的action的名称,否则会出现空指针异常。
0
轻描看花开
轻描看花开
web.xml里面,struts.XML配置路径有问题
0
流风回雪pj
流风回雪pj

struct.xml还有其它的配置文件都有,但是你没有指定这些文件是配置文件。一般我们会把配置文件放在resources目录下,再制定resources目录为资源目录,这样编译打包的时候就会把目录中的内容放到项目根目录下,你没有指定所以编译的时候在跟目录下找不到xml文件

0
d
duote

项目中struct.xml有问题,上面标注的是11行60列,先看看,还有就是看看你的xml是否是标准的xml,你把<action name="emp-*" class="employeeAction" method="{1}">
            <result name="list">/WEB-INF/views/emp-list.jsp</result>
        </action>

里面的class换成相应的类路径*.employeeAction   (*代表你的类所在的路径)

0
木白萌
木白萌

换了一套SSH整合jar包。这个问题已经解决了

返回顶部
顶部